feat: PineAgentsWeb 官网前端应用(Vite+React SPA)

- src/ 页面与组件、public/ 静态资源
- 工程配置:vite/tsconfig/package 依赖
This commit is contained in:
2026-08-23 22:31:31 +08:00
commit e2244a3cae
246 changed files with 71176 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
## ✨ Added
- **Telegram Channel**: Implemented Telegram channel support with Bot API polling ([#147](https://github.com/agentscope-ai/CoPaw/pull/147))
- **OpenAI & Azure OpenAI Providers**: Added OpenAI and Azure OpenAI as built-in model providers ([#138](https://github.com/agentscope-ai/CoPaw/pull/138))
- **Ollama SDK Integration**: Added ollama SDK as optional dependency ([#219](https://github.com/agentscope-ai/CoPaw/pull/219))
- **Coding Plan Provider**: Added Alibaba Cloud coding-plan provider with all supported models ([#67](https://github.com/agentscope-ai/CoPaw/pull/67), [#137](https://github.com/agentscope-ai/CoPaw/pull/137))
- **Model Connection Testing**: Added API and UI to test model provider connections ([#82](https://github.com/agentscope-ai/CoPaw/pull/82))
- **Heartbeat Monitoring Panel**: Added console UI to monitor and configure system heartbeat status ([#381](https://github.com/agentscope-ai/CoPaw/pull/381))
- **CORS Configuration**: Added `COPAW_CORS_ORIGINS` environment variable for CORS origins ([#320](https://github.com/agentscope-ai/CoPaw/pull/320))
- **Audio File Support**: Extended DingTalk and Feishu channels to support audio files ([#111](https://github.com/agentscope-ai/CoPaw/pull/111))
## 🔄 Changed
- **Memory Compaction**: Refactored memory manager to use token-based message filtering with configurable compact ratio ([#102](https://github.com/agentscope-ai/CoPaw/pull/102))
- **File Block Processing**: Enhanced command handler with robust file block processing and truncation utilities ([#31](https://github.com/agentscope-ai/CoPaw/pull/31))
- **Embedding Configuration**: Added `max_cache_size`, `max_input_length`, and `max_batch_size` parameters to embedding configuration ([#129](https://github.com/agentscope-ai/CoPaw/pull/129))
- **Tool Choice Behavior**: Normalized `tool_choice=None` to `auto` when tools exist for consistent behavior across providers ([#369](https://github.com/agentscope-ai/CoPaw/pull/369))
## 🐛 Fixed
- **Windows File Paths**: Fixed file path handling in DingTalk/Feishu channels on Windows ([#69](https://github.com/agentscope-ai/CoPaw/pull/69))
- **Empty Tool Calls**: Added utility functions to handle empty tool calls and responses ([#108](https://github.com/agentscope-ai/CoPaw/pull/108))
- **Console Workspace UI**: Restored workspace resize, added import loading feedback, and fixed markdown overflow ([#58](https://github.com/agentscope-ai/CoPaw/pull/58), [#112](https://github.com/agentscope-ai/CoPaw/pull/112), [#285](https://github.com/agentscope-ai/CoPaw/pull/285))
- **Ollama Base URL**: Normalized Ollama base_url to automatically append `/v1` when missing ([#190](https://github.com/agentscope-ai/CoPaw/pull/190))
- **Ollama Connectivity**: Return 503 status when Ollama service is unreachable ([#188](https://github.com/agentscope-ai/CoPaw/pull/188))
- **MCP Transport Config**: Extended MCP client configuration to support streamable HTTP/SSE transport ([#198](https://github.com/agentscope-ai/CoPaw/pull/198))
- **Browser Resource Leak**: Implemented idle watchdog to stop browser after 30 minutes of inactivity ([#171](https://github.com/agentscope-ai/CoPaw/pull/171))
- **Static Asset MIME Types**: Added explicit MIME type mappings for static assets ([#347](https://github.com/agentscope-ai/CoPaw/pull/347))
- **API Request Headers**: Fixed content-type handling in API requests ([#316](https://github.com/agentscope-ai/CoPaw/pull/316))
- **Playwright Docker**: Fixed Playwright dependencies and browser initialization in Docker ([#349](https://github.com/agentscope-ai/CoPaw/pull/349))
- **Heartbeat File Parsing**: Fixed heartbeat file parsing to prevent data loss ([#385](https://github.com/agentscope-ai/CoPaw/pull/385))
- **Media Message Queuing**: Fixed queuing of pure media messages without text ([#389](https://github.com/agentscope-ai/CoPaw/pull/389))
## 📚 Documentation
- **Installation Scripts**: Migrated installation scripts to copaw.agentscope.io with PowerShell support ([#37](https://github.com/agentscope-ai/CoPaw/pull/37), [#40](https://github.com/agentscope-ai/CoPaw/pull/40), [#42](https://github.com/agentscope-ai/CoPaw/pull/42))
- **Docker Guide**: Added Docker installation instructions to documentation and README ([#355](https://github.com/agentscope-ai/CoPaw/pull/355))
- **Channel CLI**: Documented channel management CLI commands ([#36](https://github.com/agentscope-ai/CoPaw/pull/36))
- **Feishu Proxy**: Documented python-socks dependency for Feishu SOCKS proxy ([#59](https://github.com/agentscope-ai/CoPaw/pull/59))
- **MCP & Runtime**: Added MCP client and runtime configuration documentation ([#30](https://github.com/agentscope-ai/CoPaw/pull/30))
- **FAQ Section**: Created FAQ pages in English and Chinese ([#50](https://github.com/agentscope-ai/CoPaw/pull/50))
- **Skill Writing**: Added guide for writing effective skill descriptions ([#294](https://github.com/agentscope-ai/CoPaw/pull/294))
- **Contributing**: Updated CONTRIBUTING.md with current practices ([#343](https://github.com/agentscope-ai/CoPaw/pull/343))
- **Console**: Added console UI documentation and screenshots ([#27](https://github.com/agentscope-ai/CoPaw/pull/27))
- **Website**: Fixed anchor links, added sidebar icons, optimized mobile layout ([#32](https://github.com/agentscope-ai/CoPaw/pull/32), [#34](https://github.com/agentscope-ai/CoPaw/pull/34), [#89](https://github.com/agentscope-ai/CoPaw/pull/89), [#90](https://github.com/agentscope-ai/CoPaw/pull/90), [#97](https://github.com/agentscope-ai/CoPaw/pull/97), [#126](https://github.com/agentscope-ai/CoPaw/pull/126), [#131](https://github.com/agentscope-ai/CoPaw/pull/131), [#327](https://github.com/agentscope-ai/CoPaw/pull/327))
+45
View File
@@ -0,0 +1,45 @@
## ✨ 新增功能
- **Telegram 频道**:支持通过 Bot API 轮询方式接入 Telegram ([#147](https://github.com/agentscope-ai/CoPaw/pull/147))
- **OpenAI 和 Azure OpenAI**:内置支持 OpenAI 和 Azure OpenAI 模型 ([#138](https://github.com/agentscope-ai/CoPaw/pull/138))
- **Ollama SDK**:将 Ollama SDK 作为可选依赖项引入 ([#219](https://github.com/agentscope-ai/CoPaw/pull/219))
- **通义千问编程版**:接入阿里云通义千问编程版及其全部模型 ([#67](https://github.com/agentscope-ai/CoPaw/pull/67), [#137](https://github.com/agentscope-ai/CoPaw/pull/137))
- **模型连接测试**:提供 API 和 UI 界面测试模型服务连通性 ([#82](https://github.com/agentscope-ai/CoPaw/pull/82))
- **心跳监控面板**:在控制台新增心跳状态监控与配置界面 ([#381](https://github.com/agentscope-ai/CoPaw/pull/381))
- **CORS 配置**:新增 `COPAW_CORS_ORIGINS` 环境变量配置跨域请求来源 ([#320](https://github.com/agentscope-ai/CoPaw/pull/320))
- **音频文件支持**:钉钉和飞书频道现已支持音频文件收发 ([#111](https://github.com/agentscope-ai/CoPaw/pull/111))
## 🔄 优化改进
- **记忆压缩**:重构记忆管理器,采用基于 token 的消息过滤机制,支持自定义压缩比例 ([#102](https://github.com/agentscope-ai/CoPaw/pull/102))
- **文件块处理**:增强命令处理器,提供更稳健的文件块处理和截断能力 ([#31](https://github.com/agentscope-ai/CoPaw/pull/31))
- **嵌入配置**:支持配置 `max_cache_size`、`max_input_length` 和 `max_batch_size` 参数 ([#129](https://github.com/agentscope-ai/CoPaw/pull/129))
- **工具调用规范化**:统一将 `tool_choice=None` 转换为 `auto`,保证跨模型提供商的行为一致性 ([#369](https://github.com/agentscope-ai/CoPaw/pull/369))
## 🐛 问题修复
- **Windows 文件路径**:修复钉钉/飞书频道在 Windows 系统下的文件路径处理 ([#69](https://github.com/agentscope-ai/CoPaw/pull/69))
- **空工具调用处理**:新增工具函数处理空调用和空响应场景 ([#108](https://github.com/agentscope-ai/CoPaw/pull/108))
- **控制台工作区**:恢复工作区大小调整功能,新增导入加载提示,修复 Markdown 内容溢出 ([#58](https://github.com/agentscope-ai/CoPaw/pull/58), [#112](https://github.com/agentscope-ai/CoPaw/pull/112), [#285](https://github.com/agentscope-ai/CoPaw/pull/285))
- **Ollama 地址规范化**:自动为 Ollama base_url 补充缺失的 `/v1` 路径 ([#190](https://github.com/agentscope-ai/CoPaw/pull/190))
- **Ollama 服务检测**:Ollama 服务不可用时正确返回 503 状态码 ([#188](https://github.com/agentscope-ai/CoPaw/pull/188))
- **MCP 传输扩展**:MCP 客户端支持 HTTP/SSE 流式传输协议 ([#198](https://github.com/agentscope-ai/CoPaw/pull/198))
- **浏览器资源管理**:新增空闲监控,闲置 30 分钟后自动关闭浏览器进程 ([#171](https://github.com/agentscope-ai/CoPaw/pull/171))
- **静态资源类型**:为静态文件明确指定 MIME 类型映射 ([#347](https://github.com/agentscope-ai/CoPaw/pull/347))
- **API 请求头**:修复 API 请求的 content-type 处理逻辑 ([#316](https://github.com/agentscope-ai/CoPaw/pull/316))
- **Playwright Docker 部署**:修复 Docker 环境中 Playwright 依赖和浏览器初始化问题 ([#349](https://github.com/agentscope-ai/CoPaw/pull/349))
- **心跳文件解析**:修复解析错误导致的数据丢失 ([#385](https://github.com/agentscope-ai/CoPaw/pull/385))
- **纯媒体消息**:修复无文本的纯媒体消息排队异常 ([#389](https://github.com/agentscope-ai/CoPaw/pull/389))
## 📚 文档
- **安装脚本**:迁移至 copaw.agentscope.io,新增 PowerShell 支持 ([#37](https://github.com/agentscope-ai/CoPaw/pull/37), [#40](https://github.com/agentscope-ai/CoPaw/pull/40), [#42](https://github.com/agentscope-ai/CoPaw/pull/42))
- **Docker 部署**:补充 Docker 安装教程 ([#355](https://github.com/agentscope-ai/CoPaw/pull/355))
- **频道管理 CLI**:完善频道管理命令行工具文档 ([#36](https://github.com/agentscope-ai/CoPaw/pull/36))
- **飞书代理配置**:说明使用 SOCKS 代理时需安装 python-socks ([#59](https://github.com/agentscope-ai/CoPaw/pull/59))
- **MCP 配置**:新增 MCP 客户端和运行时配置说明 ([#30](https://github.com/agentscope-ai/CoPaw/pull/30))
- **常见问题**:新建中英文 FAQ 页面 ([#50](https://github.com/agentscope-ai/CoPaw/pull/50))
- **技能开发**:提供技能编写最佳实践指南 ([#294](https://github.com/agentscope-ai/CoPaw/pull/294))
- **贡献指南**:更新 CONTRIBUTING.md 适配当前开发流程 ([#343](https://github.com/agentscope-ai/CoPaw/pull/343))
- **控制台使用**:新增控制台界面使用说明和截图 ([#27](https://github.com/agentscope-ai/CoPaw/pull/27))
- **官网优化**:修复锚点跳转,新增侧边栏图标,优化移动端显示 ([#32](https://github.com/agentscope-ai/CoPaw/pull/32), [#34](https://github.com/agentscope-ai/CoPaw/pull/34), [#89](https://github.com/agentscope-ai/CoPaw/pull/89), [#90](https://github.com/agentscope-ai/CoPaw/pull/90), [#97](https://github.com/agentscope-ai/CoPaw/pull/97), [#126](https://github.com/agentscope-ai/CoPaw/pull/126), [#131](https://github.com/agentscope-ai/CoPaw/pull/131), [#327](https://github.com/agentscope-ai/CoPaw/pull/327))
+128
View File
@@ -0,0 +1,128 @@
## ✨ Added
**Channel & Communication**
- **Channel Management System**: Comprehensive channel customization with filter tabs (All/Built-in/Custom), dynamic custom-field editor, and channel type badges ([#615](https://github.com/agentscope-ai/CoPaw/pull/615))
- **Message Filtering**: Per-channel configuration to hide tool execution steps and thinking content, showing only final results for cleaner chat experience ([#449](https://github.com/agentscope-ai/CoPaw/pull/449), [#704](https://github.com/agentscope-ai/CoPaw/pull/704))
- **Twilio Voice Channel**: Voice channel integration with Cloudflare tunnel support ([#38](https://github.com/agentscope-ai/CoPaw/pull/38))
- **Telegram CLI Configuration**: Interactive command-line tool for configuring Telegram channels with bot token, prefix, proxy settings, and typing indicators ([#529](https://github.com/agentscope-ai/CoPaw/pull/529))
- **DingTalk Enhancements**:
- Rich text image support ([#471](https://github.com/agentscope-ai/CoPaw/pull/471))
- Message deduplication using ID tracking and content hashing ([#489](https://github.com/agentscope-ai/CoPaw/pull/489))
- Access control with `open` and `allow_from` parameters for DM and group chats ([#661](https://github.com/agentscope-ai/CoPaw/pull/661))
- **iMessage Attachments**: Support for sending images, audio, and video files ([#386](https://github.com/agentscope-ai/CoPaw/pull/386))
**Model & AI Features**
- **DeepSeek Reasoner Support**: Preserved `reasoning_content` in message formatting for reasoner mode with tool calls ([#707](https://github.com/agentscope-ai/CoPaw/pull/707))
- **Model Provider Discovery**: Automatic model discovery with status indicators; added Anthropic as built-in provider ([#408](https://github.com/agentscope-ai/CoPaw/pull/408))
- **Custom Model Headers**: Support for custom HTTP headers in model API requests ([#740](https://github.com/agentscope-ai/CoPaw/pull/740))
**System & Management**
- **Version Update Notification**: Automatic version detection with update badge, modal instructions, and navigation links to docs/FAQ/changelog ([#715](https://github.com/agentscope-ai/CoPaw/pull/715))
- **Daemon Mode**: Added `copaw daemon` CLI for managing background service (status, restart, reload-config, version, logs) ([#597](https://github.com/agentscope-ai/CoPaw/pull/597))
- **Agent Interruption API**: Added `interrupt()` method to cancel active reply tasks with proper cleanup ([#728](https://github.com/agentscope-ai/CoPaw/pull/728))
- **/message Command**: View specific messages by index in conversation history ([#638](https://github.com/agentscope-ai/CoPaw/pull/638))
- **MCP Client Auto-Recovery**: Automatic reconnect/rebuild for closed MCP sessions with graceful fallback ([#431](https://github.com/agentscope-ai/CoPaw/pull/431))
**Installation & Platform**
- **Windows Installation Script**: One-click installation with `install.bat` script ([#742](https://github.com/agentscope-ai/CoPaw/pull/742), [#484](https://github.com/agentscope-ai/CoPaw/pull/484))
- **Channel Documentation Links**: Quick access "Doc" buttons on each channel card ([#556](https://github.com/agentscope-ai/CoPaw/pull/556))
## 🔄 Changed
**Memory & Performance**
- **Memory System Evolution**: Migrated to reme-ai 0.3.0.3 with vLLM embedding support, simplified management and improved token counting ([#383](https://github.com/agentscope-ai/CoPaw/pull/383), [#566](https://github.com/agentscope-ai/CoPaw/pull/566))
- **Memory Compaction**: Enhanced auto-compaction with better context size estimation for more accurate memory management ([#547](https://github.com/agentscope-ai/CoPaw/pull/547))
- **Optional Channel Loading**: Lazy loading mechanism for optional channels to reduce startup time and memory footprint ([#596](https://github.com/agentscope-ai/CoPaw/pull/596))
- **ModelScope MLX Optimization**: Download full ModelScope snapshot for improved MLX model loading reliability ([#602](https://github.com/agentscope-ai/CoPaw/pull/602))
**Console & UI**
- **Console UI Enhancements**:
- Request cancellation support for in-progress chat requests ([#545](https://github.com/agentscope-ai/CoPaw/pull/545))
- Collapsible sidebar with auto-expanding menu groups ([#567](https://github.com/agentscope-ai/CoPaw/pull/567), [#663](https://github.com/agentscope-ai/CoPaw/pull/663))
- Improved frontend build experience with clearer error messages ([#588](https://github.com/agentscope-ai/CoPaw/pull/588))
- **Filter Configuration**: Console now properly respects `filter_tool_messages` and `filter_thinking` settings ([#744](https://github.com/agentscope-ai/CoPaw/pull/744))
- **Cron Task UI**: Redesigned interface with structured sections, tooltips, and help links ([#595](https://github.com/agentscope-ai/CoPaw/pull/595))
**Models & Providers**
- **OpenAI Model IDs**: Corrected model list by replacing invalid `gpt-5-chat` with `gpt-5` and adding `gpt-5.2` ([#498](https://github.com/agentscope-ai/CoPaw/pull/498))
- **Provider Status Logic**: Simplified to unified `available`/`unavailable` status, removing redundant `has_api_key` field ([#442](https://github.com/agentscope-ai/CoPaw/pull/442))
- **Ollama Timeout Management**: Configurable timeouts for Ollama operations to prevent hanging ([#427](https://github.com/agentscope-ai/CoPaw/pull/427), [#634](https://github.com/agentscope-ai/CoPaw/pull/634))
**Tools & Integrations**
- **Browser Tool**: System browser detection with automatic fallback to WebKit on macOS; improved installation workflow ([#451](https://github.com/agentscope-ai/CoPaw/pull/451))
- **Skill Hub**: Enhanced GitHub API error handling with better rate limit hints and smarter default branch detection ([#506](https://github.com/agentscope-ai/CoPaw/pull/506))
- **Heartbeat Behavior**: Updated documentation to encourage context-aware meaningful heartbeat responses instead of mechanical replies ([#599](https://github.com/agentscope-ai/CoPaw/pull/599))
## 🐛 Fixed
**Critical Fixes**
- **Configuration Persistence** (Docker users): Fixed configuration loss on container restart by moving `providers.json` and `envs.json` to persistent `SECRET_DIR` with automatic migration and security hardening ([#346](https://github.com/agentscope-ai/CoPaw/pull/346), [#345](https://github.com/agentscope-ai/CoPaw/pull/345))
- **Ollama Base URL**: Fixed `base_url` configuration not being respected; added host parameter support to all Ollama operations ([#683](https://github.com/agentscope-ai/CoPaw/pull/683))
**Channel Fixes**
- **DingTalk**: Fixed webhook handling to prevent stale session reuse ([#446](https://github.com/agentscope-ai/CoPaw/pull/446))
- **Feishu**: Fixed cron task message delivery with correct channel metadata and receiver IDs ([#464](https://github.com/agentscope-ai/CoPaw/pull/464))
- **QQ**: Added URL filtering to prevent QQ API errors when messages contain links ([#362](https://github.com/agentscope-ai/CoPaw/pull/362))
- **Telegram**: Fixed typing indicator continuous display and added typing loop timeout with stop() race condition fix ([#640](https://github.com/agentscope-ai/CoPaw/pull/640), [#686](https://github.com/agentscope-ai/CoPaw/pull/686))
**Model & Provider Fixes**
- **OpenAI-Compatible Providers**:
- Fixed multi-turn chat failures by removing unsupported top-level `name` fields ([#452](https://github.com/agentscope-ai/CoPaw/pull/452))
- Fixed streaming tool-call chunk crashes with stream sanitizer ([#488](https://github.com/agentscope-ai/CoPaw/pull/488))
- **Console Model Provider Handling**: Graceful handling of unknown provider IDs with non-blocking model test execution ([#655](https://github.com/agentscope-ai/CoPaw/pull/655))
**Platform-Specific Fixes**
- **Windows**:
- Fixed subprocess compatibility issues on Windows 11 + Python 3.13 ([#622](https://github.com/agentscope-ai/CoPaw/pull/622))
- Fixed browser automation issues by using synchronous Playwright in reload mode ([#732](https://github.com/agentscope-ai/CoPaw/pull/732))
- **Shell Command Timeout**: Enforced timeout around `communicate()` to prevent hangs when child processes keep pipes open ([#672](https://github.com/agentscope-ai/CoPaw/pull/672))
- **Local File Handling**: Fixed audio/image/video file path handling in agentscope integration ([#627](https://github.com/agentscope-ai/CoPaw/pull/627))
**System & UI Fixes**
- **Console TypeScript Build**: Resolved TS2352 error in ChannelCard component with runtime type checks ([#687](https://github.com/agentscope-ai/CoPaw/pull/687))
- **MCP Client**:
- Fixed long client names overflowing by adding ellipsis and tooltip ([#540](https://github.com/agentscope-ai/CoPaw/pull/540))
- Prevented app startup failure when MCP client initialization fails with graceful error handling ([#727](https://github.com/agentscope-ai/CoPaw/pull/727))
- **Tool System**: Fixed "already registered in toolkit" errors with automatic duplicate handling ([#438](https://github.com/agentscope-ai/CoPaw/pull/438))
- **AgentScope Compatibility**: Updated compatibility layer for AgentScope 1.0.16 release ([#699](https://github.com/agentscope-ai/CoPaw/pull/699))
- **CLI Commands**: Removed redundant provider validation in `config key` command ([#457](https://github.com/agentscope-ai/CoPaw/pull/457))
## 📚 Documentation
**Guides & Tutorials**
- **Model Configuration Guide**: Comprehensive documentation for cloud providers, local models (llama.cpp/MLX), and Ollama (EN/ZH) ([#630](https://github.com/agentscope-ai/CoPaw/pull/630))
- **Docker + Ollama Guide**: Connecting CoPaw in Docker to host Ollama with two connection methods (EN/JA/ZH) ([#696](https://github.com/agentscope-ai/CoPaw/pull/696))
- **Cron Task Troubleshooting**: Detailed FAQ section for scheduled task debugging with step-by-step guide and screenshots ([#721](https://github.com/agentscope-ai/CoPaw/pull/721))
- **Telegram Setup Guide**: Complete Telegram channel documentation covering bot registration, configuration, and proxy settings ([#592](https://github.com/agentscope-ai/CoPaw/pull/592))
- **iMessage Channel Guide**: Complete iMessage channel setup and usage documentation ([#748](https://github.com/agentscope-ai/CoPaw/pull/748))
**Internationalization & Navigation**
- **Japanese README**: Complete Japanese translation with cross-language links ([#354](https://github.com/agentscope-ai/CoPaw/pull/354))
- **FAQ Section**: Added FAQ page links to all README files ([#601](https://github.com/agentscope-ai/CoPaw/pull/601))
- **Roadmap Documentation**: Project roadmap and community contribution guidelines with bilingual support ([#428](https://github.com/agentscope-ai/CoPaw/pull/428), [#439](https://github.com/agentscope-ai/CoPaw/pull/439))
**Website & Resources**
- **Release Notes System**: Integrated release notes display in website for better version tracking ([#724](https://github.com/agentscope-ai/CoPaw/pull/724))
- **Contributors Section**: Added contributors visualization to README files across all languages ([#650](https://github.com/agentscope-ai/CoPaw/pull/650))
- **Docker Security Updates**: Changed default Docker port binding to `127.0.0.1` for improved security; refreshed DingTalk QR code ([#681](https://github.com/agentscope-ai/CoPaw/pull/681))
## 🔧 CI/CD
- **First-Time Contributor Labeling**: Automated workflow to label PRs from first-time contributors ([#533](https://github.com/agentscope-ai/CoPaw/pull/533))
- **Contributing Guidelines**: Updated PR template to require pre-commit checks and strengthened contribution guidelines ([#421](https://github.com/agentscope-ai/CoPaw/pull/421))
+128
View File
@@ -0,0 +1,128 @@
## ✨ 新增功能
**频道与通信**
- **频道管理系统**:全面的频道自定义管理,支持按类型筛选(全部/内置/自定义)、动态字段编辑器和频道类型标识 ([#615](https://github.com/agentscope-ai/CoPaw/pull/615))
- **消息过滤机制**:按频道配置隐藏工具执行过程和思考内容,仅展示最终结果,让聊天体验更清爽 ([#449](https://github.com/agentscope-ai/CoPaw/pull/449), [#704](https://github.com/agentscope-ai/CoPaw/pull/704))
- **Twilio 语音频道**:接入 Twilio 语音服务,支持通过 Cloudflare 隧道进行安全连接 ([#38](https://github.com/agentscope-ai/CoPaw/pull/38))
- **Telegram CLI 配置**:提供命令行交互式配置工具,支持设置机器人令牌、前缀、代理和打字提示 ([#529](https://github.com/agentscope-ai/CoPaw/pull/529))
- **钉钉功能增强**:
- 富文本消息支持插入图片 ([#471](https://github.com/agentscope-ai/CoPaw/pull/471))
- 通过消息 ID 追踪和内容哈希实现去重,避免重复处理钉钉重发的消息 ([#489](https://github.com/agentscope-ai/CoPaw/pull/489))
- 支持配置 `open` 和 `allow_from` 参数,精细控制私聊和群聊访问权限 ([#661](https://github.com/agentscope-ai/CoPaw/pull/661))
- **iMessage 附件支持**:iMessage 频道支持发送图片、音频和视频文件 ([#386](https://github.com/agentscope-ai/CoPaw/pull/386))
**模型与 AI 功能**
- **DeepSeek 推理模式**:支持 DeepSeek Reasoner 模型,保留推理过程(`reasoning_content`),兼容工具调用场景 ([#707](https://github.com/agentscope-ai/CoPaw/pull/707))
- **模型自动发现**:支持自动检测可用模型,显示提供商状态;内置 Anthropic 提供商 ([#408](https://github.com/agentscope-ai/CoPaw/pull/408))
- **自定义模型请求头**:模型 API 请求支持添加自定义 HTTP 请求头 ([#740](https://github.com/agentscope-ai/CoPaw/pull/740))
**系统与管理**
- **版本更新提醒**:自动检测新版本,在侧边栏显示更新徽章,点击可查看详细更新说明,并快速跳转到文档、FAQ 和更新日志 ([#715](https://github.com/agentscope-ai/CoPaw/pull/715))
- **守护进程模式**:新增 `copaw daemon` 命令管理后台服务,支持查看状态、重启、重载配置、查询版本和查看日志 ([#597](https://github.com/agentscope-ai/CoPaw/pull/597))
- **智能体中断功能**:提供 `interrupt()` 方法主动取消正在执行的回复任务,确保资源正确释放 ([#728](https://github.com/agentscope-ai/CoPaw/pull/728))
- **/message 命令**:通过消息索引快速查看对话历史中的指定消息 ([#638](https://github.com/agentscope-ai/CoPaw/pull/638))
- **MCP 客户端自动恢复**:MCP 会话断开时自动重连并重建,失败时优雅降级,避免覆盖会话状态 ([#431](https://github.com/agentscope-ai/CoPaw/pull/431))
**安装与平台**
- **Windows 一键安装**:提供 `install.bat` 批处理脚本,Windows 用户双击即可安装 ([#742](https://github.com/agentscope-ai/CoPaw/pull/742), [#484](https://github.com/agentscope-ai/CoPaw/pull/484))
- **频道文档快捷入口**:各频道卡片新增"文档"按钮,一键跳转配置指南 ([#556](https://github.com/agentscope-ai/CoPaw/pull/556))
## 🔄 优化改进
**记忆与性能**
- **记忆系统升级**:升级至 reme-ai 0.3.0.3,支持 vLLM 嵌入,简化管理并优化 token 计数 ([#383](https://github.com/agentscope-ai/CoPaw/pull/383), [#566](https://github.com/agentscope-ai/CoPaw/pull/566))
- **记忆压缩优化**:优化自动压缩算法,更精准地估算上下文总大小,提升记忆管理准确度 ([#547](https://github.com/agentscope-ai/CoPaw/pull/547))
- **按需加载频道**:可选频道采用懒加载机制,减少启动时间和内存占用 ([#596](https://github.com/agentscope-ai/CoPaw/pull/596))
- **MLX 模型优化**:下载 ModelScope 完整快照,提升 MLX 模型的加载稳定性 ([#602](https://github.com/agentscope-ai/CoPaw/pull/602))
**控制台与界面**
- **控制台功能增强**:
- 支持取消进行中的聊天请求 ([#545](https://github.com/agentscope-ai/CoPaw/pull/545))
- 侧边栏支持折叠展开,展开时所有菜单组自动打开 ([#567](https://github.com/agentscope-ai/CoPaw/pull/567), [#663](https://github.com/agentscope-ai/CoPaw/pull/663))
- 优化前端构建流程,资源缺失时提供更明确的提示 ([#588](https://github.com/agentscope-ai/CoPaw/pull/588))
- **过滤配置生效**:控制台现在正确应用 `filter_tool_messages` 和 `filter_thinking` 配置 ([#744](https://github.com/agentscope-ai/CoPaw/pull/744))
- **定时任务界面**:重新设计 UI,采用结构化布局、提示文案和帮助文档链接,提升易用性 ([#595](https://github.com/agentscope-ai/CoPaw/pull/595))
**模型与提供商**
- **OpenAI 模型列表**:修正模型 ID,将无效的 `gpt-5-chat` 替换为 `gpt-5`,新增 `gpt-5.2` ([#498](https://github.com/agentscope-ai/CoPaw/pull/498))
- **提供商状态简化**:统一为 `available`/`unavailable` 状态,移除冗余的 `has_api_key` 字段 ([#442](https://github.com/agentscope-ai/CoPaw/pull/442))
- **Ollama 超时配置**:支持为 Ollama 操作设置超时时间,避免请求挂起 ([#427](https://github.com/agentscope-ai/CoPaw/pull/427), [#634](https://github.com/agentscope-ai/CoPaw/pull/634))
**工具与集成**
- **浏览器工具**:支持系统浏览器检测,macOS 上自动回退至 WebKit;优化安装流程并改进错误提示 ([#451](https://github.com/agentscope-ai/CoPaw/pull/451))
- **技能中心**:优化 GitHub API 错误处理,提供更清晰的速率限制提示和更智能的默认分支检测 ([#506](https://github.com/agentscope-ai/CoPaw/pull/506))
- **心跳回复**:更新文档,建议提供有上下文的个性化心跳回复,避免机械式应答 ([#599](https://github.com/agentscope-ai/CoPaw/pull/599))
## 🐛 问题修复
**核心修复**
- **配置持久化**(Docker 用户重点关注):修复容器重启后配置丢失问题,将 `providers.json` 和 `envs.json` 迁移至持久化目录 `SECRET_DIR`,支持自动迁移和安全加固 ([#346](https://github.com/agentscope-ai/CoPaw/pull/346), [#345](https://github.com/agentscope-ai/CoPaw/pull/345))
- **Ollama 连接配置**:修复 `base_url` 配置不生效的问题,所有 Ollama 操作现在支持指定服务器地址 ([#683](https://github.com/agentscope-ai/CoPaw/pull/683))
**频道修复**
- **钉钉**:修复 webhook 处理逻辑,避免复用过期会话 ([#446](https://github.com/agentscope-ai/CoPaw/pull/446))
- **飞书**:修复定时任务消息投递,正确附加频道元数据和接收者 ID ([#464](https://github.com/agentscope-ai/CoPaw/pull/464))
- **QQ**:过滤消息中的 URL 以避免触发 QQ API 错误 ([#362](https://github.com/agentscope-ai/CoPaw/pull/362))
- **Telegram**:修复智能体处理时打字提示持续显示的问题,添加打字提示超时保护,修复频道关闭时的竞态条件 ([#640](https://github.com/agentscope-ai/CoPaw/pull/640), [#686](https://github.com/agentscope-ai/CoPaw/pull/686))
**模型与提供商修复**
- **OpenAI 兼容提供商**:
- 修复多轮对话失败,移除消息中不支持的顶层 `name` 字段 ([#452](https://github.com/agentscope-ai/CoPaw/pull/452))
- 修复流式工具调用数据格式错误导致的崩溃,新增流数据清理器 ([#488](https://github.com/agentscope-ai/CoPaw/pull/488))
- **控制台模型提供商处理**:控制台遇到未知提供商时不再阻塞,模型测试异步执行 ([#655](https://github.com/agentscope-ai/CoPaw/pull/655))
**平台特定修复**
- **Windows**:
- 修复 Windows 11 + Python 3.13 环境下的子进程兼容性问题 ([#622](https://github.com/agentscope-ai/CoPaw/pull/622))
- 修复浏览器自动化问题,Windows 重载模式下使用同步 Playwright ([#732](https://github.com/agentscope-ai/CoPaw/pull/732))
- **Shell 命令卡死**:强制执行超时机制,避免子进程占用管道导致命令挂起 ([#672](https://github.com/agentscope-ai/CoPaw/pull/672))
- **本地文件路径**:修复 agentscope 集成中音频/图片/视频本地文件路径处理 ([#627](https://github.com/agentscope-ai/CoPaw/pull/627))
**系统与界面修复**
- **控制台编译错误**:解决 ChannelCard 组件的 TypeScript 类型错误,改用运行时类型检查 ([#687](https://github.com/agentscope-ai/CoPaw/pull/687))
- **MCP 客户端**:
- 修复长名称溢出显示问题,添加省略号和悬停提示 ([#540](https://github.com/agentscope-ai/CoPaw/pull/540))
- MCP 客户端初始化失败不再导致应用启动失败,通过优雅降级确保应用正常运行 ([#727](https://github.com/agentscope-ai/CoPaw/pull/727))
- **工具系统**:修复"工具已在工具包中注册"错误,支持自动处理重复注册 ([#438](https://github.com/agentscope-ai/CoPaw/pull/438))
- **AgentScope 版本兼容**:适配 AgentScope 1.0.16 正式版 ([#699](https://github.com/agentscope-ai/CoPaw/pull/699))
- **CLI 命令**:移除 `config key` 命令中多余的提供商验证 ([#457](https://github.com/agentscope-ai/CoPaw/pull/457))
## 📚 文档
**指南与教程**
- **模型配置文档**:提供云服务提供商、本地模型(llama.cpp/MLX)及 Ollama 的完整配置教程(中英文版本) ([#630](https://github.com/agentscope-ai/CoPaw/pull/630))
- **Docker + Ollama 打通指南**:如何让 Docker 容器中的 CoPaw 访问宿主机的 Ollama 服务,提供两种连接方案(中英日三语) ([#696](https://github.com/agentscope-ai/CoPaw/pull/696))
- **定时任务排查手册**:定时任务不生效?手把手教你排查,配截图说明 ([#721](https://github.com/agentscope-ai/CoPaw/pull/721))
- **Telegram 配置指南**:提供 Telegram 频道完整配置文档,包括机器人注册、配置和代理设置 ([#592](https://github.com/agentscope-ai/CoPaw/pull/592))
- **iMessage 使用指南**:iMessage 频道从配置到使用的完整文档 ([#748](https://github.com/agentscope-ai/CoPaw/pull/748))
**国际化与导航**
- **日文文档**:新增日文 README 完整翻译,支持跨语言跳转 ([#354](https://github.com/agentscope-ai/CoPaw/pull/354))
- **FAQ 入口**:所有 README 文件添加常见问题页面链接 ([#601](https://github.com/agentscope-ai/CoPaw/pull/601))
- **项目路线图**:在官网和 README 发布产品路线图和社区贡献指南,提供中英双语版本 ([#428](https://github.com/agentscope-ai/CoPaw/pull/428), [#439](https://github.com/agentscope-ai/CoPaw/pull/439))
**网站与资源**
- **版本发布记录**:网站集成版本更新日志,历史版本一目了然 ([#724](https://github.com/agentscope-ai/CoPaw/pull/724))
- **贡献者墙**:README 展示所有贡献者头像,感谢每一位参与者 ([#650](https://github.com/agentscope-ai/CoPaw/pull/650))
- **Docker 安全加固**:默认端口绑定改为 `127.0.0.1`,仅允许本机访问,钉钉二维码同步更新 ([#681](https://github.com/agentscope-ai/CoPaw/pull/681))
## 🔧 CI/CD
- **首次贡献者标签**:自动为首次贡献者的 PR 打上标签 ([#533](https://github.com/agentscope-ai/CoPaw/pull/533))
- **贡献规范**:PR 模板强制要求通过 pre-commit 检查,优化贡献指南 ([#421](https://github.com/agentscope-ai/CoPaw/pull/421))
+92
View File
@@ -0,0 +1,92 @@
## ✨ Added
**Desktop Applications**
- **Native Desktop Installers**: One-click installer for Windows and standalone `.app` bundle for macOS, using conda-pack for portable Python environments with automated GitHub Actions release workflow ([#843](https://github.com/agentscope-ai/CoPaw/pull/843))
- **Desktop Launch Command**: New `copaw desktop` command opens CoPaw in native webview window with automatic server startup and port management ([#843](https://github.com/agentscope-ai/CoPaw/pull/843))
**Internationalization**
- **Russian Language**: Complete translation across console UI, agent configuration files, and initialization command language selection ([#829](https://github.com/agentscope-ai/CoPaw/pull/829), [#854](https://github.com/agentscope-ai/CoPaw/pull/854), [#948](https://github.com/agentscope-ai/CoPaw/pull/948))
- **Japanese Language**: Full console UI translation with language switcher integration ([#912](https://github.com/agentscope-ai/CoPaw/pull/912))
**Channel & Communication**
- **Telegram Access Control**: DM/group access policies with user allowlists and custom denial messages; Markdown-to-HTML conversion with plain text fallback ([#911](https://github.com/agentscope-ai/CoPaw/pull/911))
- **QQ Markdown Support**: Rich markdown messages with validation-aware fallback to plain text, preventing duplicate sends ([#790](https://github.com/agentscope-ai/CoPaw/pull/790))
- **QQ Rich Media**: Attachment download and parsing for images, videos, audio, and files with MIME type detection and configurable media directory ([#996](https://github.com/agentscope-ai/CoPaw/pull/996))
- **Unified Allowlist Control**: Centralized DM/group access policies into BaseChannel, extending to Discord and Feishu with privacy-aware denial messages ([#943](https://github.com/agentscope-ai/CoPaw/pull/943))
- **Media Filtering Enhancement**: Media files now returned when tool message filtering enabled, fixing content loss across all channels ([#778](https://github.com/agentscope-ai/CoPaw/pull/778))
- **DingTalk Media Expansion**: Extended audio/video format support with automatic file upload fallback for unsupported types ([#824](https://github.com/agentscope-ai/CoPaw/pull/824))
- **Feishu Table Rendering**: Markdown tables automatically converted to native interactive message cards for proper display ([#1009](https://github.com/agentscope-ai/CoPaw/pull/1009))
- **Feishu Post Messages**: Added support for receiving Feishu post-type rich text messages ([#980](https://github.com/agentscope-ai/CoPaw/pull/980))
- **Discord Media Support**: Implemented media sending with local/remote file handling and temporary download for HTTP URLs ([#840](https://github.com/agentscope-ai/CoPaw/pull/840))
- **Docker Channel Enablement**: Telegram and Discord channels now enabled by default in Docker images ([#915](https://github.com/agentscope-ai/CoPaw/pull/915))
- **MQTT Channel**: IoT and message queue integration support ([#548](https://github.com/agentscope-ai/CoPaw/pull/548))
**Model & AI Features**
- **Gemini Thinking Model**: Preserved reasoning content via `extra_content` field for Gemini thinking models with tool call support ([#789](https://github.com/agentscope-ai/CoPaw/pull/789))
- **MLX Backend**: Message normalization handling `None` content and empty `tool_calls` for MLX tokenizer chat template compatibility ([#1014](https://github.com/agentscope-ai/CoPaw/pull/1014))
- **Local/Cloud LLM Routing**: Intelligent model selection with minimal policy hooks for local/cloud LLM routing decisions ([#849](https://github.com/agentscope-ai/CoPaw/pull/849))
**Console & UI**
- **Environment Variable Security**: Password-style masking for sensitive environment values with show/hide toggle, preventing accidental exposure ([#984](https://github.com/agentscope-ai/CoPaw/pull/984))
- **Environment Variable Deletion**: Single and bulk deletion support with automatic API persistence for saved variables ([#954](https://github.com/agentscope-ai/CoPaw/pull/954))
- **Built-in Tool Management**: Dedicated Tools page with toggle switches for enabling/disabling built-in tools, dynamically updating agent capabilities ([#1043](https://github.com/agentscope-ai/CoPaw/pull/1043))
- **Custom System Prompts**: Select and reorder workspace Markdown files to compose custom system prompts, replacing default agent personality files ([#1048](https://github.com/agentscope-ai/CoPaw/pull/1048))
**Memory & Configuration**
- **ReMeLight Migration**: Refactored memory system from ReMeCopaw to ReMeLight with environment-driven embedding and storage configuration ([#867](https://github.com/agentscope-ai/CoPaw/pull/867))
- **Configurable Memory Compaction**: New compact split strategy with tunable parameters for intelligent context management ([#867](https://github.com/agentscope-ai/CoPaw/pull/867))
- **Smart Tool Output Truncation**: Automatic line/byte-based truncation for file reads and shell commands with clear truncation notices, preventing context overflow ([#867](https://github.com/agentscope-ai/CoPaw/pull/867))
## 🔄 Changed
**Console & UI**
- **Version Detection**: Fixed version sorting to use PyPI upload time, preventing beta/dev versions from incorrectly showing as latest ([#766](https://github.com/agentscope-ai/CoPaw/pull/766))
- **Style Refactoring**: Migrated inline styles to centralized LESS modules for improved maintainability ([#810](https://github.com/agentscope-ai/CoPaw/pull/810))
- **Timezone Handling**: Standardized to UTC time across frontend and backend to prevent timestamp inconsistencies ([#771](https://github.com/agentscope-ai/CoPaw/pull/771))
- **Session Table**: Fixed checkbox column overlap issue in sessions page ([#936](https://github.com/agentscope-ai/CoPaw/pull/936))
- **Chat Session Fix**: Resolved race condition causing user messages to disappear during streaming responses ([#1033](https://github.com/agentscope-ai/CoPaw/pull/1033))
**Provider Architecture**
- **Provider Refactor**: Modular provider system with base class, lifecycle manager, and unified configuration handling ([#734](https://github.com/agentscope-ai/CoPaw/pull/734))
## 🐛 Fixed
**Platform Compatibility**
- **Windows File Paths**: Proper handling of `file://` URLs and Windows absolute paths for media files ([#832](https://github.com/agentscope-ai/CoPaw/pull/832))
- **Shell Encoding**: Smart UTF-8 decode with system encoding fallback for shell command output on Windows ([#979](https://github.com/agentscope-ai/CoPaw/pull/979))
**Channel & File Handling**
- **DingTalk Office Files**: Extract filename hints from payload to prevent Office files from being saved as ZIP ([#1025](https://github.com/agentscope-ai/CoPaw/pull/1025))
- **File Delivery**: Removed unreachable code branch in `send_file_to_user` to align with actual file delivery behavior ([#917](https://github.com/agentscope-ai/CoPaw/pull/917))
- **Skill Import**: Graceful UTF-8 decoding with error replacement for skill files ([#783](https://github.com/agentscope-ai/CoPaw/pull/783))
**Console & UI**
- **URL Validation**: Custom validator allowing HTTP(S) URLs with relaxed hostname requirements for Docker networks ([#1007](https://github.com/agentscope-ai/CoPaw/pull/1007))
- **Version Badge**: Corrected version display styling and positioning in sidebar ([#787](https://github.com/agentscope-ai/CoPaw/pull/787))
- **File Notifications**: Language-aware file download messages based on agent configuration ([#808](https://github.com/agentscope-ai/CoPaw/pull/808))
## 📚 Documentation
- **Brand Identity**: New logo design and social media integration (X, RedNote) across website and README files ([#781](https://github.com/agentscope-ai/CoPaw/pull/781), [#761](https://github.com/agentscope-ai/CoPaw/pull/761))
- **README Refresh**: Updated branding, installation guides, model configuration, and source installation instructions ([#815](https://github.com/agentscope-ai/CoPaw/pull/815), [#821](https://github.com/agentscope-ai/CoPaw/pull/821))
- **Desktop App Guide**: Complete installation, troubleshooting, and security guidance for Windows/macOS desktop applications ([#997](https://github.com/agentscope-ai/CoPaw/pull/997))
- **Roadmap Update**: Post-v0.0.5 roadmap reflecting completed features and future priorities ([#826](https://github.com/agentscope-ai/CoPaw/pull/826))
- **Memory & Command Documentation**: Enhanced memory compaction documentation and added new `/message` command documentation with improved layout ([#1008](https://github.com/agentscope-ai/CoPaw/pull/1008))
- **Documentation Fixes**: Corrected MCP documentation link and added cron job creation instructions ([#1015](https://github.com/agentscope-ai/CoPaw/pull/1015), [#1025](https://github.com/agentscope-ai/CoPaw/pull/1025))
- **Website Enhancement**: Optimized homepage component ordering, animations, and visual presentation ([#1053](https://github.com/agentscope-ai/CoPaw/pull/1053))
## 🔧 CI/CD
- **First-Time Contributor Welcome**: Automated welcome message with social media handle collection for merged PRs from new contributors ([#762](https://github.com/agentscope-ai/CoPaw/pull/762))
- **Issue Template Cleanup**: Removed outdated bug report and question templates ([#834](https://github.com/agentscope-ai/CoPaw/pull/834))
+92
View File
@@ -0,0 +1,92 @@
## ✨ 新增功能
**桌面应用**
- **原生桌面安装包**:提供 Windows 一键安装程序和 macOS 独立 `.app` 应用包,使用 conda-pack 打包便携式 Python 环境,配备自动化 GitHub Actions 发布流程 ([#843](https://github.com/agentscope-ai/CoPaw/pull/843))
- **桌面启动命令**:新增 `copaw desktop` 命令,在原生 webview 窗口中启动 CoPaw,自动管理服务器和端口 ([#843](https://github.com/agentscope-ai/CoPaw/pull/843))
**国际化**
- **俄语支持**:全面翻译覆盖控制台界面、智能体配置文件,初始化命令支持俄语选项 ([#829](https://github.com/agentscope-ai/CoPaw/pull/829), [#854](https://github.com/agentscope-ai/CoPaw/pull/854), [#948](https://github.com/agentscope-ai/CoPaw/pull/948))
- **日语支持**:控制台界面完整日语翻译,集成语言切换器 ([#912](https://github.com/agentscope-ai/CoPaw/pull/912))
**频道与通信**
- **Telegram 访问控制**:支持私聊/群组访问策略、用户白名单和自定义拒绝消息;支持 Markdown 转 HTML,不支持时降级为纯文本 ([#911](https://github.com/agentscope-ai/CoPaw/pull/911))
- **QQ Markdown 支持**:发送富文本 Markdown 消息,验证失败时降级为纯文本,防止重复发送 ([#790](https://github.com/agentscope-ai/CoPaw/pull/790))
- **QQ 富媒体处理**:支持附件下载和解析,包括图片、视频、音频和文件,带 MIME 类型检测和可配置媒体目录 ([#996](https://github.com/agentscope-ai/CoPaw/pull/996))
- **统一白名单机制**:将私聊/群组访问策略统一到 BaseChannel 基类,扩展到 Discord 和飞书,提供隐私保护的拒绝消息 ([#943](https://github.com/agentscope-ai/CoPaw/pull/943))
- **媒体过滤优化**:启用工具消息过滤时正确返回媒体文件,修复所有频道的内容丢失问题 ([#778](https://github.com/agentscope-ai/CoPaw/pull/778))
- **钉钉媒体扩展**:扩展音频/视频格式支持,不支持的格式自动降级为文件上传 ([#824](https://github.com/agentscope-ai/CoPaw/pull/824))
- **飞书表格渲染**:Markdown 表格自动转换为原生交互式消息卡片,正确显示表格内容 ([#1009](https://github.com/agentscope-ai/CoPaw/pull/1009))
- **飞书富文本消息**:支持接收飞书 post 类型的富文本消息 ([#980](https://github.com/agentscope-ai/CoPaw/pull/980))
- **Discord 媒体支持**:实现媒体发送功能,支持本地/远程文件处理和 HTTP URL 临时下载 ([#840](https://github.com/agentscope-ai/CoPaw/pull/840))
- **Docker 频道启用**:Docker 镜像中默认启用 Telegram 和 Discord 频道 ([#915](https://github.com/agentscope-ai/CoPaw/pull/915))
- **MQTT 频道**:新增 MQTT 频道支持,用于物联网和消息队列集成 ([#548](https://github.com/agentscope-ai/CoPaw/pull/548))
**模型与 AI 功能**
- **Gemini 思考模型**:通过 `extra_content` 字段保留推理内容,支持 Gemini 思考模型的工具调用 ([#789](https://github.com/agentscope-ai/CoPaw/pull/789))
- **MLX 后端优化**:消息规范化处理空内容和工具调用,兼容 MLX tokenizer 聊天模板 ([#1014](https://github.com/agentscope-ai/CoPaw/pull/1014))
- **本地/云端模型路由**:基于策略钩子的智能模型选择,实现本地和云端 LLM 的灵活路由 ([#849](https://github.com/agentscope-ai/CoPaw/pull/849))
**控制台与界面**
- **环境变量安全增强**:敏感环境变量值采用密码遮罩显示,支持显示/隐藏切换,防止意外泄露 ([#984](https://github.com/agentscope-ai/CoPaw/pull/984))
- **环境变量删除**:支持单个和批量删除环境变量,已保存的变量自动触发 API 持久化删除 ([#954](https://github.com/agentscope-ai/CoPaw/pull/954))
- **内置工具管理**:新增工具管理页面,通过开关切换启用/禁用内置工具,动态更新智能体能力 ([#1043](https://github.com/agentscope-ai/CoPaw/pull/1043))
- **自定义系统提示词**:从工作区选择并排序 Markdown 文件组合自定义系统提示词,替代默认的智能体人格文件 ([#1048](https://github.com/agentscope-ai/CoPaw/pull/1048))
**记忆与配置**
- **ReMeLight 迁移**:内存系统从 ReMeCopaw 重构为 ReMeLight,通过环境变量驱动嵌入和存储配置 ([#867](https://github.com/agentscope-ai/CoPaw/pull/867))
- **可配置记忆压缩**:新的紧凑分割策略,支持可调参数实现智能上下文管理 ([#867](https://github.com/agentscope-ai/CoPaw/pull/867))
- **智能工具输出截断**:文件读取和 Shell 命令自动基于行数/字节进行截断,附带清晰的截断提示,防止上下文溢出 ([#867](https://github.com/agentscope-ai/CoPaw/pull/867))
## 🔄 优化改进
**控制台与界面**
- **版本检测优化**:修复版本排序逻辑,使用 PyPI 上传时间,防止 beta/dev 版本误显示为最新版 ([#766](https://github.com/agentscope-ai/CoPaw/pull/766))
- **样式重构**:将内联样式迁移到集中式 LESS 模块,提高代码可维护性 ([#810](https://github.com/agentscope-ai/CoPaw/pull/810))
- **时区统一处理**:前后端统一标准化为 UTC 时间,防止时间戳不一致 ([#771](https://github.com/agentscope-ai/CoPaw/pull/771))
- **会话表格修复**:修复会话页面中复选框列重叠问题 ([#936](https://github.com/agentscope-ai/CoPaw/pull/936))
- **聊天竞态修复**:解决流式响应期间用户消息消失的竞态条件问题 ([#1033](https://github.com/agentscope-ai/CoPaw/pull/1033))
**提供商架构**
- **Provider 架构重构**:模块化 provider 系统,包含基类、生命周期管理器和统一配置处理 ([#734](https://github.com/agentscope-ai/CoPaw/pull/734))
## 🐛 问题修复
**平台兼容性**
- **Windows 文件路径**:正确处理媒体文件的 `file://` URL 和 Windows 绝对路径格式 ([#832](https://github.com/agentscope-ai/CoPaw/pull/832))
- **Shell 编码问题**:Windows 上 shell 命令输出智能 UTF-8 解码,失败时自动回退到系统编码 ([#979](https://github.com/agentscope-ai/CoPaw/pull/979))
**频道与文件处理**
- **钉钉 Office 文件**:从 payload 提取文件名提示,防止 Office 文件被错误保存为 ZIP ([#1025](https://github.com/agentscope-ai/CoPaw/pull/1025))
- **文件传递优化**:移除 `send_file_to_user` 中不可达代码分支,统一文件传递行为 ([#917](https://github.com/agentscope-ai/CoPaw/pull/917))
- **技能导入优化**:技能文件优雅处理 UTF-8 解码错误 ([#783](https://github.com/agentscope-ai/CoPaw/pull/783))
**控制台与界面**
- **URL 验证**:自定义验证器,支持放宽主机名要求的 HTTP(S) URL,适配 Docker 网络环境 ([#1007](https://github.com/agentscope-ai/CoPaw/pull/1007))
- **版本徽章**:修正侧边栏版本显示的样式和定位 ([#787](https://github.com/agentscope-ai/CoPaw/pull/787))
- **文件通知**:基于智能体配置的语言感知文件下载消息 ([#808](https://github.com/agentscope-ai/CoPaw/pull/808))
## 📚 文档
- **品牌标识更新**:新 logo 设计和社交媒体集成(X、小红书),覆盖网站和 README 文件 ([#781](https://github.com/agentscope-ai/CoPaw/pull/781), [#761](https://github.com/agentscope-ai/CoPaw/pull/761))
- **README 更新**:更新品牌、安装指南、模型配置和源码安装说明 ([#815](https://github.com/agentscope-ai/CoPaw/pull/815), [#821](https://github.com/agentscope-ai/CoPaw/pull/821))
- **桌面应用指南**:提供 Windows/macOS 桌面应用的完整安装、故障排除和安全指南 ([#997](https://github.com/agentscope-ai/CoPaw/pull/997))
- **路线图更新**:v0.0.5 后路线图更新,反映已完成功能和未来优先级 ([#826](https://github.com/agentscope-ai/CoPaw/pull/826))
- **记忆与命令文档**:增强记忆压缩文档,新增 `/message` 命令文档并改进布局 ([#1008](https://github.com/agentscope-ai/CoPaw/pull/1008))
- **文档修复**:修正 MCP 文档链接,添加 cron 任务创建说明 ([#1015](https://github.com/agentscope-ai/CoPaw/pull/1015), [#1025](https://github.com/agentscope-ai/CoPaw/pull/1025))
- **网站优化**:优化首页组件排序、动画和视觉呈现 ([#1053](https://github.com/agentscope-ai/CoPaw/pull/1053))
## 🔧 CI/CD
- **首次贡献者欢迎**:合并新贡献者 PR 时自动发送欢迎消息并收集社交媒体账号 ([#762](https://github.com/agentscope-ai/CoPaw/pull/762))
- **Issue 模板清理**:移除过时的 bug 报告和问题模板 ([#834](https://github.com/agentscope-ai/CoPaw/pull/834))
+98
View File
@@ -0,0 +1,98 @@
## ✨ Added
**Security**
- **Tool Guard**: Pre-execution security layer that scans tool parameters for risky patterns (e.g., `rm`, `mv` in shell commands). Risky calls are blocked until the user approves via `/approve`; denied tools are always blocked. New **Security** settings page for managing rules and approvals ([#563](https://github.com/agentscope-ai/CoPaw/pull/563))
**Channel & Communication**
- **Mattermost Channel**: Full Mattermost integration supporting DMs and threaded conversations with text, images, files, video, and audio, plus typing indicator and configurable access policies ([#1071](https://github.com/agentscope-ai/CoPaw/pull/1071))
- **Matrix Channel**: New Matrix protocol channel integration using matrix-nio, supporting text, images, video, audio, and file messages ([#969](https://github.com/agentscope-ai/CoPaw/pull/969))
- **Require Mention Filtering**: Group messages are ignored unless the bot is @mentioned (or a slash command is used on Telegram), configurable per-channel via `require_mention` for Discord, DingTalk, Feishu, and Telegram ([#1049](https://github.com/agentscope-ai/CoPaw/pull/1049))
- **Telegram Markdown Rendering**: Markdown-to-Telegram HTML conversion for LLM output including bold, italic, code blocks, links, blockquotes, spoilers, and more, with automatic plain text fallback on send failure ([#850](https://github.com/agentscope-ai/CoPaw/pull/850))
- **Feishu Emoji Reaction**: Automatically adds a "DONE" emoji reaction to the last Feishu reply when processing completes successfully ([#1158](https://github.com/agentscope-ai/CoPaw/pull/1158))
- **Feishu Rich Text Media**: Parsing of media files (videos, audio, and other files) in Feishu post-type rich text messages, with automatic download and attachment ([#1159](https://github.com/agentscope-ai/CoPaw/pull/1159))
- **QQ Image Messages**: Support for sending image messages via `[Image: url]` tags in agent output for both DM and group chats ([#1212](https://github.com/agentscope-ai/CoPaw/pull/1212))
**Model & AI Features**
- **Model Retry**: Automatic retries for LLM API calls on transient errors (rate limit, timeout, connection) with exponential backoff, configurable via `COPAW_LLM_MAX_RETRIES`, `COPAW_LLM_BACKOFF_BASE`, `COPAW_LLM_BACKOFF_CAP` ([#1150](https://github.com/agentscope-ai/CoPaw/pull/1150))
- **LM Studio Provider**: LM Studio added as a built-in model provider with configuration UI and documentation ([#1134](https://github.com/agentscope-ai/CoPaw/pull/1134))
- **Token Usage Tracking**: End-to-end token usage tracking across providers with a Token Usage settings page, API, and `get_token_usage` tool ([#775](https://github.com/agentscope-ai/CoPaw/pull/775), [#1349](https://github.com/agentscope-ai/CoPaw/pull/1349), [#1284](https://github.com/agentscope-ai/CoPaw/pull/1284))
- **Provider Advanced Configuration**: Added `generate_kwargs` editor for custom generation parameters (e.g., temperature, top_p, enable_thinking); providers without API keys (Ollama, LM Studio) are now correctly shown as configured ([#1170](https://github.com/agentscope-ai/CoPaw/pull/1170))
**Console & UI**
- **Workspace Drag-and-Drop**: Drag-and-drop reordering for enabled system prompt files in Agent Workspace, controlling prompt file precedence ([#1121](https://github.com/agentscope-ai/CoPaw/pull/1121))
- **Chat Model Selection**: Model selector dropdown on the Chat page for switching models during conversation ([#1140](https://github.com/agentscope-ai/CoPaw/pull/1140))
- **Agent Language Selector**: Change the agent's language directly from the console Agent Config page ([#1251](https://github.com/agentscope-ai/CoPaw/pull/1251))
- **Tool Batch Toggle**: "Enable All" and "Disable All" buttons on the Tools page for batch tool management ([#1112](https://github.com/agentscope-ai/CoPaw/pull/1112))
- **Chat URL Routing**: Direct URL access to specific chat sessions via `/chat/:chatId` with automatic URL synchronization ([#1221](https://github.com/agentscope-ai/CoPaw/pull/1221))
- **Context Management UI**: New Context Management section in Agent Config with adjustable compact ratio, reserve ratio, and tool result compaction settings, displaying derived token thresholds ([#1247](https://github.com/agentscope-ai/CoPaw/pull/1247))
- **Preserve Chat on Navigate**: Chat stays mounted when switching to other pages, preserving in-progress messages, cursor position, and running state ([#1340](https://github.com/agentscope-ai/CoPaw/pull/1340))
**Skills**
- **AI Skill Optimization**: "AI Optimize" button in the skill editor uses the active model to rewrite skill content with streaming output; supports English, Chinese, and Russian prompts ([#853](https://github.com/agentscope-ai/CoPaw/pull/853))
- **Skill Card Description**: Skill cards now display the `description` from SKILL.md frontmatter so you can see what each skill does without opening it ([#1235](https://github.com/agentscope-ai/CoPaw/pull/1235))
**Installation & Platform**
- **Auto PyPI Mirror**: Automatic PyPI mirror selection in the install script, detecting connectivity and falling back to Alibaba Cloud mirror for users in China ([#925](https://github.com/agentscope-ai/CoPaw/pull/925), [#1330](https://github.com/agentscope-ai/CoPaw/pull/1330))
- **Docker Secret Directory**: Added `/app/working.secret` to Docker layout for persistent provider settings and API keys ([#1050](https://github.com/agentscope-ai/CoPaw/pull/1050))
## 🔄 Changed
**Model & Provider**
- **Provider Connection Test**: Connection test methods now return descriptive failure messages instead of just a boolean, making it easier to diagnose configuration issues ([#1120](https://github.com/agentscope-ai/CoPaw/pull/1120))
- **ModelScope Defaults**: Updated default models to `Qwen3.5-122B-A10B` and `GLM-5` ([#1154](https://github.com/agentscope-ai/CoPaw/pull/1154))
- **Provider ID Conflict Resolution**: Duplicate provider IDs now auto-resolve (e.g., `openai` → `openai-custom`) instead of raising errors; connection testing disabled for custom providers ([#1234](https://github.com/agentscope-ai/CoPaw/pull/1234))
- **Model Discovery On-Demand**: Opening the provider page no longer auto-triggers model fetching; use the "Discover Models" button to refresh the model list ([#1342](https://github.com/agentscope-ai/CoPaw/pull/1342))
**Performance**
- **Async Zip Operations**: Workspace zip/unzip operations now run asynchronously to prevent blocking during download and upload ([#1128](https://github.com/agentscope-ai/CoPaw/pull/1128))
- **Async Session Load**: Session load converted to async function, preventing disk operations from blocking the server ([#1236](https://github.com/agentscope-ai/CoPaw/pull/1236))
**Console, Skills & System**
- **Tools Page Styling**: Updated tool card hover effects, enabled/disabled states, and status indicators ([#1092](https://github.com/agentscope-ai/CoPaw/pull/1092))
- **Container Detection**: Simplified container detection logic for more reliable environment variable handling ([#1075](https://github.com/agentscope-ai/CoPaw/pull/1075))
- **Built-in Skills Improvement**: Updated docx, pdf, pptx, xlsx skills with clearer prerequisites and new documentation for pdf/forms and pptx/editing; added `~` home directory support in file operations and venv Python on `PATH` for shell subprocesses ([#1147](https://github.com/agentscope-ai/CoPaw/pull/1147))
- **Himalaya Email Skill**: Updated with send/compose support via `template write | template send`, attachment handling documentation, and 163 mail configuration notes ([#1279](https://github.com/agentscope-ai/CoPaw/pull/1279))
- **Memory Docs Refactor**: Reorganized memory and context documentation structure, updated README links, and bumped `reme-ai` to 0.3.0.6b3 ([#1190](https://github.com/agentscope-ai/CoPaw/pull/1190))
- **Model Selector Styling**: Fixed model selector alignment in the chat header for consistent layout ([#1309](https://github.com/agentscope-ai/CoPaw/pull/1309))
- **Config & Security Page Refactor**: Restructured Agent Config and Security settings pages with clearer layout, improved styling, and better responsiveness ([#1333](https://github.com/agentscope-ai/CoPaw/pull/1333))
## 🐛 Fixed
**Channel Fixes**
- **DingTalk Auth Failure Cleanup**: DingTalk channel now shuts down cleanly when authentication fails, properly canceling the main task instead of relying on a fixed-time sleep ([#1039](https://github.com/agentscope-ai/CoPaw/pull/1039))
- **Discord Message Splitting**: Messages exceeding Discord's 2000-character limit are automatically split at line breaks, preserving markdown code fences ([#1001](https://github.com/agentscope-ai/CoPaw/pull/1001))
- **Channel Config Type Alignment**: Matrix, Mattermost, and MQTT channel configs are now correctly typed and validated via the API ([#1289](https://github.com/agentscope-ai/CoPaw/pull/1289))
**Platform Compatibility**
- **Windows Shell Encoding**: Shell command output on Windows now uses smart decoding (UTF-8 first, locale fallback) for reliable handling of mixed-encoding output ([#1103](https://github.com/agentscope-ai/CoPaw/pull/1103))
- **Windows Process Cleanup**: Shell command execution on Windows now properly kills the full process tree on timeout, preventing hangs from descendant processes keeping pipes open ([#1260](https://github.com/agentscope-ai/CoPaw/pull/1260))
- **Desktop SSL & Windows**: Fixed SSL certificate loading in packaged desktop apps via certifi; preserved system PATH in launchers; added `COPAW_LOG_LEVEL` support; resolved log file locking and subprocess output blocking on Windows ([#1252](https://github.com/agentscope-ai/CoPaw/pull/1252), [#1282](https://github.com/agentscope-ai/CoPaw/pull/1282))
- **Desktop IME & Navigation**: Fixed Enter key submitting chat while typing with IME, enabled external URL opening in system browser, and text selection in webview ([#1239](https://github.com/agentscope-ai/CoPaw/pull/1239))
**Console & UI**
- **Magic Command State**: Fixed magic commands silently destroying session state; session data is now updated by key path instead of full overwrite ([#1168](https://github.com/agentscope-ai/CoPaw/pull/1168))
- **Ollama Modal Re-renders**: Fixed unnecessary child component re-renders when opening the Ollama model manage modal ([#1242](https://github.com/agentscope-ai/CoPaw/pull/1242))
- **Chat Request Deduplication**: Prevented duplicate API calls when multiple components request the same chat session simultaneously ([#1307](https://github.com/agentscope-ai/CoPaw/pull/1307))
## 📚 Documentation
- **Roadmap & Comparison**: Updated website and README roadmaps (EN/ZH/JA) with Memory System and Small+Large Model Collaboration; updated CoPaw vs OpenClaw comparison table ([#1062](https://github.com/agentscope-ai/CoPaw/pull/1062), [#1110](https://github.com/agentscope-ai/CoPaw/pull/1110))
- **Contributing Guide**: Fixed grammar and clarity in CONTRIBUTING_zh.md ([#1119](https://github.com/agentscope-ai/CoPaw/pull/1119))
## 🔧 CI/CD
- **Docker Release Workflow**: Refactored Docker CI to properly distinguish `.post` releases (update `latest`) from pre-release versions (beta/alpha/rc/dev) ([#1069](https://github.com/agentscope-ai/CoPaw/pull/1069))
- **Test CI**: Added GitHub Actions workflow for unit and integrated tests with `scripts/run_tests.py` for local runs ([#1152](https://github.com/agentscope-ai/CoPaw/pull/1152))
- **Test Trigger Optimization**: Narrowed test workflow triggers with `paths` filters to only run on changes to `src/`, `tests/`, `pyproject.toml`, `setup.py`, and `.github/workflows/tests.yml` ([#1245](https://github.com/agentscope-ai/CoPaw/pull/1245))
+99
View File
@@ -0,0 +1,99 @@
## ✨ 新增功能
**安全**
- **Tool Guard 工具守卫**:在工具执行前进行安全检查,自动识别参数中的危险操作(如 Shell 命令里的 `rm`、`mv`)。发现风险后会拦截执行,等待用户通过 `/approve` 放行;拒绝列表中的工具则始终禁止调用。控制台新增**安全**设置页面,可管理检测规则和审批流程 ([#563](https://github.com/agentscope-ai/CoPaw/pull/563))
**频道与通信**
- **Mattermost 频道**:全新 Mattermost 集成,支持私聊和线程对话,可收发文本、图片、文件、视频和音频,并提供打字状态提示和灵活的访问控制 ([#1071](https://github.com/agentscope-ai/CoPaw/pull/1071))
- **Matrix 频道**:基于 matrix-nio 实现的 Matrix 协议接入,支持文本、图片、视频、音频和文件收发 ([#969](https://github.com/agentscope-ai/CoPaw/pull/969))
- **@提及过滤**:群聊中仅当机器人被 @提及(Telegram 还支持斜杠命令)时才会响应,可通过 `require_mention` 参数分频道配置,适用于 Discord、钉钉、飞书和 Telegram ([#1049](https://github.com/agentscope-ai/CoPaw/pull/1049))
- **Telegram Markdown 渲染**:将 LLM 输出的 Markdown 自动转为 Telegram HTML 格式,支持加粗、斜体、代码块、链接、引用、剧透等,发送失败时自动退回纯文本 ([#850](https://github.com/agentscope-ai/CoPaw/pull/850))
- **飞书表情回应**:消息处理成功后,自动在最后一条飞书回复上添加"DONE"表情 ([#1158](https://github.com/agentscope-ai/CoPaw/pull/1158))
- **飞书富文本媒体**:支持提取飞书 post 富文本消息中的媒体文件(视频、音频等),自动下载并作为附件传递 ([#1159](https://github.com/agentscope-ai/CoPaw/pull/1159))
- **QQ 图片消息**:智能体输出中可使用 `[Image: url]` 标签发送图片,私聊和群聊均可使用 ([#1212](https://github.com/agentscope-ai/CoPaw/pull/1212))
**模型与 AI 功能**
- **模型调用重试**:LLM API 遇到限流、超时、连接中断等临时错误时自动重试并指数退避,可通过 `COPAW_LLM_MAX_RETRIES`、`COPAW_LLM_BACKOFF_BASE`、`COPAW_LLM_BACKOFF_CAP` 调整行为 ([#1150](https://github.com/agentscope-ai/CoPaw/pull/1150))
- **LM Studio 支持**:新增 LM Studio 为内置模型提供商,提供配置界面和使用文档 ([#1134](https://github.com/agentscope-ai/CoPaw/pull/1134))
- **Token 用量统计**:跨所有提供商的 Token 用量追踪,新增用量统计页面、查询 API 和 `get_token_usage` 工具 ([#775](https://github.com/agentscope-ai/CoPaw/pull/775), [#1349](https://github.com/agentscope-ai/CoPaw/pull/1349), [#1284](https://github.com/agentscope-ai/CoPaw/pull/1284))
- **提供商高级配置**:新增 `generate_kwargs` 编辑器,可自定义生成参数(如 temperature、top_p、enable_thinking);无需 API 密钥的提供商(Ollama、LM Studio)在有可用模型时正确显示为已配置 ([#1170](https://github.com/agentscope-ai/CoPaw/pull/1170))
**控制台与界面**
- **工作区文件拖拽排序**:可拖拽调整已启用的系统提示词文件顺序,决定提示词的优先级 ([#1121](https://github.com/agentscope-ai/CoPaw/pull/1121))
- **聊天中切换模型**:聊天页面新增模型选择下拉框,对话过程中可随时切换模型 ([#1140](https://github.com/agentscope-ai/CoPaw/pull/1140))
- **智能体语言切换**:在控制台的智能体配置页面可直接更改智能体使用的语言 ([#1251](https://github.com/agentscope-ai/CoPaw/pull/1251))
- **工具批量开关**:工具页面新增"全部启用"和"全部禁用"按钮,方便批量管理 ([#1112](https://github.com/agentscope-ai/CoPaw/pull/1112))
- **聊天 URL 直达**:支持通过 `/chat/:chatId` 直接打开指定聊天会话,URL 随会话自动同步 ([#1221](https://github.com/agentscope-ai/CoPaw/pull/1221))
- **上下文管理配置**:智能体配置中新增上下文管理区域,可调节压缩比、保留比和工具结果压缩策略,并显示对应的 Token 阈值 ([#1247](https://github.com/agentscope-ai/CoPaw/pull/1247))
- **切换页面保留聊天**:导航到其他页面时聊天组件保持挂载,返回后输入内容、光标位置和运行状态均保留 ([#1340](https://github.com/agentscope-ai/CoPaw/pull/1340))
**技能**
- **AI 技能优化**:技能编辑器新增"AI 优化"按钮,使用当前模型以流式方式重写技能内容,支持中英俄三种语言的提示词 ([#853](https://github.com/agentscope-ai/CoPaw/pull/853))
- **技能卡片描述展示**:技能卡片直接展示 SKILL.md 中的 `description` 字段,无需打开即可了解技能用途 ([#1235](https://github.com/agentscope-ai/CoPaw/pull/1235))
**安装与平台**
- **自动选择 PyPI 镜像**:安装脚本会自动检测 pypi.org 连通性,不可达时自动切换至阿里云镜像 ([#925](https://github.com/agentscope-ai/CoPaw/pull/925), [#1330](https://github.com/agentscope-ai/CoPaw/pull/1330))
- **Docker 密钥持久化**:Docker 镜像新增 `/app/working.secret` 目录,用于持久保存提供商配置和 API 密钥 ([#1050](https://github.com/agentscope-ai/CoPaw/pull/1050))
## 🔄 优化改进
**模型与提供商**
- **连接测试信息增强**:连接测试失败时返回具体的错误描述,方便快速定位配置问题 ([#1120](https://github.com/agentscope-ai/CoPaw/pull/1120))
- **ModelScope 默认模型更新**:默认模型调整为 `Qwen3.5-122B-A10B` 和 `GLM-5` ([#1154](https://github.com/agentscope-ai/CoPaw/pull/1154))
- **提供商 ID 冲突自动解决**:添加重复 ID 的提供商时自动重命名(如 `openai` → `openai-custom`),不再报错;自定义提供商跳过连接测试 ([#1234](https://github.com/agentscope-ai/CoPaw/pull/1234))
- **模型发现改为手动触发**:进入提供商页面不再自动拉取模型列表,通过"发现模型"按钮手动刷新 ([#1342](https://github.com/agentscope-ai/CoPaw/pull/1342))
**性能优化**
- **工作区压缩异步化**:工作区导入导出的 zip 操作改为异步执行,不再阻塞主线程 ([#1128](https://github.com/agentscope-ai/CoPaw/pull/1128))
- **会话读写异步化**:会话的加载改为异步方法,避免磁盘操作影响服务响应 ([#1236](https://github.com/agentscope-ai/CoPaw/pull/1236))
**控制台、技能与系统**
- **工具页面视觉优化**:优化工具卡片的悬停效果、启用/禁用样式和状态标识 ([#1092](https://github.com/agentscope-ai/CoPaw/pull/1092))
- **容器环境检测优化**:简化容器运行环境的判断逻辑,提高环境变量处理的可靠性 ([#1075](https://github.com/agentscope-ai/CoPaw/pull/1075))
- **内置技能完善**:更新 docx、pdf、pptx、xlsx 技能的使用说明,新增 pdf/表单和 pptx/编辑专项文档;文件操作新增 `~` 主目录支持,Shell 子进程自动使用 venv 中的 Python ([#1147](https://github.com/agentscope-ai/CoPaw/pull/1147))
- **Himalaya 邮件技能**:新增通过 `template write | template send` 撰写和发送邮件的能力,补充了附件处理说明和 163 邮箱配置指南 ([#1279](https://github.com/agentscope-ai/CoPaw/pull/1279))
- **记忆文档重构**:重新组织了记忆和上下文相关文档的结构,同步更新 README 链接,`reme-ai` 升级至 0.3.0.6b3 ([#1190](https://github.com/agentscope-ai/CoPaw/pull/1190))
- **模型选择器样式修复**:修正聊天页头部模型选择器的对齐方式,视觉更统一 ([#1309](https://github.com/agentscope-ai/CoPaw/pull/1309))
- **配置与安全页面重构**:重新组织了智能体配置页和安全设置页的布局与样式,提升清晰度和响应式体验 ([#1333](https://github.com/agentscope-ai/CoPaw/pull/1333))
## 🐛 问题修复
**频道修复**
- **钉钉认证失败处理**:钉钉频道在认证失败时能够正确取消任务并干净退出,不再依赖固定时长的等待 ([#1039](https://github.com/agentscope-ai/CoPaw/pull/1039))
- **Discord 长消息分割**:超出 Discord 2000 字符限制的消息会自动在换行处拆分发送,代码块格式不受影响 ([#1001](https://github.com/agentscope-ai/CoPaw/pull/1001))
- **频道配置类型对齐**:Matrix、Mattermost 和 MQTT 频道配置现已正确类型化,通过 API 配置时能获得完整校验 ([#1289](https://github.com/agentscope-ai/CoPaw/pull/1289))
**平台兼容性**
- **Windows Shell 编码**:Shell 命令输出改用智能解码(优先 UTF-8,回退系统编码),解决了 Windows 上混合编码输出乱码的问题 ([#1103](https://github.com/agentscope-ai/CoPaw/pull/1103))
- **Windows 进程清理**:Shell 命令超时时会正确终止整个进程树,避免子进程残留导致挂起 ([#1260](https://github.com/agentscope-ai/CoPaw/pull/1260))
- **桌面应用 SSL 与 Windows 修复**:修复打包桌面应用的 SSL 证书加载问题,保留系统 PATH,新增 `COPAW_LOG_LEVEL` 支持,解决了 Windows 上的日志文件锁定和子进程输出阻塞问题 ([#1252](https://github.com/agentscope-ai/CoPaw/pull/1252), [#1282](https://github.com/agentscope-ai/CoPaw/pull/1282))
- **桌面应用输入法与导航**:修复使用中文等输入法时 Enter 键误发消息的问题,外部链接改为在系统浏览器中打开,webview 中可正常选择文本 ([#1239](https://github.com/agentscope-ai/CoPaw/pull/1239))
- **安装脚本修复**:修复 install.sh 中 `info` 函数在定义前被调用导致的 `command not found` 错误 ([#1330](https://github.com/agentscope-ai/CoPaw/pull/1330))
**控制台与界面**
- **魔术命令会话保护**:修复魔术命令意外覆盖完整会话状态的问题,改为仅更新所需字段 ([#1168](https://github.com/agentscope-ai/CoPaw/pull/1168))
- **Ollama 弹窗渲染优化**:修复打开 Ollama 模型管理弹窗时引发的不必要重渲染 ([#1242](https://github.com/agentscope-ai/CoPaw/pull/1242))
- **聊天请求去重**:修复多个组件同时请求同一聊天会话时产生重复 API 调用的问题 ([#1307](https://github.com/agentscope-ai/CoPaw/pull/1307))
## 📚 文档
- **路线图与产品对比**:更新了网站和 README 中的路线图(EN/ZH/JA),新增记忆系统和大小模型协同规划;更新了 CoPaw 与 OpenClaw 的功能对比表 ([#1062](https://github.com/agentscope-ai/CoPaw/pull/1062), [#1110](https://github.com/agentscope-ai/CoPaw/pull/1110))
- **贡献指南**:修正了 CONTRIBUTING_zh.md 中的语法和措辞问题 ([#1119](https://github.com/agentscope-ai/CoPaw/pull/1119))
## 🔧 CI/CD
- **Docker 发布流程优化**:重构 Docker CI 流程,`.post` 版本正确更新 `latest` 标签,beta/alpha/rc/dev 等预发布版本不再误更新 ([#1069](https://github.com/agentscope-ai/CoPaw/pull/1069))
- **测试自动化**:新增 GitHub Actions 测试工作流,覆盖单元测试和集成测试,同时提供 `scripts/run_tests.py` 用于本地运行 ([#1152](https://github.com/agentscope-ai/CoPaw/pull/1152))
- **测试触发条件优化**:添加路径过滤,测试仅在 `src/`、`tests/`、`pyproject.toml`、`setup.py` 和工作流文件变更时触发 ([#1245](https://github.com/agentscope-ai/CoPaw/pull/1245))
+119
View File
@@ -0,0 +1,119 @@
## ✨ Added
**Architecture**
- **Multi-Agent / Multi-Workspace Architecture**: Support running multiple agents simultaneously, each with its own isolated workspace containing independent config, memory, skills, and tools. Includes a console agent selector for easy switching between agents ([#1375](https://github.com/agentscope-ai/CoPaw/pull/1375), [#1625](https://github.com/agentscope-ai/CoPaw/pull/1625), [#1670](https://github.com/agentscope-ai/CoPaw/pull/1670), [#1714](https://github.com/agentscope-ai/CoPaw/pull/1714), [#1664](https://github.com/agentscope-ai/CoPaw/pull/1664), [#1614](https://github.com/agentscope-ai/CoPaw/pull/1614))
- **Context Management**: Added token counting, `/dump_history` and `/load_history` commands, configurable history length limits, and progress indicators during memory compaction ([#1628](https://github.com/agentscope-ai/CoPaw/pull/1628), [#1754](https://github.com/agentscope-ai/CoPaw/pull/1754), [#1689](https://github.com/agentscope-ai/CoPaw/pull/1689))
**Security**
- **Skill Security Scanner**: Skills are now scanned for security risks (prompt injection, command injection, hardcoded secrets, data exfiltration) before installation using static analysis ([#564](https://github.com/agentscope-ai/CoPaw/pull/564))
- **Destructive Shell Command Detection**: Added security rules to detect dangerous shell commands such as disk formatting, fork bombs, reverse shells, and privilege escalation attempts ([#1484](https://github.com/agentscope-ai/CoPaw/pull/1484), [#1529](https://github.com/agentscope-ai/CoPaw/pull/1529))
- **Web Authentication**: Added optional web authentication with single-user registration, token-based login, localhost bypass, and CLI command ([#1329](https://github.com/agentscope-ai/CoPaw/pull/1329), [#1666](https://github.com/agentscope-ai/CoPaw/pull/1666), [#1719](https://github.com/agentscope-ai/CoPaw/pull/1719))
**Channels**
- **WeCom Channel**: Added WeCom as a messaging channel with media support, QR code access, console configuration UI ([#1407](https://github.com/agentscope-ai/CoPaw/pull/1407), [#1706](https://github.com/agentscope-ai/CoPaw/pull/1706), [#1725](https://github.com/agentscope-ai/CoPaw/pull/1725), [#1728](https://github.com/agentscope-ai/CoPaw/pull/1728), [#1681](https://github.com/agentscope-ai/CoPaw/pull/1681), [#1747](https://github.com/agentscope-ai/CoPaw/pull/1747), [#1766](https://github.com/agentscope-ai/CoPaw/pull/1766), [#1618](https://github.com/agentscope-ai/CoPaw/pull/1618), [#1631](https://github.com/agentscope-ai/CoPaw/pull/1631), [#1860](https://github.com/agentscope-ai/CoPaw/pull/1860), [#1856](https://github.com/agentscope-ai/CoPaw/pull/1856))
- **XiaoYi Channel**: Added XiaoYi as a messaging channel ([#1213](https://github.com/agentscope-ai/CoPaw/pull/1213))
- **DingTalk AI Card Reply**: DingTalk now supports AI Card-based replies with incremental streaming, falling back to webhook/markdown when unavailable ([#1118](https://github.com/agentscope-ai/CoPaw/pull/1118))
**Skills & Tools**
- **LobeHub Skill Import**: Skills can now be imported directly from LobeHub ([#1350](https://github.com/agentscope-ai/CoPaw/pull/1350))
- **ModelScope Skill Hub**: Skills can now be imported from ModelScope Skill Hub ([#1673](https://github.com/agentscope-ai/CoPaw/pull/1673))
- **Version-Aware Builtin Skill Sync**: Built-in skills now track versions and automatically sync updates while preserving user customizations ([#1674](https://github.com/agentscope-ai/CoPaw/pull/1674), [#1716](https://github.com/agentscope-ai/CoPaw/pull/1716), [#1749](https://github.com/agentscope-ai/CoPaw/pull/1749))
- **Guidance Skill**: Added a built-in skill that answers CoPaw installation and configuration questions using local docs and the official website ([#1522](https://github.com/agentscope-ai/CoPaw/pull/1522))
- **Zip Archive Skill Import**: Skills can now be imported by uploading zip archives directly from the console ([#1840](https://github.com/agentscope-ai/CoPaw/pull/1840))
- **Built-in Tools**: Added `glob_search` and `grep_search` as built-in tools for file discovery and content search within the agent workspace ([#1852](https://github.com/agentscope-ai/CoPaw/pull/1852))
- **MCP Header Environment Variables**: Support MCP HTTP client headers expanding `${ENV_VAR}` placeholders ([#1629](https://github.com/agentscope-ai/CoPaw/pull/1629))
**Multimodal**
- **Console Multimodal Chat**: The console chat now supports sending images and files alongside text messages ([#1772](https://github.com/agentscope-ai/CoPaw/pull/1772))
- **View Image Tool**: Added a `view_image` tool that lets the LLM analyze local images for multimodal conversations ([#1526](https://github.com/agentscope-ai/CoPaw/pull/1526))
- **Non-Multimodal LLM Media Fallback**: When a non-multimodal LLM receives image/audio/video content, the system now automatically strips media blocks and retries the request ([#1676](https://github.com/agentscope-ai/CoPaw/pull/1676))
- **Audio Transcription**: Added voice message transcription via Whisper API or local Whisper model, with audio format conversion and a Voice Transcription settings page in the console ([#1476](https://github.com/agentscope-ai/CoPaw/pull/1476), [#1726](https://github.com/agentscope-ai/CoPaw/pull/1726))
**Providers**
- **Gemini Provider**: Added Google Gemini as a built-in LLM provider ([#1507](https://github.com/agentscope-ai/CoPaw/pull/1507))
- **DeepSeek Provider**: Added DeepSeek as a built-in LLM provider ([#1498](https://github.com/agentscope-ai/CoPaw/pull/1498))
- **MiniMax Provider**: Added MiniMax as a built-in LLM provider with separate International and China endpoints ([#1376](https://github.com/agentscope-ai/CoPaw/pull/1376), [#1735](https://github.com/agentscope-ai/CoPaw/pull/1735))
- **Kimi Provider**: Added Kimi as a built-in LLM provider with separate China and International endpoints ([#1832](https://github.com/agentscope-ai/CoPaw/pull/1832))
**CLI & Deployment**
- **`copaw update` Command**: Added `copaw update` and `copaw shutdown` CLI commands. `copaw update` automatically detects the environment and upgrades CoPaw from PyPI ([#1278](https://github.com/agentscope-ai/CoPaw/pull/1278))
- **Docker Compose**: Docker deployment now uses `docker-compose.yml` for easier setup and volume management ([#1320](https://github.com/agentscope-ai/CoPaw/pull/1320))
- **Docker Image**: Included additional channel dependencies in the Docker image ([#1761](https://github.com/agentscope-ai/CoPaw/pull/1761))
**Console & UI**
- **Console Dark Mode**: Added full dark mode support to the console with a theme toggle (light / dark / follow system) covering all pages ([#1566](https://github.com/agentscope-ai/CoPaw/pull/1566), [#1637](https://github.com/agentscope-ai/CoPaw/pull/1637), [#1662](https://github.com/agentscope-ai/CoPaw/pull/1662))
- **Console Chat Streaming**: Agent responses in the console are now streamed via SSE, with support for reconnection and stopping mid-response ([#1571](https://github.com/agentscope-ai/CoPaw/pull/1571), [#1672](https://github.com/agentscope-ai/CoPaw/pull/1672))
**CLI, Deployment & Others**
- **Timezone Configuration**: Added a timezone selector in the console; timezone is used across system prompts, cron scheduling, and heartbeat. Supports auto-detection on multiple platforms ([#1535](https://github.com/agentscope-ai/CoPaw/pull/1535), [#1746](https://github.com/agentscope-ai/CoPaw/pull/1746))
- **OS Information in System Prompt**: The system prompt now includes OS information for more platform-aware responses ([#1660](https://github.com/agentscope-ai/CoPaw/pull/1660))
## 🔄 Changed
**Core & Lifecycle**
- **Graceful Lifecycle Management**: Desktop subprocess, agent reload, and shutdown are now handled gracefully — subprocesses terminate cleanly on close, agents reload with zero downtime, and active tasks are awaited before shutdown ([#1646](https://github.com/agentscope-ai/CoPaw/pull/1646), [#1664](https://github.com/agentscope-ai/CoPaw/pull/1664), [#1714](https://github.com/agentscope-ai/CoPaw/pull/1714))
- **Custom Working Directory**: Replaced hardcoded `~/.copaw` paths throughout the codebase so custom working directories (`COPAW_WORKING_DIR`) work correctly ([#1652](https://github.com/agentscope-ai/CoPaw/pull/1652))
- **Dynamic Token Counting**: Token counting now uses agent-specific configuration instead of a hardcoded global tokenizer, enabling per-agent token counting settings ([#1819](https://github.com/agentscope-ai/CoPaw/pull/1819))
- **Config Loading Protection**: Config loading is now wrapped with error handling so path normalization or heartbeat config failures do not crash the application ([#1865](https://github.com/agentscope-ai/CoPaw/pull/1865))
**Providers & Models**
- **Provider / Model Consistency**: The console now re-fetches active models on navigation so the displayed provider and model stay in sync ([#1420](https://github.com/agentscope-ai/CoPaw/pull/1420))
- **Ollama Default Address**: Changed Ollama default address from `localhost` to `127.0.0.1` for more reliable connections ([#1480](https://github.com/agentscope-ai/CoPaw/pull/1480))
- **Provider Request Headers**: Improved provider-specific HTTP header handling with exact URL matching for DashScope ([#1757](https://github.com/agentscope-ai/CoPaw/pull/1757))
**Console, UI & Platform**
- **Console Internationalization**: Improved multi-language support in the console, including synced locale settings, localized document navigation, and localized chat prompts / greeting text ([#1409](https://github.com/agentscope-ai/CoPaw/pull/1409), [#1686](https://github.com/agentscope-ai/CoPaw/pull/1686), [#1707](https://github.com/agentscope-ai/CoPaw/pull/1707), [#1858](https://github.com/agentscope-ai/CoPaw/pull/1858))
- **Workspace Path**: Workspace path is now read-only when editing an existing agent to prevent accidental changes ([#1624](https://github.com/agentscope-ai/CoPaw/pull/1624), [#1764](https://github.com/agentscope-ai/CoPaw/pull/1764))
- **Windows Desktop Startup**: Pre-compiled Python bytecode for faster Windows desktop startup ([#1639](https://github.com/agentscope-ai/CoPaw/pull/1639))
- **QQ Channel Reply Logic**: Improved reply logic with DM support and better handling of blocked URLs ([#1650](https://github.com/agentscope-ai/CoPaw/pull/1650))
## 🐛 Fixed
**Channels**
- **Telegram**: Fixed thread replies, media handling, and error reporting. Polling now auto-reconnects with exponential backoff on network failure ([#1210](https://github.com/agentscope-ai/CoPaw/pull/1210), [#1475](https://github.com/agentscope-ai/CoPaw/pull/1475))
- **Discord**: Fixed messages from different channels being incorrectly merged; normalized Discord IDs for cron dispatch. The debounce fix was also generalized to all channels ([#300](https://github.com/agentscope-ai/CoPaw/pull/300), [#1002](https://github.com/agentscope-ai/CoPaw/pull/1002), [#1583](https://github.com/agentscope-ai/CoPaw/pull/1583))
- **DingTalk**: Fixed incorrect message skipping when sender info is partially missing; skipped empty text blocks in rich text parsing ([#851](https://github.com/agentscope-ai/CoPaw/pull/851), [#1554](https://github.com/agentscope-ai/CoPaw/pull/1554))
- **Feishu**: Fixed card tables exceeding the per-card element limit; added voice message support; fixed channel reload failure caused by WebSocket event loop conflicts ([#1627](https://github.com/agentscope-ai/CoPaw/pull/1627), [#1726](https://github.com/agentscope-ai/CoPaw/pull/1726), [#1817](https://github.com/agentscope-ai/CoPaw/pull/1817))
**Providers & Models**
- **Ollama / LM Studio**: Fixed context length settings not taking effect; connection and model-fetch errors now show the actual error message ([#1427](https://github.com/agentscope-ai/CoPaw/pull/1427), [#1745](https://github.com/agentscope-ai/CoPaw/pull/1745))
- **Streaming Response**: Fixed a crash when streaming response chunks have no choices ([#1524](https://github.com/agentscope-ai/CoPaw/pull/1524))
- **Reasoning Content**: Fixed reasoning content being lost when the message formatter changes the assistant message count ([#1557](https://github.com/agentscope-ai/CoPaw/pull/1557))
- **Tool Choice**: Fixed `tool_choice` being incorrectly forced to `auto`; it is now passed through as-is ([#1570](https://github.com/agentscope-ai/CoPaw/pull/1570))
**Skills**
- **Cron Jobs**: Fixed weekday name mismatch causing cron jobs to fire on wrong days; added UTC time context to prevent timezone drift; custom cron expressions now survive editing in the UI; invalid cron jobs are gracefully skipped; agents can now create cron jobs in the correct workspace ([#1269](https://github.com/agentscope-ai/CoPaw/pull/1269), [#1432](https://github.com/agentscope-ai/CoPaw/pull/1432), [#1257](https://github.com/agentscope-ai/CoPaw/pull/1257), [#1734](https://github.com/agentscope-ai/CoPaw/pull/1734), [#1768](https://github.com/agentscope-ai/CoPaw/pull/1768), [#1839](https://github.com/agentscope-ai/CoPaw/pull/1839))
- **Skills**: Fixed import failures when skill names contain `/`; removed duplicate built-in skill listings; fixed incomplete file imports from bundles; restored skill enable/disable after sync refactor; added cancel option and timeout reminder for slow imports; skill descriptions now display correctly in the console; added user-friendly error messages with security scan details when import fails ([#1369](https://github.com/agentscope-ai/CoPaw/pull/1369), [#1396](https://github.com/agentscope-ai/CoPaw/pull/1396), [#1576](https://github.com/agentscope-ai/CoPaw/pull/1576), [#1716](https://github.com/agentscope-ai/CoPaw/pull/1716), [#1720](https://github.com/agentscope-ai/CoPaw/pull/1720), [#1626](https://github.com/agentscope-ai/CoPaw/pull/1626), [#1862](https://github.com/agentscope-ai/CoPaw/pull/1862))
**Console, UI & Platform**
- **Memory Compaction**: Fixed a crash when the system prompt is empty during memory compaction ([#1608](https://github.com/agentscope-ai/CoPaw/pull/1608))
- **Console Chat**: Fixed unwanted page redirect on refresh; copy now extracts text content instead of raw JSON; session list refreshes correctly when switching agents; chat sessions now persist across page navigation ([#1373](https://github.com/agentscope-ai/CoPaw/pull/1373), [#1471](https://github.com/agentscope-ai/CoPaw/pull/1471), [#1662](https://github.com/agentscope-ai/CoPaw/pull/1662), [#1722](https://github.com/agentscope-ai/CoPaw/pull/1722))
- **Console UI**: Fixed static resource loading failures, workspace list refresh, workspace path display, version notification filtering, and miscellaneous TypeScript errors ([#1402](https://github.com/agentscope-ai/CoPaw/pull/1402), [#1737](https://github.com/agentscope-ai/CoPaw/pull/1737), [#1764](https://github.com/agentscope-ai/CoPaw/pull/1764), [#1769](https://github.com/agentscope-ai/CoPaw/pull/1769), [#1822](https://github.com/agentscope-ai/CoPaw/pull/1822))
- **Windows Compatibility**: Fixed cross-disk file moves, suppressed spurious AutoRun stderr in shell commands, and fixed emoji/Unicode logging on GBK consoles ([#1483](https://github.com/agentscope-ai/CoPaw/pull/1483), [#1556](https://github.com/agentscope-ai/CoPaw/pull/1556), [#1601](https://github.com/agentscope-ai/CoPaw/pull/1601), [#1495](https://github.com/agentscope-ai/CoPaw/pull/1495))
## 📚 Documentation
- **Ollama Context Length**: Added a warning about Ollama and LM Studio context length configuration ([#1433](https://github.com/agentscope-ai/CoPaw/pull/1433))
- **Chinese Docs**: Fixed formatting and consistency issues across Chinese documentation ([#1300](https://github.com/agentscope-ai/CoPaw/pull/1300))
- **Docker QuickStart**: Aligned Docker secrets documentation on the QuickStart page ([#1584](https://github.com/agentscope-ai/CoPaw/pull/1584))
- **Cron Skill**: Updated `--channel` options in cron skill docs to list all supported channels ([#1541](https://github.com/agentscope-ai/CoPaw/pull/1541))
- **Channel Allowlist**: Added documentation for channel allowlist configuration, mentions, and ID hints ([#1760](https://github.com/agentscope-ai/CoPaw/pull/1760))
- **Developer Community**: Added developer community group information ([#1678](https://github.com/agentscope-ai/CoPaw/pull/1678))
- **Console**: Updated the release note link in the console UI ([#1622](https://github.com/agentscope-ai/CoPaw/pull/1622))
- **WeCom SDK**: Added instructions for using the official WeCom AI Bot SDK for channel setup ([#1843](https://github.com/agentscope-ai/CoPaw/pull/1843))
+119
View File
@@ -0,0 +1,119 @@
## ✨ 新增功能
**架构**
- **多 Agent / 多工作区架构**:支持同时运行多个 Agent,每个 Agent 拥有独立的工作区,包含各自的配置、记忆、技能和工具。控制台新增 Agent 切换器,方便在不同 Agent 间快速切换 ([#1375](https://github.com/agentscope-ai/CoPaw/pull/1375), [#1625](https://github.com/agentscope-ai/CoPaw/pull/1625), [#1670](https://github.com/agentscope-ai/CoPaw/pull/1670), [#1714](https://github.com/agentscope-ai/CoPaw/pull/1714), [#1664](https://github.com/agentscope-ai/CoPaw/pull/1664), [#1614](https://github.com/agentscope-ai/CoPaw/pull/1614))
- **上下文管理**:新增 Token 计数功能,支持 `/dump_history` 和 `/load_history` 命令导出/导入对话历史,可配置历史长度上限,记忆压缩时显示进度提示 ([#1628](https://github.com/agentscope-ai/CoPaw/pull/1628), [#1754](https://github.com/agentscope-ai/CoPaw/pull/1754), [#1689](https://github.com/agentscope-ai/CoPaw/pull/1689))
**安全**
- **技能安全扫描**:技能在安装前会自动进行静态分析扫描,检测提示词注入、命令注入、硬编码密钥、数据外泄等安全风险 ([#564](https://github.com/agentscope-ai/CoPaw/pull/564))
- **危险命令检测**:新增安全规则,可识别磁盘格式化、fork 炸弹、反向 Shell、权限提升等危险 Shell 命令 ([#1484](https://github.com/agentscope-ai/CoPaw/pull/1484), [#1529](https://github.com/agentscope-ai/CoPaw/pull/1529))
- **Web 登录认证**:新增可选的 Web 认证功能,支持单用户注册、Token 登录、本地访问免认证、以及 CLI 命令([#1329](https://github.com/agentscope-ai/CoPaw/pull/1329), [#1666](https://github.com/agentscope-ai/CoPaw/pull/1666), [#1719](https://github.com/agentscope-ai/CoPaw/pull/1719))
**通道(Channels)**
- **企业微信通道**:新增企业微信通道,支持富媒体消息收发、扫码接入、控制台配置 UI ([#1407](https://github.com/agentscope-ai/CoPaw/pull/1407), [#1706](https://github.com/agentscope-ai/CoPaw/pull/1706), [#1725](https://github.com/agentscope-ai/CoPaw/pull/1725), [#1728](https://github.com/agentscope-ai/CoPaw/pull/1728), [#1681](https://github.com/agentscope-ai/CoPaw/pull/1681), [#1747](https://github.com/agentscope-ai/CoPaw/pull/1747), [#1766](https://github.com/agentscope-ai/CoPaw/pull/1766), [#1618](https://github.com/agentscope-ai/CoPaw/pull/1618), [#1631](https://github.com/agentscope-ai/CoPaw/pull/1631), [#1860](https://github.com/agentscope-ai/CoPaw/pull/1860), [#1856](https://github.com/agentscope-ai/CoPaw/pull/1856))
- **小艺通道**:新增小艺通道 ([#1213](https://github.com/agentscope-ai/CoPaw/pull/1213))
- **钉钉 AI 卡片回复**:钉钉现已支持 AI 卡片形式的流式回复,不可用时自动回退到 Webhook/Markdown 方式 ([#1118](https://github.com/agentscope-ai/CoPaw/pull/1118))
**技能与工具**
- **LobeHub 技能导入**:支持直接从 LobeHub 导入技能 ([#1350](https://github.com/agentscope-ai/CoPaw/pull/1350))
- **魔搭技能市场**:支持从魔搭(ModelScope)技能市场导入技能 ([#1673](https://github.com/agentscope-ai/CoPaw/pull/1673))
- **内置技能版本同步**:内置技能现在会跟踪版本号,升级时自动同步更新,同时保留用户的自定义修改 ([#1674](https://github.com/agentscope-ai/CoPaw/pull/1674), [#1716](https://github.com/agentscope-ai/CoPaw/pull/1716), [#1749](https://github.com/agentscope-ai/CoPaw/pull/1749))
- **引导技能**:新增内置引导技能,可通过本地文档和官网回答 CoPaw 的安装与配置问题 ([#1522](https://github.com/agentscope-ai/CoPaw/pull/1522))
- **Zip 压缩包技能导入**:支持在控制台直接上传 Zip 压缩包导入技能 ([#1840](https://github.com/agentscope-ai/CoPaw/pull/1840))
- **内置工具**:新增 `glob_search` 和 `grep_search` 内置工具,用于在 Agent 工作区中进行文件搜索和内容搜索 ([#1852](https://github.com/agentscope-ai/CoPaw/pull/1852))
- **MCP Header 环境变量**:MCP HTTP 客户端请求头支持 `${ENV_VAR}` 占位符展开 ([#1629](https://github.com/agentscope-ai/CoPaw/pull/1629))
**多模态**
- **控制台多模态对话**:控制台聊天现在支持在文本消息中附带图片和文件 ([#1772](https://github.com/agentscope-ai/CoPaw/pull/1772))
- **图片分析工具**:新增 `view_image` 工具,让 LLM 能够分析本地图片,用于多模态对话 ([#1526](https://github.com/agentscope-ai/CoPaw/pull/1526))
- **非多模态模型媒体回退**:当非多模态 LLM 收到图片/音频/视频内容时,系统会自动去除媒体块并重试请求 ([#1676](https://github.com/agentscope-ai/CoPaw/pull/1676))
- **语音转文字**:支持通过 Whisper API 或本地 Whisper 模型对语音消息进行转录,包含音频格式转换和控制台语音转录设置页 ([#1476](https://github.com/agentscope-ai/CoPaw/pull/1476), [#1726](https://github.com/agentscope-ai/CoPaw/pull/1726))
**模型供应商(Providers)**
- **Gemini**:新增 Google Gemini 作为内置模型供应商 ([#1507](https://github.com/agentscope-ai/CoPaw/pull/1507))
- **DeepSeek**:新增 DeepSeek 作为内置模型供应商 ([#1498](https://github.com/agentscope-ai/CoPaw/pull/1498))
- **MiniMax**:新增 MiniMax 作为内置模型供应商,国际版与国内版分别配置 ([#1376](https://github.com/agentscope-ai/CoPaw/pull/1376), [#1735](https://github.com/agentscope-ai/CoPaw/pull/1735))
- **Kimi**:新增 Kimi 作为内置模型供应商,国内版与国际版分别配置 ([#1832](https://github.com/agentscope-ai/CoPaw/pull/1832))
**CLI 与部署**
- **`copaw update` 命令**:新增 `copaw update` 和 `copaw shutdown` 命令,`copaw update` 自动检测环境并从 PyPI 升级 ([#1278](https://github.com/agentscope-ai/CoPaw/pull/1278))
- **Docker Compose**:Docker 部署改用 `docker-compose.yml`,简化了配置和数据卷管理 ([#1320](https://github.com/agentscope-ai/CoPaw/pull/1320))
- **Docker 镜像**:Docker 镜像新增了更多通道依赖 ([#1761](https://github.com/agentscope-ai/CoPaw/pull/1761))
**控制台与界面**
- **暗色模式**:控制台全面支持暗色模式,提供亮色/暗色/跟随系统三种切换选项,覆盖所有页面 ([#1566](https://github.com/agentscope-ai/CoPaw/pull/1566), [#1637](https://github.com/agentscope-ai/CoPaw/pull/1637), [#1662](https://github.com/agentscope-ai/CoPaw/pull/1662))
- **流式对话**:控制台中的 Agent 回复现在以 SSE 方式流式输出,支持断线重连和中途停止 ([#1571](https://github.com/agentscope-ai/CoPaw/pull/1571), [#1672](https://github.com/agentscope-ai/CoPaw/pull/1672))
**其他**
- **时区配置**:控制台新增时区选择器,时区会应用到系统提示词、定时任务和心跳检测等场景,支持多平台自动检测 ([#1535](https://github.com/agentscope-ai/CoPaw/pull/1535), [#1746](https://github.com/agentscope-ai/CoPaw/pull/1746))
- **系统提示词包含 OS 信息**:系统提示词中自动注入操作系统信息,让模型回复更贴合当前平台 ([#1660](https://github.com/agentscope-ai/CoPaw/pull/1660))
## 🔄 变更
**核心与生命周期**
- **优雅的生命周期管理**:桌面端关闭时子进程会正常终止,Agent 重载实现零停机切换,关闭前会等待所有活跃任务完成 ([#1646](https://github.com/agentscope-ai/CoPaw/pull/1646), [#1664](https://github.com/agentscope-ai/CoPaw/pull/1664), [#1714](https://github.com/agentscope-ai/CoPaw/pull/1714))
- **自定义工作目录**:全面替换了代码中硬编码的 `~/.copaw` 路径,`COPAW_WORKING_DIR` 环境变量现在可以正常生效 ([#1652](https://github.com/agentscope-ai/CoPaw/pull/1652))
- **动态 Token 计数**:Token 计数现在使用 Agent 级别的配置,而非硬编码的全局分词器,支持按 Agent 配置计数策略 ([#1819](https://github.com/agentscope-ai/CoPaw/pull/1819))
- **配置加载保护**:配置加载过程增加了错误处理,路径规范化或心跳配置失败不再导致应用崩溃 ([#1865](https://github.com/agentscope-ai/CoPaw/pull/1865))
**模型与供应商**
- **模型显示一致性**:控制台在页面切换时会重新获取当前模型信息,确保显示的供应商和模型始终一致 ([#1420](https://github.com/agentscope-ai/CoPaw/pull/1420))
- **Ollama 默认地址**:Ollama 默认地址从 `localhost` 改为 `127.0.0.1`,连接更稳定 ([#1480](https://github.com/agentscope-ai/CoPaw/pull/1480))
- **供应商请求头**:改进了供应商专用 HTTP 请求头的处理方式,DashScope 使用精确 URL 匹配 ([#1757](https://github.com/agentscope-ai/CoPaw/pull/1757))
**控制台、界面与平台**
- **多语言支持**:改进了控制台的多语言支持,同步了语言设置、文档导航本地化,以及聊天提示词和欢迎文案的本地化 ([#1409](https://github.com/agentscope-ai/CoPaw/pull/1409), [#1686](https://github.com/agentscope-ai/CoPaw/pull/1686), [#1707](https://github.com/agentscope-ai/CoPaw/pull/1707), [#1858](https://github.com/agentscope-ai/CoPaw/pull/1858))
- **工作区路径**:编辑已有 Agent 时,工作区路径变为只读,避免误修改 ([#1624](https://github.com/agentscope-ai/CoPaw/pull/1624), [#1764](https://github.com/agentscope-ai/CoPaw/pull/1764))
- **Windows 桌面端启动加速**:预编译 Python 字节码,加快 Windows 桌面端启动速度 ([#1639](https://github.com/agentscope-ai/CoPaw/pull/1639))
- **QQ 频道回复优化**:改进了回复逻辑,支持私聊回复,优化了被封锁 URL 的处理方式 ([#1650](https://github.com/agentscope-ai/CoPaw/pull/1650))
## 🐛 修复
**通道(Channels)**
- **Telegram**:修复了消息线程回复、媒体处理和错误上报的问题;轮询断线后现在会以指数退避方式自动重连 ([#1210](https://github.com/agentscope-ai/CoPaw/pull/1210), [#1475](https://github.com/agentscope-ai/CoPaw/pull/1475))
- **Discord**:修复了不同频道的消息被错误合并的问题;修正了定时任务中 Discord ID 的格式处理;将会话级防抖逻辑推广到所有通道 ([#300](https://github.com/agentscope-ai/CoPaw/pull/300), [#1002](https://github.com/agentscope-ai/CoPaw/pull/1002), [#1583](https://github.com/agentscope-ai/CoPaw/pull/1583))
- **钉钉**:修复了发送者信息不完整时消息被错误跳过的问题;过滤了富文本解析中的空文本块 ([#851](https://github.com/agentscope-ai/CoPaw/pull/851), [#1554](https://github.com/agentscope-ai/CoPaw/pull/1554))
- **飞书**:修复了卡片中表格超出单卡元素上限的问题;新增语音消息处理能力;修复了 WebSocket 事件循环冲突导致的通道重载失败 ([#1627](https://github.com/agentscope-ai/CoPaw/pull/1627), [#1726](https://github.com/agentscope-ai/CoPaw/pull/1726), [#1817](https://github.com/agentscope-ai/CoPaw/pull/1817))
**模型与供应商**
- **Ollama / LM Studio**:修复了上下文长度设置不生效的问题;连接和模型拉取错误现在会显示具体的错误信息 ([#1427](https://github.com/agentscope-ai/CoPaw/pull/1427), [#1745](https://github.com/agentscope-ai/CoPaw/pull/1745))
- **流式响应**:修复了流式响应 chunk 没有 choices 时导致崩溃的问题 ([#1524](https://github.com/agentscope-ai/CoPaw/pull/1524))
- **推理内容**:修复了消息格式化改变助手消息数量后,推理内容(reasoning_content)丢失的问题 ([#1557](https://github.com/agentscope-ai/CoPaw/pull/1557))
- **工具选择**:修复了 `tool_choice` 被错误强制设为 `auto` 的问题,现在会原样传递 ([#1570](https://github.com/agentscope-ai/CoPaw/pull/1570))
**技能(Skills)**
- **定时任务**:修复了星期名称不匹配导致定时任务在错误日期触发的问题;注入 UTC 时间上下文防止时区漂移;自定义 Cron 表达式在 UI 编辑后不再丢失;无效定时任务会被优雅跳过;Agent 现在能在正确的工作区中创建定时任务 ([#1269](https://github.com/agentscope-ai/CoPaw/pull/1269), [#1432](https://github.com/agentscope-ai/CoPaw/pull/1432), [#1257](https://github.com/agentscope-ai/CoPaw/pull/1257), [#1734](https://github.com/agentscope-ai/CoPaw/pull/1734), [#1768](https://github.com/agentscope-ai/CoPaw/pull/1768), [#1839](https://github.com/agentscope-ai/CoPaw/pull/1839))
- **技能管理**:修复了技能名含 `/` 时导入失败;去除了重复的内置技能列表;修复了从包导入时文件不完整的问题;恢复了技能同步重构后的启用/禁用功能;新增导入超时提示和取消选项;技能描述现在能正确显示在控制台;导入失败时显示安全扫描详情等友好错误信息 ([#1369](https://github.com/agentscope-ai/CoPaw/pull/1369), [#1396](https://github.com/agentscope-ai/CoPaw/pull/1396), [#1576](https://github.com/agentscope-ai/CoPaw/pull/1576), [#1716](https://github.com/agentscope-ai/CoPaw/pull/1716), [#1720](https://github.com/agentscope-ai/CoPaw/pull/1720), [#1626](https://github.com/agentscope-ai/CoPaw/pull/1626), [#1862](https://github.com/agentscope-ai/CoPaw/pull/1862))
**控制台、界面与平台**
- **记忆压缩**:修复了系统提示词为空时记忆压缩崩溃的问题 ([#1608](https://github.com/agentscope-ai/CoPaw/pull/1608))
- **控制台对话**:修复了刷新页面时错误跳转到聊天页;复制功能现在提取文本内容而非原始 JSON;切换 Agent 时会话列表能正确刷新;聊天会话在页面导航后可以保持 ([#1373](https://github.com/agentscope-ai/CoPaw/pull/1373), [#1471](https://github.com/agentscope-ai/CoPaw/pull/1471), [#1662](https://github.com/agentscope-ai/CoPaw/pull/1662), [#1722](https://github.com/agentscope-ai/CoPaw/pull/1722))
- **控制台 UI**:修复了静态资源加载失败、工作区列表刷新异常、工作区路径显示问题、版本更新通知过滤以及 TypeScript 相关错误 ([#1402](https://github.com/agentscope-ai/CoPaw/pull/1402), [#1737](https://github.com/agentscope-ai/CoPaw/pull/1737), [#1764](https://github.com/agentscope-ai/CoPaw/pull/1764), [#1769](https://github.com/agentscope-ai/CoPaw/pull/1769), [#1822](https://github.com/agentscope-ai/CoPaw/pull/1822))
- **Windows 兼容性**:修复了跨磁盘文件移动失败的问题;抑制了 Shell 命令执行时 AutoRun 产生的多余 stderr 输出;修复了 GBK 控制台下 emoji/Unicode 日志乱码 ([#1483](https://github.com/agentscope-ai/CoPaw/pull/1483), [#1556](https://github.com/agentscope-ai/CoPaw/pull/1556), [#1601](https://github.com/agentscope-ai/CoPaw/pull/1601), [#1495](https://github.com/agentscope-ai/CoPaw/pull/1495))
## 📚 文档
- **Ollama 上下文长度**:新增关于 Ollama 和 LM Studio 上下文长度配置的提示文档 ([#1433](https://github.com/agentscope-ai/CoPaw/pull/1433))
- **中文文档**:修复了中文文档中的排版和一致性问题 ([#1300](https://github.com/agentscope-ai/CoPaw/pull/1300))
- **Docker 快速开始**:统一了快速开始页面中 Docker 密钥配置的文档说明 ([#1584](https://github.com/agentscope-ai/CoPaw/pull/1584))
- **定时任务技能**:更新了定时任务技能文档中 `--channel` 选项,列出所有支持的通道 ([#1541](https://github.com/agentscope-ai/CoPaw/pull/1541))
- **通道白名单**:新增通道白名单配置、@提及、白名单 ID 说明的文档 ([#1760](https://github.com/agentscope-ai/CoPaw/pull/1760))
- **开发者社区**:新增开发者社区信息 ([#1678](https://github.com/agentscope-ai/CoPaw/pull/1678))
- **控制台**:更新了控制台中的 Release Note 链接 ([#1622](https://github.com/agentscope-ai/CoPaw/pull/1622))
- **企业微信 SDK**:新增企业微信 AI Bot 官方 SDK 的使用说明 ([#1843](https://github.com/agentscope-ai/CoPaw/pull/1843))
+98
View File
@@ -0,0 +1,98 @@
## ✨ Added
**Agent**
- **Inter-Agent Communication**: Added `copaw agents` and `copaw message` CLI commands for listing agents, pushing messages to channels, and sending requests between agents ([#1959](https://github.com/agentscope-ai/CoPaw/pull/1959), [#2161](https://github.com/agentscope-ai/CoPaw/pull/2161))
- **Built-in QA Agent**: Ships a pre-configured QA agent for answering CoPaw installation and usage questions ([#2189](https://github.com/agentscope-ai/CoPaw/pull/2189))
- **Configurable LLM Auto-Retry**: LLM retry behavior is now configurable per agent from the console Settings page. ([#2002](https://github.com/agentscope-ai/CoPaw/pull/2002))
- **Summarization Improvements**: When the agent reaches max iterations and enters summarization, a "round ended" notice is appended to guide the user ([#1965](https://github.com/agentscope-ai/CoPaw/pull/1965), [#2163](https://github.com/agentscope-ai/CoPaw/pull/2163))
- **Config Auto-Repair**: If `config.json` is corrupted or has minor syntax errors, it is automatically repaired on load. Unrecoverable files are backed up with a unique suffix and CoPaw starts with default settings instead of crashing ([#2164](https://github.com/agentscope-ai/CoPaw/pull/2164))
**Security**
- **File Access Guard**: Added a configurable deny list for sensitive files and directories. When enabled, the agent's tools are blocked from reading or writing those paths ([#1762](https://github.com/agentscope-ai/CoPaw/pull/1762))
- **Tool Guard Enhanced**: Tool guard is now enhanced and works correctly when multiple tools run in parallel ([#1984](https://github.com/agentscope-ai/CoPaw/pull/1984), [#1948](https://github.com/agentscope-ai/CoPaw/pull/1948))
**Channels**
- **Feishu / Lark SDK Migration**: Migrated the Feishu channel to the official `lark-oapi` SDK with native async calls, and added a region selector (Feishu China vs Lark International). ([#1946](https://github.com/agentscope-ai/CoPaw/pull/1946), [#2108](https://github.com/agentscope-ai/CoPaw/pull/2108), [#2178](https://github.com/agentscope-ai/CoPaw/pull/2178))
- **XiaoYi File & Image Support**: Users can now send images and documents through the XiaoYi channel. ([#1885](https://github.com/agentscope-ai/CoPaw/pull/1885))
**Console & UI**
- **Audio, Video & Speech Input**: Console chat now supports sending and displaying audio, video and speech attachments natively ([#2114](https://github.com/agentscope-ai/CoPaw/pull/2114), [#2180](https://github.com/agentscope-ai/CoPaw/pull/2180))
- **Stream Reconnection**: If a page refresh occurs while the agent is still responding, the console automatically reconnects to the in-flight streaming session and preserves the user's input text ([#1931](https://github.com/agentscope-ai/CoPaw/pull/1931))
- **Web Account Management**: Users can now change their username and password from the console sidebar when authentication is enabled ([#1989](https://github.com/agentscope-ai/CoPaw/pull/1989))
- **Model Provider Search**: Added a search box on the model provider settings page to filter providers by name ([#2062](https://github.com/agentscope-ai/CoPaw/pull/2062))
- **Chat Scrollbar**: Added a styled scrollbar to the chat conversation area for easier navigation of long threads ([#2083](https://github.com/agentscope-ai/CoPaw/pull/2083))
**Providers**
- **Multimodal Capability Probing**: Models can now be probed for image and video support, and system prompt includes hints about the active model's multimodal capabilities ([#2045](https://github.com/agentscope-ai/CoPaw/pull/2045), [#2183](https://github.com/agentscope-ai/CoPaw/pull/2183))
- **Gemini Tool Image Support**: Gemini models now correctly surface images returned by tools in the conversation, matching existing OpenAI behavior ([#2127](https://github.com/agentscope-ai/CoPaw/pull/2127))
**Skills & Tools**
- **Enhanced Grep & Glob Search**: The built-in grep and glob tools now skip heavy directories, enforce output size and time limits with configurable timeouts ([#2186](https://github.com/agentscope-ai/CoPaw/pull/2186))
- **Workspace-Relative Tool Output**: Screenshots, PDFs, browser snapshots, and other tool output files are now saved under the agent's workspace directory instead of the process working directory ([#2159](https://github.com/agentscope-ai/CoPaw/pull/2159))
## 🔄 Changed
**Core & Lifecycle**
- **Stable Prompts for KV Cache**: The environment context injected into each request now includes only the current date instead of a full timestamp, so prompt content stays stable across requests and improves LLM KV cache hit rates ([#2176](https://github.com/agentscope-ai/CoPaw/pull/2176))
- **Faster CLI Startup**: CLI commands are now lazy-loaded so `copaw --help` and subcommands start significantly faster ([#2135](https://github.com/agentscope-ai/CoPaw/pull/2135))
**Channels**
- **QQ Channel Refactor**: Simplified the QQ channel implementation and added comprehensive unit tests ([#1930](https://github.com/agentscope-ai/CoPaw/pull/1930))
- **Smart Text Chunking for QQ & WeCom**: Long messages on QQ and WeCom are now automatically split at natural boundaries ([#1937](https://github.com/agentscope-ai/CoPaw/pull/1937))
- **QQ WebSocket Reconnect**: Made reconnect attempts configurable and fixed cleanup ([#2162](https://github.com/agentscope-ai/CoPaw/pull/2162))
**Console & Backend**
- **Simplified File I/O**: Replaced async file operations with synchronous ones in several non-critical paths to reduce complexity ([#1962](https://github.com/agentscope-ai/CoPaw/pull/1962))
- **MCP Startup Resilience**: A single MCP client failing to connect no longer blocks the entire application from starting ([#1956](https://github.com/agentscope-ai/CoPaw/pull/1956))
- **Dark Mode Polish**: Polished dark mode across select controls, header titles, multi-selection dropdowns, menus, and the security settings page ([#1920](https://github.com/agentscope-ai/CoPaw/pull/1920), [#2081](https://github.com/agentscope-ai/CoPaw/pull/2081), [#2094](https://github.com/agentscope-ai/CoPaw/pull/2094), [#2096](https://github.com/agentscope-ai/CoPaw/pull/2096))
## 🐛 Fixed
**Shell & Deploy**
- **Shell Command Hang on Windows**: Fixed a hang caused by pipe deadlocks when running shell commands on Windows ([#2093](https://github.com/agentscope-ai/CoPaw/pull/2093), [#1919](https://github.com/agentscope-ai/CoPaw/pull/1919), [#2136](https://github.com/agentscope-ai/CoPaw/pull/2136))
- **Shell Stderr Visibility**: When a shell command succeeds but only writes to stderr, the output is now included in the tool response instead of being silently dropped ([#2125](https://github.com/agentscope-ai/CoPaw/pull/2125))
- **Shell & File Paths on Windows**: Fixed `check=True` error handling and `file://` URL-to-path conversion in Telegram and Discord channels on Windows ([#1065](https://github.com/agentscope-ai/CoPaw/pull/1065))
- **macOS Desktop Build**: Fixed macOS desktop release builds failing due to `llama-cpp-python` dependency conflicts ([#1914](https://github.com/agentscope-ai/CoPaw/pull/1914))
**Providers & Models**
- **Anthropic Overloaded Retry**: Anthropic "overloaded" responses (HTTP 529) are now automatically retried like other transient errors ([#1891](https://github.com/agentscope-ai/CoPaw/pull/1891))
- **Model Connection Test**: The "Test Connection" button now uses the same message format as real chat requests ([#1909](https://github.com/agentscope-ai/CoPaw/pull/1909))
**Channels**
- **Channel Message Processing Leak**: Fixed a lock leak in channel message processing that could cause messages to stop being handled after errors ([#2168](https://github.com/agentscope-ai/CoPaw/pull/2168))
- **Custom Channel Config**: Fixed custom channel configurations stored as plain dictionaries not being loaded correctly ([#1991](https://github.com/agentscope-ai/CoPaw/pull/1991))
**Console & UI**
- **Agent List**: Fixed a crash when the agent list is empty, and ensured the list refreshes immediately after saving an agent ([#2086](https://github.com/agentscope-ai/CoPaw/pull/2086), [#2112](https://github.com/agentscope-ai/CoPaw/pull/2112))
- **Console Static Files**: Fixed console UI not loading when CoPaw is launched from a different working directory ([#1923](https://github.com/agentscope-ai/CoPaw/pull/1923))
- **Swagger Docs Route**: Fixed `/docs` and `/redoc` API documentation pages being overridden by the console SPA routing ([#1847](https://github.com/agentscope-ai/CoPaw/pull/1847))
- **Expired Push Messages**: Console notifications now correctly expire and are cleaned up, preventing stale messages from accumulating ([#623](https://github.com/agentscope-ai/CoPaw/pull/623))
- **Console Reconnect Overflow**: Fixed a queue overflow error that could break console reconnection when replaying buffered messages ([#2001](https://github.com/agentscope-ai/CoPaw/pull/2001))
- **Mermaid Chart Scroll Jump**: Fixed Mermaid diagrams on the documentation site causing the page to jump when rendered ([#1980](https://github.com/agentscope-ai/CoPaw/pull/1980))
**Agent & Memory**
- **Token Usage Lock**: Fixed a blocking lock in token usage recording that could freeze the event loop under concurrent requests ([#1893](https://github.com/agentscope-ai/CoPaw/pull/1893), [#2016](https://github.com/agentscope-ai/CoPaw/pull/2016))
- **Memory Timezone**: Memory summarization now uses the user's configured timezone for daily note naming instead of system local time ([#1814](https://github.com/agentscope-ai/CoPaw/pull/1814))
- **Empty Compaction Results**: Memory compaction no longer silently fails when the result is empty; a clear error message is shown instead ([#2129](https://github.com/agentscope-ai/CoPaw/pull/2129))
- **Cron Job Cancellation**: Cancelled cron jobs now correctly report their terminal status instead of staying stuck in "running" ([#1894](https://github.com/agentscope-ai/CoPaw/pull/1894))
- **Task Tracker Init**: Fixed task tracker initialization that prevented event listeners from receiving updates ([#2095](https://github.com/agentscope-ai/CoPaw/pull/2095))
## 📚 Documentation
- **Windows Desktop Upgrade Guide**: Added FAQ entry explaining how to upgrade the Windows desktop (exe) version ([#1973](https://github.com/agentscope-ai/CoPaw/pull/1973))
- **Windows Port 8088 Conflict Guide**: Added FAQ entry for resolving port 8088 conflicts on Windows (common with Hyper-V / WSL), with instructions for pip, Docker, and desktop installs ([#1995](https://github.com/agentscope-ai/CoPaw/pull/1995))
- **Community QR Codes**: Added Discord and DingTalk community QR codes to the website homepage ([#1993](https://github.com/agentscope-ai/CoPaw/pull/1993))
+98
View File
@@ -0,0 +1,98 @@
## ✨ 新增功能
**Agent**
- **Agent 间通信**:新增 `copaw agents` 和 `copaw message` CLI 命令,支持查看 Agent 列表、向通道推送消息,以及在 Agent 之间发送请求 ([#1959](https://github.com/agentscope-ai/CoPaw/pull/1959), [#2161](https://github.com/agentscope-ai/CoPaw/pull/2161))
- **内置 QA Agent**:预置了一个 QA Agent,专门回答 CoPaw 安装和使用相关问题 ([#2189](https://github.com/agentscope-ai/CoPaw/pull/2189))
- **可配置的 LLM 自动重试**:LLM 重试行为现在可以按 Agent 在控制台设置页面中单独配置 ([#2002](https://github.com/agentscope-ai/CoPaw/pull/2002))
- **摘要优化**:当 Agent 达到最大迭代次数并进入摘要阶段时,会自动追加"本轮已结束"的提示,引导用户继续 ([#1965](https://github.com/agentscope-ai/CoPaw/pull/1965), [#2163](https://github.com/agentscope-ai/CoPaw/pull/2163))
- **配置文件自动修复**:如果 `config.json` 损坏或存在语法错误,加载时会自动尝试修复。无法修复的文件会以唯一后缀备份,CoPaw 将使用默认配置启动,不再崩溃 ([#2164](https://github.com/agentscope-ai/CoPaw/pull/2164))
**安全**
- **文件访问守卫**:新增敏感文件和目录的拒绝名单配置。开启后,Agent 的工具将被阻止读写这些路径 ([#1762](https://github.com/agentscope-ai/CoPaw/pull/1762))
- **工具守卫增强**:工具守卫功能得到增强,现在在多个工具并行执行时也能正确工作 ([#1984](https://github.com/agentscope-ai/CoPaw/pull/1984), [#1948](https://github.com/agentscope-ai/CoPaw/pull/1948))
**通道(Channels)**
- **飞书 / Lark SDK 迁移**:飞书通道已迁移至官方 `lark-oapi` SDK 并支持原生异步调用,同时新增区域选择器(飞书中国 / Lark 国际版) ([#1946](https://github.com/agentscope-ai/CoPaw/pull/1946), [#2108](https://github.com/agentscope-ai/CoPaw/pull/2108), [#2178](https://github.com/agentscope-ai/CoPaw/pull/2178))
- **小艺通道文件与图片支持**:用户现在可以通过小艺通道发送图片和文档 ([#1885](https://github.com/agentscope-ai/CoPaw/pull/1885))
**控制台与界面**
- **音视频与语音输入**:控制台聊天现已原生支持音频、视频和语音附件的发送与展示 ([#2114](https://github.com/agentscope-ai/CoPaw/pull/2114), [#2180](https://github.com/agentscope-ai/CoPaw/pull/2180))
- **流式重连**:如果在 Agent 仍在回复时刷新页面,控制台会自动重连到进行中的流式会话,并保留用户已输入的文本 ([#1931](https://github.com/agentscope-ai/CoPaw/pull/1931))
- **Web 账户管理**:开启认证后,用户可以在控制台侧边栏修改用户名和密码 ([#1989](https://github.com/agentscope-ai/CoPaw/pull/1989))
- **模型供应商搜索**:模型供应商设置页面新增搜索框,可按名称快速筛选供应商 ([#2062](https://github.com/agentscope-ai/CoPaw/pull/2062))
- **聊天滚动条**:聊天对话区域新增样式化滚动条,方便浏览长对话 ([#2083](https://github.com/agentscope-ai/CoPaw/pull/2083))
**模型供应商(Providers)**
- **多模态能力探测**:现在可以探测模型是否支持图片和视频,系统提示词中也会包含当前模型的多模态能力说明 ([#2045](https://github.com/agentscope-ai/CoPaw/pull/2045), [#2183](https://github.com/agentscope-ai/CoPaw/pull/2183))
- **Gemini 工具图片支持**:Gemini 模型现在能正确展示工具返回的图片,与 OpenAI 行为一致 ([#2127](https://github.com/agentscope-ai/CoPaw/pull/2127))
**技能与工具**
- **增强 Grep 和 Glob 搜索**:内置的 grep 和 glob 搜索工具现在会自动跳过大型目录,并支持输出大小和执行时间限制 ([#2186](https://github.com/agentscope-ai/CoPaw/pull/2186))
- **工具输出文件归入工作区**:截图、PDF、浏览器快照等工具输出文件现在保存在 Agent 的工作区目录下,而非进程工作目录 ([#2159](https://github.com/agentscope-ai/CoPaw/pull/2159))
## 🔄 变更
**核心与生命周期**
- **稳定的提示词以优化 KV Cache**:每次请求注入的环境上下文现在只包含当前日期而非完整时间戳,使提示词内容在请求间保持稳定,提升 LLM KV Cache 命中率 ([#2176](https://github.com/agentscope-ai/CoPaw/pull/2176))
- **CLI 启动加速**:CLI 命令改为延迟加载,`copaw --help` 及各子命令的启动速度显著提升 ([#2135](https://github.com/agentscope-ai/CoPaw/pull/2135))
**通道(Channels)**
- **QQ 通道重构**:简化了 QQ 通道实现,并补充了完整的单元测试 ([#1930](https://github.com/agentscope-ai/CoPaw/pull/1930))
- **QQ 和企业微信智能分块**:QQ 和企业微信上的长消息现在会在自然边界处自动拆分发送 ([#1937](https://github.com/agentscope-ai/CoPaw/pull/1937))
- **QQ WebSocket 重连**:重连次数改为可配置,并修复了清理逻辑 ([#2162](https://github.com/agentscope-ai/CoPaw/pull/2162))
**控制台与后端**
- **简化文件 I/O**:在若干非关键路径上将异步文件操作替换为同步方式,降低代码复杂度 ([#1962](https://github.com/agentscope-ai/CoPaw/pull/1962))
- **MCP 启动容错**:单个 MCP 客户端连接失败时不再阻塞整个应用启动 ([#1956](https://github.com/agentscope-ai/CoPaw/pull/1956))
- **暗色模式优化**:全面优化了暗色模式下选择控件、标题栏、多选下拉、菜单和安全设置页面的样式 ([#1920](https://github.com/agentscope-ai/CoPaw/pull/1920), [#2081](https://github.com/agentscope-ai/CoPaw/pull/2081), [#2094](https://github.com/agentscope-ai/CoPaw/pull/2094), [#2096](https://github.com/agentscope-ai/CoPaw/pull/2096))
## 🐛 修复
**Shell 与部署**
- **Windows Shell 命令挂起**:修复了 Windows 上执行 Shell 命令时因管道死锁导致的挂起问题 ([#2093](https://github.com/agentscope-ai/CoPaw/pull/2093), [#1919](https://github.com/agentscope-ai/CoPaw/pull/1919), [#2136](https://github.com/agentscope-ai/CoPaw/pull/2136))
- **Shell Stderr 输出可见性**:当 Shell 命令执行成功但仅写入 stderr 时,输出现在会包含在工具响应中,不再被静默丢弃 ([#2125](https://github.com/agentscope-ai/CoPaw/pull/2125))
- **Windows 文件路径处理**:修复了 Telegram 和 Discord 通道在 Windows 上 `check=True` 错误处理和 `file://` URL 路径转换的问题 ([#1065](https://github.com/agentscope-ai/CoPaw/pull/1065))
- **macOS 桌面端构建**:修复了因 `llama-cpp-python` 依赖冲突导致 macOS 桌面端构建失败的问题 ([#1914](https://github.com/agentscope-ai/CoPaw/pull/1914))
**模型与供应商**
- **Anthropic 过载重试**:Anthropic "过载" 响应(HTTP 529)现在会像其他临时错误一样自动重试 ([#1891](https://github.com/agentscope-ai/CoPaw/pull/1891))
- **模型连接测试**:"测试连接" 按钮现在使用与实际聊天请求相同的消息格式 ([#1909](https://github.com/agentscope-ai/CoPaw/pull/1909))
**通道(Channels)**
- **通道消息处理锁泄漏**:修复了通道消息处理中的锁泄漏问题,该问题可能导致出错后消息不再被处理 ([#2168](https://github.com/agentscope-ai/CoPaw/pull/2168))
- **自定义通道配置**:修复了以普通字典存储的自定义通道配置无法正确加载的问题 ([#1991](https://github.com/agentscope-ai/CoPaw/pull/1991))
**控制台与界面**
- **Agent 列表**:修复了 Agent 列表为空时的崩溃问题,并确保保存 Agent 后列表立即刷新 ([#2086](https://github.com/agentscope-ai/CoPaw/pull/2086), [#2112](https://github.com/agentscope-ai/CoPaw/pull/2112))
- **控制台静态文件**:修复了从非默认工作目录启动 CoPaw 时控制台 UI 无法加载的问题 ([#1923](https://github.com/agentscope-ai/CoPaw/pull/1923))
- **Swagger 文档路由**:修复了 `/docs` 和 `/redoc` API 文档页面被控制台 SPA 路由覆盖的问题 ([#1847](https://github.com/agentscope-ai/CoPaw/pull/1847))
- **过期推送消息**:控制台通知现在会正确过期并清理,避免过期消息持续堆积 ([#623](https://github.com/agentscope-ai/CoPaw/pull/623))
- **控制台重连溢出**:修复了重连时重放缓冲消息可能触发队列溢出的问题 ([#2001](https://github.com/agentscope-ai/CoPaw/pull/2001))
- **Mermaid 图表滚动跳跃**:修复了文档站 Mermaid 图表渲染时导致页面滚动位置跳动的问题 ([#1980](https://github.com/agentscope-ai/CoPaw/pull/1980))
**Agent 与记忆**
- **Token 使用记录锁**:修复了 Token 使用记录中的阻塞锁问题,该问题在并发请求下可能导致事件循环冻结 ([#1893](https://github.com/agentscope-ai/CoPaw/pull/1893), [#2016](https://github.com/agentscope-ai/CoPaw/pull/2016))
- **记忆时区**:记忆摘要现在使用用户配置的时区来命名每日笔记,而非系统本地时间 ([#1814](https://github.com/agentscope-ai/CoPaw/pull/1814))
- **空压缩结果**:记忆压缩结果为空时不再静默失败,而是显示清晰的错误提示 ([#2129](https://github.com/agentscope-ai/CoPaw/pull/2129))
- **定时任务取消**:被取消的定时任务现在会正确报告终止状态,不再卡在 "running" 状态 ([#1894](https://github.com/agentscope-ai/CoPaw/pull/1894))
- **任务追踪器初始化**:修复了任务追踪器初始化错误,该问题会导致事件监听器收不到更新 ([#2095](https://github.com/agentscope-ai/CoPaw/pull/2095))
## 📚 文档
- **Windows 桌面版升级指南**:新增 FAQ 条目,说明 Windows 桌面版(exe)的升级方法 ([#1973](https://github.com/agentscope-ai/CoPaw/pull/1973))
- **Windows 端口 8088 冲突指南**:新增 FAQ 条目,帮助解决 Windows 上端口 8088 冲突问题(常见于 Hyper-V / WSL),涵盖 pip、Docker 和桌面端的说明 ([#1995](https://github.com/agentscope-ai/CoPaw/pull/1995))
- **社区二维码**:在网站首页新增 Discord 和钉钉社区二维码 ([#1993](https://github.com/agentscope-ai/CoPaw/pull/1993))
+101
View File
@@ -0,0 +1,101 @@
## ✨ Added
**Multi-Agent System**
- **Background Task Support**: Background execution for inter-agent communication with task tracking, status polling, and cancellation via CLI `--background` flag ([#2345](https://github.com/agentscope-ai/CoPaw/pull/2345))
- **Agent Enable/Disable Toggle**: Agents can be enabled or disabled through the console UI and API ([#2249](https://github.com/agentscope-ai/CoPaw/pull/2249))
- **Unified Priority Queue System and `/stop` command**: Per-channel, per-session priority queue system with `/stop` command support for canceling running tasks and clearing queued messages ([#2411](https://github.com/agentscope-ai/CoPaw/pull/2411))
**Providers and Models**
- **CoPaw Local Model**: Built-in local model provider using llama.cpp with automatic download, configuration, and custom repository support ([#2419](https://github.com/agentscope-ai/CoPaw/pull/2419), [#2476](https://github.com/agentscope-ai/CoPaw/pull/2476))
- **Scoped Active Model Selection**: Active model can be set globally in Settings or per-agent in Chat ([#2278](https://github.com/agentscope-ai/CoPaw/pull/2278))
- **Global LLM Rate Limiter**: QPM (queries per minute) sliding window rate limiting, concurrency control with semaphore, and global 429 pause coordination with jitter to prevent thundering-herd retries ([#2282](https://github.com/agentscope-ai/CoPaw/pull/2282))
**Security**
- **System Reboot & Service Protection**: Tool guard rules to block system reboot, shutdown, service control, broad process kill, and privilege escalation commands ([#2333](https://github.com/agentscope-ai/CoPaw/pull/2333))
- **Chinese Prompt Injection Detection**: Extended skill security scanner with Chinese regex patterns for prompt injection and jailbreak attempts ([#2381](https://github.com/agentscope-ai/CoPaw/pull/2381))
**Console & UI**
- **Download Page**: New downloads page for desktop installers with mirror sites ([#2555](https://github.com/agentscope-ai/CoPaw/pull/2555))
- **Multimodal Preview**: Image, audio, video, and file attachments are displayed with proper preview URLs in history messages and streaming ([#2297](https://github.com/agentscope-ai/CoPaw/pull/2297), [#2332](https://github.com/agentscope-ai/CoPaw/pull/2332))
- **Chat Session Labels**: Chat sessions display channel labels and icons for easy identification of message source ([#2483](https://github.com/agentscope-ai/CoPaw/pull/2483))
- **Command Suggestions**: Slash-style command suggestions (`/clear`, `/compact`, `/approve`, `/deny`) in the chat input ([#2415](https://github.com/agentscope-ai/CoPaw/pull/2415))
**Channels**
- **WeChat iLink Bot**: New WeChat personal channel using iLink Bot API ([#2260](https://github.com/agentscope-ai/CoPaw/pull/2260))
- **Custom Channel HTTP Routes**: Custom channels can now register FastAPI routes for webhooks and custom endpoints ([#2140](https://github.com/agentscope-ai/CoPaw/pull/2140))
- **Discord Bot Message Filtering**: New configuration option to control whether messages from other bots are processed ([#2122](https://github.com/agentscope-ai/CoPaw/pull/2122))
- **DingTalk Widescreen Cards**: Support widescreen AI card layout in DingTalk ([#2238](https://github.com/agentscope-ai/CoPaw/pull/2238))
- **WeCom Media Upload**: WebSocket-based media upload for improved reliability over HTTP download paths ([#2401](https://github.com/agentscope-ai/CoPaw/pull/2401))
**Tools & Skills**
- **Async Tool Execution**: Per-tool async execution flag with automatic registration of background task helpers (`view_task`, `wait_task`, `cancel_task`) ([#2391](https://github.com/agentscope-ai/CoPaw/pull/2391))
- **Skill Pool Architecture**: Two-layer skill system with shared skill pool and per-agent workspace skills ([#2173](https://github.com/agentscope-ai/CoPaw/pull/2173), [#2436](https://github.com/agentscope-ai/CoPaw/pull/2436), [#2440](https://github.com/agentscope-ai/CoPaw/pull/2440), [#2477](https://github.com/agentscope-ai/CoPaw/pull/2477), [#2480](https://github.com/agentscope-ai/CoPaw/pull/2480))
- **Browser CDP Support**: Chrome DevTools Protocol (CDP) integration for connecting to running Chrome instances, port scanning, cache clearing, and attaching to remote browsers ([#2294](https://github.com/agentscope-ai/CoPaw/pull/2294))
- **Multi-Workspace Cookie Management**: Browser automation now uses per-workspace persistent user data directories for cookie isolation and persistence across restarts ([#2131](https://github.com/agentscope-ai/CoPaw/pull/2131))
**Internationalization**
- **Server-Side Language Persistence**: UI language preference is now persisted to server-side settings ([#2408](https://github.com/agentscope-ai/CoPaw/pull/2408))
- **Expanded Multi-Language Support**: Additional console UI components now support multiple languages ([#2478](https://github.com/agentscope-ai/CoPaw/pull/2478), [#2508](https://github.com/agentscope-ai/CoPaw/pull/2508))
## 🔄 Changed
**Context and Memory**
- **Context Management v2.0**: Major restructuring of context and memory management with nested configuration models, new compaction hooks, tool result compaction, rewritten summarizer prompts, and proactive memory search ([#2300](https://github.com/agentscope-ai/CoPaw/pull/2300), [#2410](https://github.com/agentscope-ai/CoPaw/pull/2410), [#2519](https://github.com/agentscope-ai/CoPaw/pull/2519), [#2525](https://github.com/agentscope-ai/CoPaw/pull/2525))
- **Improved Truncation Logic**: Enhanced file truncation with markdown protection up to 50KB, clearer truncation prompts for LLMs, and refined recent window length logic ([#2449](https://github.com/agentscope-ai/CoPaw/pull/2449))
**Tools and Skills**
- **Streaming Grep Search**: Grep search now reads files line-by-line with a sliding window for context, significantly reducing memory usage for large files ([#2344](https://github.com/agentscope-ai/CoPaw/pull/2344))
- **MCP None Config Handling**: Added null checks when agent MCP config is None to prevent crashes ([#2471](https://github.com/agentscope-ai/CoPaw/pull/2471))
- **Himalaya Version Recommendation**: Updated Himalaya skill documentation to recommend CLI version ≥ 1.2.0 ([#2334](https://github.com/agentscope-ai/CoPaw/pull/2334))
**Console & UI**
- **Console Visual Refresh and Enhancement**: Major console style update with overall layout improvements and theme adjustments ([#2228](https://github.com/agentscope-ai/CoPaw/pull/2228), [#2271](https://github.com/agentscope-ai/CoPaw/pull/2271), [#2352](https://github.com/agentscope-ai/CoPaw/pull/2352), [#2404](https://github.com/agentscope-ai/CoPaw/pull/2404), [#2470](https://github.com/agentscope-ai/CoPaw/pull/2470), [#2479](https://github.com/agentscope-ai/CoPaw/pull/2479), [#2511](https://github.com/agentscope-ai/CoPaw/pull/2511), [#2522](https://github.com/agentscope-ai/CoPaw/pull/2522), [#2528](https://github.com/agentscope-ai/CoPaw/pull/2528), [#2540](https://github.com/agentscope-ai/CoPaw/pull/2540), [#2552](https://github.com/agentscope-ai/CoPaw/pull/2552))
- **Website UI Refactoring**: Major website UI refactoring for improved internationalization and modern styling ([#2558](https://github.com/agentscope-ai/CoPaw/pull/2558), [#2575](https://github.com/agentscope-ai/CoPaw/pull/2575), [#2582](https://github.com/agentscope-ai/CoPaw/pull/2582))
## 🐛 Fixed
**Channels**
- **WeCom Heartbeat Reconnection**: WebSocket now automatically reconnects when heartbeat fails to prevent permanent disconnection ([#2515](https://github.com/agentscope-ai/CoPaw/pull/2515))
- **Feishu WebSocket Reconnection**: Automatic reconnection with exponential backoff, health monitoring for silent disconnects, and stale message filtering ([#2311](https://github.com/agentscope-ai/CoPaw/pull/2311), [#2376](https://github.com/agentscope-ai/CoPaw/pull/2376))
- **Feishu Multi-Instance Message Routing**: Serialized WebSocket startup and app_id verification to prevent cross-workspace message misrouting in multi-instance setups ([#2244](https://github.com/agentscope-ai/CoPaw/pull/2244))
- **Discord Duplicate Messages**: Bounded cache of processed message IDs prevents duplicate message processing after WebSocket reconnects ([#2253](https://github.com/agentscope-ai/CoPaw/pull/2253))
- **Telegram Timeout**: Increased read and connect timeouts to prevent premature timeout during long polling ([#2280](https://github.com/agentscope-ai/CoPaw/pull/2280))
- **QQ Voice Message Conversion**: AMR/AMR-WB audio files now use larger ffmpeg probe parameters for correct codec detection ([#2248](https://github.com/agentscope-ai/CoPaw/pull/2248))
- **DingTalk Cron Reminders**: Fixed sessionWebhook routing and persisted webhook store for cron task reminders ([#2392](https://github.com/agentscope-ai/CoPaw/pull/2392))
**Console & UI**
- **Active Session Selection**: Fixed default active session to correctly match current chat ID from URL ([#2543](https://github.com/agentscope-ai/CoPaw/pull/2543))
- **Skill Toggle Icon**: Corrected skill enable/disable toggle icon to properly reflect state ([#2516](https://github.com/agentscope-ai/CoPaw/pull/2516))
- **Console File Upload**: Fixed file type handling in console chat upload ([#2266](https://github.com/agentscope-ai/CoPaw/pull/2266))
- **Multi-Agent Model Configuration**: Model APIs now use per-agent selection via `X-Agent-Id` header; multi-tab isolation through sessionStorage instead of localStorage ([#2283](https://github.com/agentscope-ai/CoPaw/pull/2283))
**CLI & Deployment**
- **Local Loopback Address**: CLI now persists `127.0.0.1` when server binds to `0.0.0.0` so other CLI commands can connect correctly ([#2241](https://github.com/agentscope-ai/CoPaw/pull/2241))
- **PowerShell Install Script**: Corrected PowerShell cmdlet name to fix automatic PATH updates on Windows ([#2489](https://github.com/agentscope-ai/CoPaw/pull/2489))
- **Cross-Platform File Encoding**: Files are written and read with `utf-8-sig` for Windows compatibility ([#2403](https://github.com/agentscope-ai/CoPaw/pull/2403))
## 📚 Documentation
- **Multi-Agent Documentation**: Extensive multi-agent documentation including collaboration patterns, triggers, scenarios, agent descriptions, and best practices ([#2290](https://github.com/agentscope-ai/CoPaw/pull/2290), [#2450](https://github.com/agentscope-ai/CoPaw/pull/2450), [#2517](https://github.com/agentscope-ai/CoPaw/pull/2517))
- **Installation & CLI Documentation**: Updated installation guides with reordered options, CLI documentation improvements, and log path corrections ([#2310](https://github.com/agentscope-ai/CoPaw/pull/2310), [#2496](https://github.com/agentscope-ai/CoPaw/pull/2496), [#2538](https://github.com/agentscope-ai/CoPaw/pull/2538), [#2562](https://github.com/agentscope-ai/CoPaw/pull/2562))
- **Model Provider Documentation**: Enhanced provider contribution guidelines and local model setup instructions ([#2541](https://github.com/agentscope-ai/CoPaw/pull/2541))
- **Project Structure Guidelines**: Added AGENTS.md with project structure and formatting guidelines ([#2532](https://github.com/agentscope-ai/CoPaw/pull/2532))
- **Context Management Documentation**: Updated context management documentation with v2.0 architecture and dependency information ([#2460](https://github.com/agentscope-ai/CoPaw/pull/2460))
- **Security Documentation**: Comprehensive security documentation update with enhanced protection coverage ([#2437](https://github.com/agentscope-ai/CoPaw/pull/2437))
- **MCP & Tools Documentation**: Expanded MCP and tools documentation with detailed integration guides ([#2444](https://github.com/agentscope-ai/CoPaw/pull/2444))
- **Skills Documentation**: Updated skills documentation with pool architecture and UI improvements ([#2480](https://github.com/agentscope-ai/CoPaw/pull/2480))
- **Magic Command Documentation**: Updated magic command documentation with comprehensive command reference ([#2486](https://github.com/agentscope-ai/CoPaw/pull/2486))
- **General Documentation Updates**: General website documentation improvements ([#2413](https://github.com/agentscope-ai/CoPaw/pull/2413), [#2461](https://github.com/agentscope-ai/CoPaw/pull/2461), [#2545](https://github.com/agentscope-ai/CoPaw/pull/2545), [#2546](https://github.com/agentscope-ai/CoPaw/pull/2546), [#2561](https://github.com/agentscope-ai/CoPaw/pull/2561), [#2564](https://github.com/agentscope-ai/CoPaw/pull/2564))
+101
View File
@@ -0,0 +1,101 @@
## ✨ 新增功能
**多 Agent 系统**
- **后台任务支持**:支持通过 CLI `--background` 标志在后台执行 Agent 间通信任务,提供任务追踪、状态轮询和取消功能 ([#2345](https://github.com/agentscope-ai/CoPaw/pull/2345))
- **Agent 启用/禁用开关**:可以通过控制台界面和 API 启用或禁用 Agent ([#2249](https://github.com/agentscope-ai/CoPaw/pull/2249))
- **统一优先级队列系统和 `/stop` 命令**:按通道、会话和优先级分层的队列系统,支持通过 `/stop` 命令取消运行中的任务并清空排队消息 ([#2411](https://github.com/agentscope-ai/CoPaw/pull/2411))
**模型供应商**
- **CoPaw 本地模型**:内置 llama.cpp 本地模型供应商,支持自动下载、配置和自定义模型仓库 ([#2419](https://github.com/agentscope-ai/CoPaw/pull/2419), [#2476](https://github.com/agentscope-ai/CoPaw/pull/2476))
- **分层模型选择**:支持在设置中全局设定活跃模型,也可在聊天页面为单个 Agent 单独设定 ([#2278](https://github.com/agentscope-ai/CoPaw/pull/2278))
- **全局 LLM 流控器**:QPM(每分钟请求数)滑动窗口限流、信号量并发控制,以及收到 429 响应时的全局暂停协调机制(带随机抖动避免雷鸣重试) ([#2282](https://github.com/agentscope-ai/CoPaw/pull/2282))
**安全**
- **系统重启与服务控制保护**:新增工具守卫规则,阻止系统重启、关机、服务控制、大范围进程终止和权限提升等危险命令 ([#2333](https://github.com/agentscope-ai/CoPaw/pull/2333))
- **中文提示词注入检测**:技能安全扫描器新增中文正则表达式规则,用于检测提示词注入和越狱尝试 ([#2381](https://github.com/agentscope-ai/CoPaw/pull/2381))
**控制台与界面**
- **下载页面**:新增下载页面,提供桌面安装包及镜像站点 ([#2555](https://github.com/agentscope-ai/CoPaw/pull/2555))
- **多模态预览**:聊天历史记录和流式输出中的图片、音频、视频和文件附件现在都能正确显示预览 ([#2297](https://github.com/agentscope-ai/CoPaw/pull/2297), [#2332](https://github.com/agentscope-ai/CoPaw/pull/2332))
- **聊天会话标签**:聊天会话列表中显示通道标签和图标,方便识别消息来源 ([#2483](https://github.com/agentscope-ai/CoPaw/pull/2483))
- **命令建议**:聊天输入框支持斜杠命令建议(`/clear`、`/compact`、`/approve`、`/deny`) ([#2415](https://github.com/agentscope-ai/CoPaw/pull/2415))
**通道(Channels)**
- **微信 iLink Bot**:新增微信个人号通道,使用 iLink Bot API 接入 ([#2260](https://github.com/agentscope-ai/CoPaw/pull/2260))
- **自定义通道 HTTP 路由**:自定义通道现在可以注册 FastAPI 路由,用于 Webhook 和自定义端点 ([#2140](https://github.com/agentscope-ai/CoPaw/pull/2140))
- **Discord 机器人消息过滤**:新增配置选项,可控制是否处理来自其他机器人的消息 ([#2122](https://github.com/agentscope-ai/CoPaw/pull/2122))
- **钉钉宽屏卡片**:支持钉钉宽屏 AI 卡片布局 ([#2238](https://github.com/agentscope-ai/CoPaw/pull/2238))
- **企业微信媒体上传**:通过 WebSocket 长连接上传媒体文件,相比 HTTP 下载方式更可靠 ([#2401](https://github.com/agentscope-ai/CoPaw/pull/2401))
**工具与技能**
- **异步工具执行**:支持按工具设置异步执行标志,自动注册后台任务辅助工具(`view_task`、`wait_task`、`cancel_task`) ([#2391](https://github.com/agentscope-ai/CoPaw/pull/2391))
- **技能池架构**:双层技能系统,包含共享技能池和 Agent 独立工作区技能 ([#2173](https://github.com/agentscope-ai/CoPaw/pull/2173), [#2436](https://github.com/agentscope-ai/CoPaw/pull/2436), [#2440](https://github.com/agentscope-ai/CoPaw/pull/2440), [#2477](https://github.com/agentscope-ai/CoPaw/pull/2477), [#2480](https://github.com/agentscope-ai/CoPaw/pull/2480))
- **浏览器 CDP 支持**:集成 Chrome DevTools Protocol(CDP),支持连接运行中的 Chrome 实例、端口扫描、缓存清理和远程浏览器附加 ([#2294](https://github.com/agentscope-ai/CoPaw/pull/2294))
- **多工作区 Cookie 管理**:浏览器自动化现在为每个工作区使用独立的持久化用户数据目录,实现 Cookie 隔离和重启后的持久化 ([#2131](https://github.com/agentscope-ai/CoPaw/pull/2131))
**国际化**
- **服务端语言偏好持久化**:界面语言偏好现在持久化到服务端设置 ([#2408](https://github.com/agentscope-ai/CoPaw/pull/2408))
- **扩展多语言支持**:更多控制台界面组件支持多语言显示 ([#2478](https://github.com/agentscope-ai/CoPaw/pull/2478), [#2508](https://github.com/agentscope-ai/CoPaw/pull/2508))
## 🔄 变更
**上下文与记忆**
- **上下文管理 v2.0**:大幅重构上下文和记忆管理系统,包含嵌套配置模型、新增压缩钩子、工具结果压缩、重写的摘要提示词,以及主动记忆搜索功能 ([#2300](https://github.com/agentscope-ai/CoPaw/pull/2300), [#2410](https://github.com/agentscope-ai/CoPaw/pull/2410), [#2519](https://github.com/agentscope-ai/CoPaw/pull/2519), [#2525](https://github.com/agentscope-ai/CoPaw/pull/2525))
- **优化截断逻辑**:增强文件截断机制,对 Markdown 提供最多 50KB 的保护,为 LLM 提供更清晰的截断提示,并优化了最近窗口长度逻辑 ([#2449](https://github.com/agentscope-ai/CoPaw/pull/2449))
**工具与技能**
- **流式 Grep 搜索**:Grep 搜索改为逐行读取文件并使用滑动窗口保存上下文,大幅降低大文件搜索时的内存占用 ([#2344](https://github.com/agentscope-ai/CoPaw/pull/2344))
- **MCP 空配置处理**:Agent MCP 配置为空时新增空值检查,避免崩溃 ([#2471](https://github.com/agentscope-ai/CoPaw/pull/2471))
- **Himalaya 版本建议**:更新 Himalaya 技能文档,建议使用 CLI 1.2.0 及以上版本 ([#2334](https://github.com/agentscope-ai/CoPaw/pull/2334))
**控制台与界面**
- **控制台视觉焕新**:控制台整体样式大更新,包含布局优化和主题调整 ([#2228](https://github.com/agentscope-ai/CoPaw/pull/2228), [#2271](https://github.com/agentscope-ai/CoPaw/pull/2271), [#2352](https://github.com/agentscope-ai/CoPaw/pull/2352), [#2404](https://github.com/agentscope-ai/CoPaw/pull/2404), [#2470](https://github.com/agentscope-ai/CoPaw/pull/2470), [#2479](https://github.com/agentscope-ai/CoPaw/pull/2479), [#2511](https://github.com/agentscope-ai/CoPaw/pull/2511), [#2522](https://github.com/agentscope-ai/CoPaw/pull/2522), [#2528](https://github.com/agentscope-ai/CoPaw/pull/2528), [#2540](https://github.com/agentscope-ai/CoPaw/pull/2540), [#2552](https://github.com/agentscope-ai/CoPaw/pull/2552))
- **网站 UI 重构**:网站 UI 大规模重构,改进国际化支持和现代化样式 ([#2558](https://github.com/agentscope-ai/CoPaw/pull/2558), [#2575](https://github.com/agentscope-ai/CoPaw/pull/2575), [#2582](https://github.com/agentscope-ai/CoPaw/pull/2582))
## 🐛 修复
**通道(Channels)**
- **企业微信心跳重连**:心跳失败时 WebSocket 自动重连,避免永久断连 ([#2515](https://github.com/agentscope-ai/CoPaw/pull/2515))
- **飞书 WebSocket 重连**:支持自动重连(带指数退避)、静默断连检测的健康监控,以及过滤重发消息的能力 ([#2311](https://github.com/agentscope-ai/CoPaw/pull/2311), [#2376](https://github.com/agentscope-ai/CoPaw/pull/2376))
- **飞书多实例消息路由**:通过串行化 WebSocket 启动和 app_id 校验,避免多实例部署时消息误路由到错误的工作区 ([#2244](https://github.com/agentscope-ai/CoPaw/pull/2244))
- **Discord 重复消息**:使用有界缓存记录已处理的消息 ID,避免 WebSocket 重连后重复处理消息 ([#2253](https://github.com/agentscope-ai/CoPaw/pull/2253))
- **Telegram 超时**:提高长轮询的读取和连接超时时间,避免空闲时误触发超时 ([#2280](https://github.com/agentscope-ai/CoPaw/pull/2280))
- **QQ 语音消息转换**:AMR/AMR-WB 音频文件使用更大的 ffmpeg 探测参数,确保正确识别编解码器 ([#2248](https://github.com/agentscope-ai/CoPaw/pull/2248))
- **钉钉定时任务提醒**:修复 sessionWebhook 路由和 Webhook 持久化存储,确保定时任务提醒正常发送 ([#2392](https://github.com/agentscope-ai/CoPaw/pull/2392))
**控制台与界面**
- **会话选中状态**:修复默认选中会话,使其正确匹配 URL 中的聊天 ID ([#2543](https://github.com/agentscope-ai/CoPaw/pull/2543))
- **技能开关图标**:修正技能启用/禁用开关图标,正确反映状态 ([#2516](https://github.com/agentscope-ai/CoPaw/pull/2516))
- **控制台文件上传**:修复控制台聊天文件上传的类型处理问题 ([#2266](https://github.com/agentscope-ai/CoPaw/pull/2266))
- **多 Agent 模型配置**:模型 API 通过 `X-Agent-Id` 请求头支持按 Agent 选择模型;多标签页通过 sessionStorage 实现隔离,替代之前的 localStorage ([#2283](https://github.com/agentscope-ai/CoPaw/pull/2283))
**CLI 与部署**
- **本地回环地址**:当服务器绑定到 `0.0.0.0` 时,CLI 持久化的地址改为 `127.0.0.1`,便于其他 CLI 命令正确连接 ([#2241](https://github.com/agentscope-ai/CoPaw/pull/2241))
- **PowerShell 安装脚本**:修正 PowerShell 安装脚本中的命令名称,修复 Windows 自动添加 PATH 的问题 ([#2489](https://github.com/agentscope-ai/CoPaw/pull/2489))
- **跨平台文件编码**:文件读写统一使用 `utf-8-sig` 编码,增强 Windows 兼容性 ([#2403](https://github.com/agentscope-ai/CoPaw/pull/2403))
## 📚 文档
- **多 Agent 文档**:详尽的多 Agent 文档,涵盖协作模式、触发器、使用场景、Agent 描述和最佳实践 ([#2290](https://github.com/agentscope-ai/CoPaw/pull/2290), [#2450](https://github.com/agentscope-ai/CoPaw/pull/2450), [#2517](https://github.com/agentscope-ai/CoPaw/pull/2517))
- **安装与 CLI 文档**:更新安装指南(重新排序选项)、CLI 文档改进和日志路径修正 ([#2310](https://github.com/agentscope-ai/CoPaw/pull/2310), [#2496](https://github.com/agentscope-ai/CoPaw/pull/2496), [#2538](https://github.com/agentscope-ai/CoPaw/pull/2538), [#2562](https://github.com/agentscope-ai/CoPaw/pull/2562))
- **模型供应商文档**:增强供应商贡献指南和本地模型设置说明 ([#2541](https://github.com/agentscope-ai/CoPaw/pull/2541))
- **项目结构指南**:新增 AGENTS.md,说明项目结构和格式规范 ([#2532](https://github.com/agentscope-ai/CoPaw/pull/2532))
- **上下文管理文档**:更新上下文管理文档,说明 v2.0 架构和依赖信息 ([#2460](https://github.com/agentscope-ai/CoPaw/pull/2460))
- **安全文档**:全面更新安全文档,扩充保护覆盖范围说明 ([#2437](https://github.com/agentscope-ai/CoPaw/pull/2437))
- **MCP 与工具文档**:扩展 MCP 和工具文档,提供详细的集成指南 ([#2444](https://github.com/agentscope-ai/CoPaw/pull/2444))
- **技能文档**:更新技能文档,说明技能池架构和界面改进 ([#2480](https://github.com/agentscope-ai/CoPaw/pull/2480))
- **魔法命令文档**:更新魔法命令文档,提供完整的命令参考 ([#2486](https://github.com/agentscope-ai/CoPaw/pull/2486))
- **网站文档整体更新**:网站文档的整体改进 ([#2413](https://github.com/agentscope-ai/CoPaw/pull/2413), [#2461](https://github.com/agentscope-ai/CoPaw/pull/2461), [#2545](https://github.com/agentscope-ai/CoPaw/pull/2545), [#2546](https://github.com/agentscope-ai/CoPaw/pull/2546), [#2561](https://github.com/agentscope-ai/CoPaw/pull/2561), [#2564](https://github.com/agentscope-ai/CoPaw/pull/2564))
+84
View File
@@ -0,0 +1,84 @@
## ✨ Added
**Models and Providers**
- **Zhipu Model Provider**: Built-in support for Zhipu AI models ([#2858](https://github.com/agentscope-ai/CoPaw/pull/2858))
- **Video Analysis for Multimodal Models**: Extended multimodal support to handle video files with automatic extraction and analysis capabilities ([#2627](https://github.com/agentscope-ai/CoPaw/pull/2627))
- **Model-Specific Generate Parameters**: Per-model configuration for generation kwargs through model settings ([#2892](https://github.com/agentscope-ai/CoPaw/pull/2892))
- **CoPaw Local Provider Update Support**: Automatic update mechanism for CoPaw Local provider with version checking and download ([#2889](https://github.com/agentscope-ai/CoPaw/pull/2889))
- **Lenient Tool Call Parser**: Relaxed parsing for tool calls to handle malformed JSON and improve compatibility with various LLM outputs ([#2832](https://github.com/agentscope-ai/CoPaw/pull/2832))
**Console & UI**
- **Agent Drag-and-Drop Ordering**: Persistent ordering of agents through drag-and-drop interface ([#2695](https://github.com/agentscope-ai/CoPaw/pull/2695))
- **Chat Session Status Indicators**: Visual status indicators showing active/inactive state for each chat session ([#2803](https://github.com/agentscope-ai/CoPaw/pull/2803))
- **Preferred Session Prioritization**: Automatically move preferred chat sessions to the top of the session list for quick access ([#2864](https://github.com/agentscope-ai/CoPaw/pull/2864))
- **System Dark Mode Option**: Dark mode toggle now includes system preference option for automatic theme switching ([#2678](https://github.com/agentscope-ai/CoPaw/pull/2678))
- **Auto-Switch to Default Agent**: Agent selector now automatically switches to default agent when selected agent is deleted or disabled ([#2640](https://github.com/agentscope-ai/CoPaw/pull/2640))
**Skills and Tools**
- **Batch Skill Operations**: Support for batch deletion, downloading, and broadcasting of skills across agents ([#2743](https://github.com/agentscope-ai/CoPaw/pull/2743))
- **Stop Service on Agent Disable**: Automatically stop background services when agent is disabled to free resources ([#2746](https://github.com/agentscope-ai/CoPaw/pull/2746))
- **Skill Requires List Format**: Added support for list format in skill requires field alongside string format ([#2504](https://github.com/agentscope-ai/CoPaw/pull/2504))
**Channels**
- **OneBot v11 Channel**: New channel integration for NapCat/QQ with reverse WebSocket server, full QQ protocol support including personal accounts and group messages ([#2870](https://github.com/agentscope-ai/CoPaw/pull/2870))
- **DingTalk AI Card in Workspace Tracker**: AI Card support in workspace tracker path with refactored shared core ([#2741](https://github.com/agentscope-ai/CoPaw/pull/2741))
- **Feishu DONE Reaction**: Process completion hook to support DONE reaction emoji in Feishu workspace path ([#2727](https://github.com/agentscope-ai/CoPaw/pull/2727))
- **Unified No-Text Debounce**: Debounce logic now unified across workspace tracker and legacy paths ([#2724](https://github.com/agentscope-ai/CoPaw/pull/2724))
- **WeCom Server-Side QR Code**: Replaced JavaScript SDK popup with server-side QR code generation and generic OAuth provider pattern ([#2891](https://github.com/agentscope-ai/CoPaw/pull/2891))
- **WeChat File Upload and Typing**: Improved file upload reliability and added typing indicator for WeChat channel ([#2597](https://github.com/agentscope-ai/CoPaw/pull/2597))
**Context and Memory**
- **Extra Instructions for Manual Compact**: Support for providing additional context when manually triggering memory compaction via `/compact` command ([#2694](https://github.com/agentscope-ai/CoPaw/pull/2694))
## 🔄 Changed
**Console & UI**
- **Website UI Modernization**: Major website visual refresh with improved internationalization, modern styling, and enhanced user experience ([#2645](https://github.com/agentscope-ai/CoPaw/pull/2645), [#2722](https://github.com/agentscope-ai/CoPaw/pull/2722))
- **Language Selector Reordering**: Reordered language options in dropdown for better user experience ([#2673](https://github.com/agentscope-ai/CoPaw/pull/2673))
- **Internationalized Time Display**: Replaced custom time formatting with dayjs relativeTime for proper i18n support ([#2800](https://github.com/agentscope-ai/CoPaw/pull/2800))
- **Skill Card and List View**: Enhanced skill management UI with card-based layout and enhanced dark mode support ([#2714](https://github.com/agentscope-ai/CoPaw/pull/2714), [#2794](https://github.com/agentscope-ai/CoPaw/pull/2794))
- **MCP Console UI Refresh**: Redesigned MCP client cards and skill pool interface with cleaner styling ([#2652](https://github.com/agentscope-ai/CoPaw/pull/2652))
## 🐛 Fixed
**Channels**
- **DingTalk SessionWebhook for Scheduled Tasks**: Fixed sessionWebhook expiration handling with automatic fallback to Open API for cron task reminders ([#2617](https://github.com/agentscope-ai/CoPaw/pull/2617))
- **DingTalk Allowlist Handling**: Corrected allowlist filtering for DingTalk channel message processing ([#2718](https://github.com/agentscope-ai/CoPaw/pull/2718))
- **WeCom WebSocket Reliability**: Fixed heartbeat reconnection with proper task scheduling and ensured stdio streams in Windows daemon mode ([#2651](https://github.com/agentscope-ai/CoPaw/pull/2651), [#2760](https://github.com/agentscope-ai/CoPaw/pull/2760))
- **QQ Reconnect State Reset**: Fixed reconnection state management for QQ channel when WebSocket session resumes ([#2827](https://github.com/agentscope-ai/CoPaw/pull/2827))
**Console & UI**
- **Slash Command Menu Contrast**: Fixed text contrast in slash command menu for dark mode visibility ([#2600](https://github.com/agentscope-ai/CoPaw/pull/2600))
- **Model Selector Message Notification**: Fixed missing message notification in model selector component ([#2612](https://github.com/agentscope-ai/CoPaw/pull/2612))
- **Console None Output Prevention**: Added validation to prevent None values from being sent to console channel ([#2608](https://github.com/agentscope-ai/CoPaw/pull/2608))
- **File Timestamp Display**: Fixed "NaNd ago" error in workspace file timestamp display ([#2793](https://github.com/agentscope-ai/CoPaw/pull/2793))
- **Chat Session Title Preservation**: Fixed session title persistence when streaming messages to prevent overwriting renamed titles ([#2847](https://github.com/agentscope-ai/CoPaw/pull/2847))
- **Console Localization Fix**: Fixed localization issues in console components ([#2662](https://github.com/agentscope-ai/CoPaw/pull/2662))
- **Google Fonts Loading**: Fixed font loading by using Google Fonts CDN for Inter, Lato, and Newsreader ([#2867](https://github.com/agentscope-ai/CoPaw/pull/2867))
**Skills and Tools**
- **Skill Requirement Parsing**: Changed requirement parsing to use safe formatter to prevent formatting errors ([#2630](https://github.com/agentscope-ai/CoPaw/pull/2630))
- **Windows Tool Compatibility**: Fixed browser launch arguments and shell command newline handling for Windows platform ([#2635](https://github.com/agentscope-ai/CoPaw/pull/2635), [#2861](https://github.com/agentscope-ai/CoPaw/pull/2861))
- **Browser Idle Watchdog**: Fixed browser_use idle watchdog self-cancellation issue preventing proper timeout detection ([#2843](https://github.com/agentscope-ai/CoPaw/pull/2843))
- **Tool Guard with Thinking Models**: Fixed tool guard compatibility when using thinking models with proper thought extraction ([#2631](https://github.com/agentscope-ai/CoPaw/pull/2631))
**Providers**
- **CoPaw Local Improvements**: Fixed GPU default settings, probe image detection, repository validation, and Windows model download ([#2688](https://github.com/agentscope-ai/CoPaw/pull/2688), [#2735](https://github.com/agentscope-ai/CoPaw/pull/2735))
- **Llama.cpp Windows NVIDIA GPU**: Fixed llama.cpp provider for Windows with NVIDIA GPU and added macOS version check before installation ([#2625](https://github.com/agentscope-ai/CoPaw/pull/2625))
## 📚 Documentation
- **README Anchor Links**: Fixed broken anchor links in README Table of Contents ([#2614](https://github.com/agentscope-ai/CoPaw/pull/2614))
- **CoPaw-Flash Deployment FAQ**: Improved FAQ documentation for CoPaw-Flash deployment ([#2661](https://github.com/agentscope-ai/CoPaw/pull/2661))
- **Skill Documentation**: Updated skill documentation to reflect skill pool architecture changes ([#2767](https://github.com/agentscope-ai/CoPaw/pull/2767))
- **WebView2 Installation Instructions**: Added WebView2 installation instructions for Windows and web authentication details ([#2836](https://github.com/agentscope-ai/CoPaw/pull/2836))
+84
View File
@@ -0,0 +1,84 @@
## ✨ 新增功能
**模型与提供商**
- **智谱 AI 模型支持**:内置智谱 AI 模型接入能力 ([#2858](https://github.com/agentscope-ai/CoPaw/pull/2858))
- **视频分析能力**:多模态模型新增视频文件处理和分析能力 ([#2627](https://github.com/agentscope-ai/CoPaw/pull/2627))
- **模型参数配置**:支持为每个模型单独配置生成参数 ([#2892](https://github.com/agentscope-ai/CoPaw/pull/2892))
- **CoPaw 本地模型提供商自动更新**:本地模型提供商支持版本检测和自动更新 ([#2889](https://github.com/agentscope-ai/CoPaw/pull/2889))
- **宽松工具调用解析**:优化工具调用解析器,更好地兼容各类 LLM 输出格式 ([#2832](https://github.com/agentscope-ai/CoPaw/pull/2832))
**控制台与界面**
- **智能体拖拽排序**:支持通过拖拽调整智能体顺序并持久化保存 ([#2695](https://github.com/agentscope-ai/CoPaw/pull/2695))
- **会话状态指示器**:为每个聊天会话显示活跃/非活跃状态 ([#2803](https://github.com/agentscope-ai/CoPaw/pull/2803))
- **常用会话置顶**:自动将常用会话移到列表顶部方便访问 ([#2864](https://github.com/agentscope-ai/CoPaw/pull/2864))
- **系统深色模式**:深色模式开关新增跟随系统选项 ([#2678](https://github.com/agentscope-ai/CoPaw/pull/2678))
- **智能体自动切换**:当选中的智能体被删除或禁用时自动切换到默认智能体 ([#2640](https://github.com/agentscope-ai/CoPaw/pull/2640))
**技能与工具**
- **技能批量操作**:支持批量删除、下载和广播技能 ([#2743](https://github.com/agentscope-ai/CoPaw/pull/2743))
- **服务自动停止**:禁用智能体时自动停止后台服务释放资源 ([#2746](https://github.com/agentscope-ai/CoPaw/pull/2746))
- **技能依赖列表格式**:技能 requires 字段支持列表格式 ([#2504](https://github.com/agentscope-ai/CoPaw/pull/2504))
**频道**
- **OneBot v11 频道**:新增 NapCat/QQ 频道集成,支持反向 WebSocket 连接和完整 QQ 协议 ([#2870](https://github.com/agentscope-ai/CoPaw/pull/2870))
- **钉钉 AI 卡片**:工作区追踪路径支持 AI 卡片展示 ([#2741](https://github.com/agentscope-ai/CoPaw/pull/2741))
- **飞书完成反应**:新增任务完成钩子,支持飞书工作区路径的完成表情回复 ([#2727](https://github.com/agentscope-ai/CoPaw/pull/2727))
- **消息防抖统一**:统一工作区追踪和传统路径的消息防抖逻辑 ([#2724](https://github.com/agentscope-ai/CoPaw/pull/2724))
- **企业微信服务端二维码**:用服务端二维码替代 JS SDK 弹窗,并重构为通用 OAuth 模式 ([#2891](https://github.com/agentscope-ai/CoPaw/pull/2891))
- **微信文件上传优化**:提升文件上传可靠性并新增输入中提示 ([#2597](https://github.com/agentscope-ai/CoPaw/pull/2597))
**上下文与记忆**
- **记忆压缩额外指令**:使用 `/compact` 命令手动压缩记忆时支持提供额外指令 ([#2694](https://github.com/agentscope-ai/CoPaw/pull/2694))
## 🔄 优化改进
**控制台与界面**
- **官网界面焕新**:全面升级官网视觉设计,优化国际化体验 ([#2645](https://github.com/agentscope-ai/CoPaw/pull/2645), [#2722](https://github.com/agentscope-ai/CoPaw/pull/2722))
- **语言选择器调整**:重新排序语言选项以提升使用体验 ([#2673](https://github.com/agentscope-ai/CoPaw/pull/2673))
- **时间显示国际化**:使用 dayjs relativeTime 实现时间显示的完整国际化 ([#2800](https://github.com/agentscope-ai/CoPaw/pull/2800))
- **技能卡片与列表视图**:全新技能管理界面,支持卡片布局和深色模式 ([#2714](https://github.com/agentscope-ai/CoPaw/pull/2714), [#2794](https://github.com/agentscope-ai/CoPaw/pull/2794))
- **MCP 控制台优化**:重新设计 MCP 客户端卡片和技能池界面 ([#2652](https://github.com/agentscope-ai/CoPaw/pull/2652))
## 🐛 问题修复
**频道**
- **钉钉定时任务 Webhook**:修复 sessionWebhook 过期问题,自动降级到 Open API ([#2617](https://github.com/agentscope-ai/CoPaw/pull/2617))
- **钉钉白名单处理**:修正消息白名单过滤逻辑 ([#2718](https://github.com/agentscope-ai/CoPaw/pull/2718))
- **企业微信 WebSocket 可靠性**:修复心跳重连机制并确保 Windows 守护模式下标准流正确配置 ([#2651](https://github.com/agentscope-ai/CoPaw/pull/2651), [#2760](https://github.com/agentscope-ai/CoPaw/pull/2760))
- **QQ 重连状态**:修复 WebSocket 会话恢复时的重连状态管理 ([#2827](https://github.com/agentscope-ai/CoPaw/pull/2827))
**控制台与界面**
- **斜杠命令菜单对比度**:修复深色模式下文字对比度不足问题 ([#2600](https://github.com/agentscope-ai/CoPaw/pull/2600))
- **模型选择器提示**:修复缺失的消息通知 ([#2612](https://github.com/agentscope-ai/CoPaw/pull/2612))
- **控制台空值防护**:添加验证避免 None 值发送到控制 ([#2608](https://github.com/agentscope-ai/CoPaw/pull/2608))
- **文件时间戳显示**:修复工作区文件时间显示为 "NaNd ago" 的问题 ([#2793](https://github.com/agentscope-ai/CoPaw/pull/2793))
- **会话标题保留**:修复流式消息覆盖自定义会话标题的问题 ([#2847](https://github.com/agentscope-ai/CoPaw/pull/2847))
- **控制台本地化**:修复控制台组件的本地化问题 ([#2662](https://github.com/agentscope-ai/CoPaw/pull/2662))
- **字体加载**:使用 Google Fonts CDN 加载 Inter、Lato 和 Newsreader 字体 ([#2867](https://github.com/agentscope-ai/CoPaw/pull/2867))
**技能与工具**
- **技能依赖解析**:改用安全格式化器解析依赖,避免格式错误 ([#2630](https://github.com/agentscope-ai/CoPaw/pull/2630))
- **Windows 工具兼容性**:修复 Windows 平台浏览器启动参数和 Shell 命令换行处理 ([#2635](https://github.com/agentscope-ai/CoPaw/pull/2635), [#2861](https://github.com/agentscope-ai/CoPaw/pull/2861))
- **浏览器空闲看门狗**:修复 browser_use 空闲检测自取消问题 ([#2843](https://github.com/agentscope-ai/CoPaw/pull/2843))
- **思考模型工具防护**:修复工具防护与思考模型的兼容性问题 ([#2631](https://github.com/agentscope-ai/CoPaw/pull/2631))
**提供商**
- **CoPaw Local 改进**:修复 GPU 默认设置、探测图像检测、仓库验证和 Windows 模型下载 ([#2688](https://github.com/agentscope-ai/CoPaw/pull/2688), [#2735](https://github.com/agentscope-ai/CoPaw/pull/2735))
- **Llama.cpp Windows NVIDIA GPU**:修复 Windows NVIDIA GPU 支持并增加 macOS 版本检查 ([#2625](https://github.com/agentscope-ai/CoPaw/pull/2625))
## 📚 文档
- **README 锚点链接**:修复目录中损坏的锚点链接 ([#2614](https://github.com/agentscope-ai/CoPaw/pull/2614))
- **CoPaw-Flash 部署 FAQ**:完善部署常见问题文档 ([#2661](https://github.com/agentscope-ai/CoPaw/pull/2661))
- **技能文档**:更新技能文档以反映技能池架构变化 ([#2767](https://github.com/agentscope-ai/CoPaw/pull/2767))
- **WebView2 安装说明**:新增 Windows WebView2 安装指南和 Web 认证详情 ([#2836](https://github.com/agentscope-ai/CoPaw/pull/2836))
+59
View File
@@ -0,0 +1,59 @@
## ✨ Added
**Core**
- **Plugins**: Install extensions from your workspace `plugins/` folder ([#3101](https://github.com/agentscope-ai/CoPaw/pull/3101), [#3131](https://github.com/agentscope-ai/CoPaw/pull/3131), [#3132](https://github.com/agentscope-ai/CoPaw/pull/3132)).
- **`copaw task`**: Run one-off jobs from the terminal with no web server ([#3031](https://github.com/agentscope-ai/CoPaw/pull/3031)).
- **`/model` in chat**: Switch models, list what is available, reset to the default, and inspect a model—without opening Settings ([#3133](https://github.com/agentscope-ai/CoPaw/pull/3133)).
**Models and providers**
- **SiliconFlow**: Ready-to-use China and International endpoints for SiliconFlow’s OpenAI-compatible API ([#2886](https://github.com/agentscope-ai/CoPaw/pull/2886)).
- **CoPaw Local**: Image and video capable models, richer settings in the console, and more reliable downloads and capability detection on Windows ([#3021](https://github.com/agentscope-ai/CoPaw/pull/3021), [#3087](https://github.com/agentscope-ai/CoPaw/pull/3087), [#3140](https://github.com/agentscope-ai/CoPaw/pull/3140)).
**Security**
- **Safer saved secrets**: API keys and similar values are encrypted on disk; where possible the encryption key stays in the OS keychain ([#3025](https://github.com/agentscope-ai/CoPaw/pull/3025)).
**Console and UI**
- **Chat input history**: Browse previous user lines with the arrow keys ([#2466](https://github.com/agentscope-ai/CoPaw/pull/2466)).
- **Chat search**: Search message text across sessions ([#2842](https://github.com/agentscope-ai/CoPaw/pull/2842)).
- **Pinned sessions**: Pin threads so they stay at the top of the list ([#3137](https://github.com/agentscope-ai/CoPaw/pull/3137)).
- **Per-agent chat**: Restore the last open chat when you switch agents ([#3155](https://github.com/agentscope-ai/CoPaw/pull/3155)).
- **Visual polish**: Icons for built-in tools and provider logos next to models ([#3061](https://github.com/agentscope-ai/CoPaw/pull/3061), [#3130](https://github.com/agentscope-ai/CoPaw/pull/3130)).
**Skills and Tools**
- **Skill commands**: `/skills` shows what is enabled for the channel; type `/<skill name>` to open a skill or run it with your message ([#3150](https://github.com/agentscope-ai/CoPaw/pull/3150)).
- **Tags for pool skills**: Organize the shared pool with tags ([#2837](https://github.com/agentscope-ai/CoPaw/pull/2837), [#3069](https://github.com/agentscope-ai/CoPaw/pull/3069)).
- **MCP tool discovery**: Query each connected MCP server for its tool names, descriptions, and parameters over the HTTP API ([#3149](https://github.com/agentscope-ai/CoPaw/pull/3149)).
**Channels**
- **QQ**: Send files and rich media consistently across message types ([#3012](https://github.com/agentscope-ai/CoPaw/pull/3012)).
- **WeCom**: Incoming messages keep quote/reply context so the agent sees what was referenced ([#3024](https://github.com/agentscope-ai/CoPaw/pull/3024)).
## 🔄 Changed
- **Timezone picker**: Region names follow your selected UI language ([#2497](https://github.com/agentscope-ai/CoPaw/pull/2497)).
- **File sizes**: Human-readable sizes everywhere in the console ([#2808](https://github.com/agentscope-ai/CoPaw/pull/2808)).
- **Console startup**: Heavier settings pages load on demand so the first screen opens faster ([#3122](https://github.com/agentscope-ai/CoPaw/pull/3122)).
- **Large skill lists**: Smoother scrolling and interaction when you have many pool skills ([#3141](https://github.com/agentscope-ai/CoPaw/pull/3141), [#3158](https://github.com/agentscope-ai/CoPaw/pull/3158)).
- **Provider connection tests**: Status messages appear in your language ([#2913](https://github.com/agentscope-ai/CoPaw/pull/2913)).
- **Error Code**: More consistent error codes across channels, APIs, and CLI ([#3110](https://github.com/agentscope-ai/CoPaw/pull/3110)).
## 🐛 Fixed
**Channels**
- **iMessage**: Private chats now respect your DM policy and allowlist the same way as other channels ([#2491](https://github.com/agentscope-ai/CoPaw/pull/2491)).
- **Discord**: Long assistant replies no longer break Markdown code blocks mid-fence ([#2976](https://github.com/agentscope-ai/CoPaw/pull/2976)).
- **Feishu**: Reconnecting and running several agents no longer trips over shared locks or mixed-up event loops ([#3095](https://github.com/agentscope-ai/CoPaw/pull/3095), [#3145](https://github.com/agentscope-ai/CoPaw/pull/3145)).
**Tools and skills**
- **MCP**: Closing or reconnecting clients after reload no longer causes runaway CPU usage ([#3106](https://github.com/agentscope-ai/CoPaw/pull/3106)).
- **Browser automation**: Clicking elements when duplicates exist targets the right one; the docs explain selectors more clearly ([#3023](https://github.com/agentscope-ai/CoPaw/pull/3023)).
- **Shell tool**: Commands with quoted text keep their line breaks intact ([#3070](https://github.com/agentscope-ai/CoPaw/pull/3070)).
- **Skills**: Corrupt or non-object skill metadata no longer crashes requirement parsing ([#3072](https://github.com/agentscope-ai/CoPaw/pull/3072)).
+59
View File
@@ -0,0 +1,59 @@
## ✨ 新增功能
**核心能力**
- **插件**:从工作区 `plugins/` 目录安装扩展 ([#3101](https://github.com/agentscope-ai/CoPaw/pull/3101), [#3131](https://github.com/agentscope-ai/CoPaw/pull/3131), [#3132](https://github.com/agentscope-ai/CoPaw/pull/3132))。
- **`copaw task`**:无需启动 Web 服务,在终端执行一次性任务 ([#3031](https://github.com/agentscope-ai/CoPaw/pull/3031))。
- **对话中的 `/model`**:不必打开设置页,即可切换模型、查看可用模型、恢复默认或查看模型信息 ([#3133](https://github.com/agentscope-ai/CoPaw/pull/3133))。
**模型与提供商**
- **SiliconFlow**:内置 SiliconFlow OpenAI 兼容 API 的中国区与国际区端点,开箱即用 ([#2886](https://github.com/agentscope-ai/CoPaw/pull/2886))。
- **CoPaw Local**:支持图像与视频能力;控制台可调项更丰富;在 Windows 上模型下载与能力探测更可靠 ([#3021](https://github.com/agentscope-ai/CoPaw/pull/3021), [#3087](https://github.com/agentscope-ai/CoPaw/pull/3087), [#3140](https://github.com/agentscope-ai/CoPaw/pull/3140))。
**安全**
- **敏感凭据存储**:API Key 等敏感值落盘加密;在系统支持时,加密主密钥优先存入操作系统钥匙串 ([#3025](https://github.com/agentscope-ai/CoPaw/pull/3025))。
**控制台与界面**
- **聊天输入历史**:用方向键翻阅此前的用户输入行 ([#2466](https://github.com/agentscope-ai/CoPaw/pull/2466))。
- **聊天搜索**:跨会话检索消息正文 ([#2842](https://github.com/agentscope-ai/CoPaw/pull/2842))。
- **置顶会话**:将会话固定在列表顶部 ([#3137](https://github.com/agentscope-ai/CoPaw/pull/3137))。
- **按智能体记忆会话**:切换智能体时,自动回到该智能体上次打开的聊天 ([#3155](https://github.com/agentscope-ai/CoPaw/pull/3155))。
- **界面图标**:为内置工具提供图标,并在模型选择器旁展示提供商标识 ([#3061](https://github.com/agentscope-ai/CoPaw/pull/3061), [#3130](https://github.com/agentscope-ai/CoPaw/pull/3130))。
**技能与工具**
- **技能指令**:`/skills` 列出当前频道已启用的技能;输入 `/<技能名>` 可查看说明或携带消息调用该技能 ([#3150](https://github.com/agentscope-ai/CoPaw/pull/3150))。
- **技能池标签**:使用标签整理共享技能池 ([#2837](https://github.com/agentscope-ai/CoPaw/pull/2837), [#3069](https://github.com/agentscope-ai/CoPaw/pull/3069))。
- **MCP 工具发现**:通过 HTTP API 查询已连接 MCP 服务端暴露的工具名称、说明与参数 ([#3149](https://github.com/agentscope-ai/CoPaw/pull/3149))。
**频道**
- **QQ**:各类消息类型下,文件与富媒体发送表现一致 ([#3012](https://github.com/agentscope-ai/CoPaw/pull/3012))。
- **企业微信**:入站消息保留引用与回复上下文,便于模型理解所指内容 ([#3024](https://github.com/agentscope-ai/CoPaw/pull/3024))。
## 🔄 优化改进
- **时区选择**:时区选项名称随当前界面语言展示 ([#2497](https://github.com/agentscope-ai/CoPaw/pull/2497))。
- **文件大小**:控制台内统一使用易读的字节单位 ([#2808](https://github.com/agentscope-ai/CoPaw/pull/2808))。
- **控制台启动**:较重的设置类页面改为按需加载,首屏打开更快 ([#3122](https://github.com/agentscope-ai/CoPaw/pull/3122))。
- **大型技能列表**:技能池条目很多时,滚动与操作更顺滑 ([#3141](https://github.com/agentscope-ai/CoPaw/pull/3141), [#3158](https://github.com/agentscope-ai/CoPaw/pull/3158))。
- **提供商连通性测试**:测试结果提示已随界面语言本地化 ([#2913](https://github.com/agentscope-ai/CoPaw/pull/2913))。
- **错误码**:各聊天频道、HTTP API 与 CLI 之间的错误码更加一致 ([#3110](https://github.com/agentscope-ai/CoPaw/pull/3110))。
## 🐛 问题修复
**频道**
- **iMessage**:私聊与频道消息一样遵守 DM 策略与白名单 ([#2491](https://github.com/agentscope-ai/CoPaw/pull/2491))。
- **Discord**:超长助手回复分段时,不再在 Markdown 代码块围栏中间被截断 ([#2976](https://github.com/agentscope-ai/CoPaw/pull/2976))。
- **飞书**:多智能体重连或并行运行时,不再因共享锁或错乱的事件循环出问题 ([#3095](https://github.com/agentscope-ai/CoPaw/pull/3095), [#3145](https://github.com/agentscope-ai/CoPaw/pull/3145))。
**工具与技能**
- **MCP**:关闭或重连客户端后,不再出现 CPU 持续异常占用 ([#3106](https://github.com/agentscope-ai/CoPaw/pull/3106))。
- **浏览器自动化**:页面存在重复元素时能准确点到目标;选择器相关说明已在文档中补充 ([#3023](https://github.com/agentscope-ai/CoPaw/pull/3023))。
- **Shell 工具**:引号内的换行在解析时得以保留 ([#3070](https://github.com/agentscope-ai/CoPaw/pull/3070))。
- **技能**:技能元数据损坏或非对象时,解析依赖字段不再导致崩溃 ([#3072](https://github.com/agentscope-ai/CoPaw/pull/3072))。
+19
View File
@@ -0,0 +1,19 @@
## CoPaw is Officially Rebranding to QwenPaw
This rebranding marks an important step forward into our next phase of open-source development.
The new name better reflects the open ecosystem we are building and the broader direction we are continuing to pursue:
_Qwen_ — represents a deeper integration with the Qwen open-source ecosystem and a sharper focus on the model layer, including local models for agents and smart collaboration between small and large models.
_Paw_ — carries forward our original mission to accompany users and become a personal assistant users can truly trust.
This rebranding does not change our vision and goals in the open-source community:
- To build a more practical, secure, and personalized AI assistant;
- To stay committed to open-source collaboration and move forward together with the community.
Thank you all for your support along the way.
From today on, QwenPaw will stay and grow with you!
More updates coming soon.
+18
View File
@@ -0,0 +1,18 @@
## CoPaw 正式更名为 QwenPaw
这是一次品牌名称焕新,也是我们迈向下一阶段开源的重要一步。
新的名字,更好地体现了我们正在构建的开源生态,以及我们持续推进的整体开源方向:
_Qwen_ — 代表和 Qwen 开源生态的融合,以及对模型侧的对焦,包括本地化模型、大小模型协同。
_Paw_ — 是我们初心的延续,目标是陪伴用户、成为用户可以信任的个人助手。
名称焕新,但在开源社区的愿景和目标始终不变:
- 继续打造更实用、更安全、更个性化的个人 AI 体验;
- 继续坚持开源共建、和社区一同前行!
感谢大家一直以来的支持。从今天起,请大家叫我们 QwenPaw。
更多新进展,敬请期待。
+73
View File
@@ -0,0 +1,73 @@
## ✨ Added
**Providers and Models**
- **OpenRouter Provider**: Built-in OpenRouter provider with model discovery, series browsing, and filtering by modality and pricing ([#1192](https://github.com/agentscope-ai/QwenPaw/pull/1192))
- **OpenCode Provider**: Built-in OpenAI-compatible OpenCode (Zen) provider with free models ([#2463](https://github.com/agentscope-ai/QwenPaw/pull/2463))
- **Model ID Autocomplete**: Autocomplete dropdown for model ID selection when adding models, with model discovery enabled by default for all providers ([#3175](https://github.com/agentscope-ai/QwenPaw/pull/3175), [#3341](https://github.com/agentscope-ai/QwenPaw/pull/3341))
**Multi-Agent System**
- **Built-in Agent Collaboration Tools**: New `list_agents` and `chat_with_agent` built-in tools with a dedicated skill and streamlined CLI agent commands for inter-agent communication ([#3292](https://github.com/agentscope-ai/QwenPaw/pull/3292))
**Channels**
- **Matrix Channel Rewrite**: End-to-end encryption (E2EE), mention handling, message history support, and markdown rendering ([#2509](https://github.com/agentscope-ai/QwenPaw/pull/2509))
- **Feishu Quoted Messages**: Reply-chain message handling with text, post, image, and file content extraction ([#3207](https://github.com/agentscope-ai/QwenPaw/pull/3207))
- **DingTalk QR Authentication**: QR code device-flow authentication for DingTalk channel setup in console ([#3315](https://github.com/agentscope-ai/QwenPaw/pull/3315))
**Security**
- **Extended Shell Command Guards**: New guard rules covering `$IFS` injection, control characters, Unicode whitespace, `/proc/*/environ` access, dangerous `jq` flags, and Zsh-specific risky builtins ([#3303](https://github.com/agentscope-ai/QwenPaw/pull/3303))
**Tools & Skills**
- **ClawHub Skill Requirements**: Support for skill requirements in ClawHub format with multiple metadata namespace resolution ([#3310](https://github.com/agentscope-ai/QwenPaw/pull/3310))
- **Media URL Viewing**: `view_image` and `view_video` tools now accept HTTP/HTTPS URLs for direct media viewing without download ([#3358](https://github.com/agentscope-ai/QwenPaw/pull/3358))
## 🔄 Changed
**Providers and Models**
- **Multimodal Probe Unification**: Image support probing across Anthropic, Gemini, and OpenAI providers now shares a single evaluation path with improved false-positive detection ([#3367](https://github.com/agentscope-ai/QwenPaw/pull/3367))
- **Message Normalization for Model Switching**: Messages are normalized at request time so media attachments are preserved in memory when switching between model providers ([#3359](https://github.com/agentscope-ai/QwenPaw/pull/3359))
- **Anthropic Media Deduplication**: Duplicate base64 media in tool results is replaced with text placeholders to prevent exceeding Anthropic's message size limit ([#3372](https://github.com/agentscope-ai/QwenPaw/pull/3372))
**Channels**
- **DingTalk SDK Migration**: Channel migrated to the official Alibaba Cloud SDK with emoji reaction feedback during processing and media delivery in AI Card mode ([#3236](https://github.com/agentscope-ai/QwenPaw/pull/3236), [#3337](https://github.com/agentscope-ai/QwenPaw/pull/3337), [#3374](https://github.com/agentscope-ai/QwenPaw/pull/3374))
- **Feishu WebSocket Stability**: Event loop handling refactored for improved cross-thread reliability during reconnections ([#3360](https://github.com/agentscope-ai/QwenPaw/pull/3360))
- **WeChat Reply Limit Warning**: Channel settings now display a warning about the context_token reply limit for WeChat iLink ([#3376](https://github.com/agentscope-ai/QwenPaw/pull/3376))
**Tools & Skills**
- **Browser Managed CDP**: Default browser start strategy changed to managed CDP with automatic Chromium detection, port allocation, and process lifecycle management ([#3164](https://github.com/agentscope-ai/QwenPaw/pull/3164))
**Console & UI**
- **Model Management Redesign**: Provider model management modal redesigned with capability tags, model searching, and simplified card layout ([#3273](https://github.com/agentscope-ai/QwenPaw/pull/3273), [#3294](https://github.com/agentscope-ai/QwenPaw/pull/3294))
- **Agent Config Tabs**: Agent configuration page refactored from stacked cards to a tabbed interface ([#3354](https://github.com/agentscope-ai/QwenPaw/pull/3354))
- **Skill Selection UI**: Improved skill selection with tag suggestions, tooltips for long names, refined loading behavior, and bulk select actions ([#3320](https://github.com/agentscope-ai/QwenPaw/pull/3320), [#3362](https://github.com/agentscope-ai/QwenPaw/pull/3362), [#3373](https://github.com/agentscope-ai/QwenPaw/pull/3373))
- **Downloads Page**: Website downloads page reworked with stable and preview version grouping ([#3353](https://github.com/agentscope-ai/QwenPaw/pull/3353))
## 🐛 Fixed
**Channels**
- **QQ WebSocket Shutdown**: `stop()` no longer blocks for 8 seconds by force-closing the WebSocket on shutdown ([#3188](https://github.com/agentscope-ai/QwenPaw/pull/3188))
**Console & UI**
- Fixed chat session pin button contrast in dark mode ([#3267](https://github.com/agentscope-ai/QwenPaw/pull/3267))
- Markdown links in header now navigate in-app instead of opening new tabs ([#3186](https://github.com/agentscope-ai/QwenPaw/pull/3186))
- Website contributors layout alignment for Chinese locale ([#3332](https://github.com/agentscope-ai/QwenPaw/pull/3332))
**Providers**
- Fixed local model download failure on Windows (`[Errno 22] Invalid argument`) ([#3321](https://github.com/agentscope-ai/QwenPaw/pull/3321))
- Omit `tool_choice=auto` for vLLM compatibility to avoid 400 errors on deployments without `--enable-auto-tool-choice` ([#3295](https://github.com/agentscope-ai/QwenPaw/pull/3295))
## 📚 Documentation
- **RESTful API Tutorial**: Comprehensive REST API tutorial covering chat endpoints, authentication, multi-turn sessions, streaming, and agent switching ([#3335](https://github.com/agentscope-ai/QwenPaw/pull/3335))
- **Skill Chat Commands**: Added skill chat command reference to commands documentation ([#3330](https://github.com/agentscope-ai/QwenPaw/pull/3330))
+73
View File
@@ -0,0 +1,73 @@
## ✨ 新增功能
**模型供应商**
- **OpenRouter 供应商**:内置 OpenRouter 供应商,支持模型发现、系列浏览,以及按模态和定价筛选模型 ([#1192](https://github.com/agentscope-ai/QwenPaw/pull/1192))
- **OpenCode 供应商**:内置兼容 OpenAI 协议的 OpenCode (Zen) 供应商,提供免费模型 ([#2463](https://github.com/agentscope-ai/QwenPaw/pull/2463))
- **模型 ID 自动补全**:添加模型时支持下拉自动补全模型 ID,同时所有供应商默认开启模型发现功能 ([#3175](https://github.com/agentscope-ai/QwenPaw/pull/3175), [#3341](https://github.com/agentscope-ai/QwenPaw/pull/3341))
**多 Agent 系统**
- **内置 Agent 协作工具**:新增 `list_agents` 和 `chat_with_agent` 内置工具,配套专属技能和精简的 CLI Agent 命令,支持 Agent 间通信协作 ([#3292](https://github.com/agentscope-ai/QwenPaw/pull/3292))
**频道(Channels)**
- **Matrix 频道重写**:支持端到端加密(E2EE)、@提及处理、消息历史记录和 Markdown 渲染 ([#2509](https://github.com/agentscope-ai/QwenPaw/pull/2509))
- **飞书引用消息**:支持回复链消息处理,可提取文本、富文本、图片和文件内容 ([#3207](https://github.com/agentscope-ai/QwenPaw/pull/3207))
- **钉钉扫码认证**:控制台中通过二维码设备授权流程配置钉钉频道 ([#3315](https://github.com/agentscope-ai/QwenPaw/pull/3315))
**安全**
- **扩展 Shell 命令守卫规则**:新增针对 `$IFS` 注入、控制字符、Unicode 空白符、`/proc/*/environ` 访问、危险 `jq` 标志和 Zsh 高危内置命令的守卫规则 ([#3303](https://github.com/agentscope-ai/QwenPaw/pull/3303))
**工具与技能**
- **ClawHub 技能依赖格式**:支持 ClawHub 格式的技能依赖声明,并按多命名空间优先级解析 ([#3310](https://github.com/agentscope-ai/QwenPaw/pull/3310))
- **媒体 URL 查看**:`view_image` 和 `view_video` 工具支持直接传入 HTTP/HTTPS URL 查看媒体,无需下载 ([#3358](https://github.com/agentscope-ai/QwenPaw/pull/3358))
## 🔄 变更
**模型供应商**
- **多模态探测统一**:Anthropic、Gemini 和 OpenAI 的图片支持探测统一为共享评估路径,改进误报检测 ([#3367](https://github.com/agentscope-ai/QwenPaw/pull/3367))
- **模型切换时的消息规范化**:在请求时对消息进行规范化处理,在切换模型供应商时保留媒体附件记忆 ([#3359](https://github.com/agentscope-ai/QwenPaw/pull/3359))
- **Anthropic 媒体去重**:工具结果中重复的 base64 媒体数据替换为文本占位符,避免超出 Anthropic 消息大小限制 ([#3372](https://github.com/agentscope-ai/QwenPaw/pull/3372))
**频道(Channels)**
- **钉钉 SDK 迁移**:从原始 HTTP 调用迁移至阿里云官方 SDK,新增处理中的 Emoji 表情反馈和 AI 卡片模式下的媒体发送 ([#3236](https://github.com/agentscope-ai/QwenPaw/pull/3236), [#3337](https://github.com/agentscope-ai/QwenPaw/pull/3337), [#3374](https://github.com/agentscope-ai/QwenPaw/pull/3374))
- **飞书 WebSocket 稳定性**:重构事件循环处理,提升重连时的跨线程可靠性 ([#3360](https://github.com/agentscope-ai/QwenPaw/pull/3360))
- **微信回复限制提醒**:微信 iLink 频道设置中新增 context_token 回复数量限制的警告提示 ([#3376](https://github.com/agentscope-ai/QwenPaw/pull/3376))
**工具与技能**
- **浏览器托管 CDP**:默认浏览器启动策略改为托管 CDP 模式,支持自动检测 Chromium、端口分配和进程生命周期管理 ([#3164](https://github.com/agentscope-ai/QwenPaw/pull/3164))
**控制台与界面**
- **模型管理重设计**:供应商模型管理弹窗重新设计,新增能力标签、模型搜索和简化的卡片布局 ([#3273](https://github.com/agentscope-ai/QwenPaw/pull/3273), [#3294](https://github.com/agentscope-ai/QwenPaw/pull/3294))
- **Agent 配置标签页**:Agent 配置页从堆叠卡片改为标签页式界面 ([#3354](https://github.com/agentscope-ai/QwenPaw/pull/3354))
- **技能选择界面优化**:改进技能选择体验,新增标签建议、长名称悬浮提示、加载行为优化和批量选择操作 ([#3320](https://github.com/agentscope-ai/QwenPaw/pull/3320), [#3362](https://github.com/agentscope-ai/QwenPaw/pull/3362), [#3373](https://github.com/agentscope-ai/QwenPaw/pull/3373))
- **下载页面**:网站下载页面优化,支持稳定版和预览版分组展示 ([#3353](https://github.com/agentscope-ai/QwenPaw/pull/3353))
## 🐛 修复
**频道(Channels)**
- **QQ WebSocket 关闭**:`stop()` 不再因等待 WebSocket 关闭而阻塞 8 秒 ([#3188](https://github.com/agentscope-ai/QwenPaw/pull/3188))
**控制台与界面**
- 修复聊天会话置顶按钮在暗黑模式下对比度过低的问题 ([#3267](https://github.com/agentscope-ai/QwenPaw/pull/3267))
- 顶栏中的 Markdown 链接改为应用内导航,不再打开新标签页 ([#3186](https://github.com/agentscope-ai/QwenPaw/pull/3186))
- 修复网站贡献者区域在中文语言下的布局对齐问题 ([#3332](https://github.com/agentscope-ai/QwenPaw/pull/3332))
**模型供应商**
- 修复 Windows 上本地模型下载失败的问题(`[Errno 22] Invalid argument`) ([#3321](https://github.com/agentscope-ai/QwenPaw/pull/3321))
- 为兼容 vLLM 部署,省略 `tool_choice=auto` 参数以避免 400 错误 ([#3295](https://github.com/agentscope-ai/QwenPaw/pull/3295))
## 📚 文档
- **RESTful API 教程**:全面的 REST API 教程,涵盖聊天接口、认证、多轮对话、流式传输和 Agent 切换 ([#3335](https://github.com/agentscope-ai/QwenPaw/pull/3335))
- **技能聊天命令**:在命令文档中新增技能聊天命令参考 ([#3330](https://github.com/agentscope-ai/QwenPaw/pull/3330))
+78
View File
@@ -0,0 +1,78 @@
## ✨ Added
**Agent System**
- **Spawn Subagent**: New `spawn_subagent` tool for ephemeral in-workspace sub-agent execution ([#4806](https://github.com/agentscope-ai/QwenPaw/pull/4806))
**Coding Mode**
- **Open Directory**: New "Open Directory" tab to reference local projects without copying files into the workspace ([#4762](https://github.com/agentscope-ai/QwenPaw/pull/4762))
**Channels**
- **Tencent Yuanbao Channel**: New channel integration for Tencent Yuanbao bot ([#4856](https://github.com/agentscope-ai/QwenPaw/pull/4856))
- **Feishu Thread Reply**: Agents can now reply within Feishu message threads ([#4708](https://github.com/agentscope-ai/QwenPaw/pull/4708))
**Providers**
- **OpenRouter Attribution**: Added app attribution headers for OpenRouter ranking visibility ([#4809](https://github.com/agentscope-ai/QwenPaw/pull/4809))
**Console & Upload**
- **Dynamic Upload Limit**: Upload size limit is now configurable across console and channels ([#4734](https://github.com/agentscope-ai/QwenPaw/pull/4734))
**Testing**
- **E2E Test Migration**: Migrated `python_e2e` into CoPaw with mock infrastructure ([#4464](https://github.com/agentscope-ai/QwenPaw/pull/4464))
- **Integration Test Expansion**: Broadened coverage with seeded-data scenarios ([#4745](https://github.com/agentscope-ai/QwenPaw/pull/4745))
## 🔄 Changed
- **Feishu Card System**: Restructured card system to match wecom/qq pattern and fixed resolved card in streaming mode ([#4742](https://github.com/agentscope-ai/QwenPaw/pull/4742))
## 🐛 Fixed
**Desktop & CLI**
- **Bundled Desktop CLI**: Added bundled qwenpaw CLI for Tauri desktop app ([#4779](https://github.com/agentscope-ai/QwenPaw/pull/4779))
- **Windows Git Console**: Hide Windows git console windows in coding mode ([#4696](https://github.com/agentscope-ai/QwenPaw/pull/4696))
**Console**
- **Mobile Chat Input**: Adapted chat input for safe area and virtual keyboard on mobile ([#4751](https://github.com/agentscope-ai/QwenPaw/pull/4751))
- **Chat Input Draft**: Clear chat input draft after message is sent ([#4755](https://github.com/agentscope-ai/QwenPaw/pull/4755))
- **Chat Input**: Fixed additional chat input issues ([#4862](https://github.com/agentscope-ai/QwenPaw/pull/4862))
- **Chat Code**: Fixed chat code display issues ([#4805](https://github.com/agentscope-ai/QwenPaw/pull/4805))
- **Antd Deprecation**: Cleaned up antd 5.29 deprecation warnings and fixed AllowNoAuthHosts icon ([#4790](https://github.com/agentscope-ai/QwenPaw/pull/4790))
**Channels**
- **OneBot WebSocket**: Auto-restart WebSocket server on connection loss via TCP health probe ([#4793](https://github.com/agentscope-ai/QwenPaw/pull/4793))
**Agent**
- **Reasoning Content**: Preserve `reasoning_content` across file blocks in assistant messages ([#4728](https://github.com/agentscope-ai/QwenPaw/pull/4728))
- **Message Timestamp**: Enhanced timestamp handling with user timezone support ([#4763](https://github.com/agentscope-ai/QwenPaw/pull/4763))
**Skills**
- **Skill Update Stability**: Preserve tag, enable/disable, and channel config during skill updates ([#4847](https://github.com/agentscope-ai/QwenPaw/pull/4847))
- **Stale Skill Handling**: Ignore `~`-prefixed stale skills during pip operations ([#4851](https://github.com/agentscope-ai/QwenPaw/pull/4851))
**Pet**
- **Auto-install Dependencies**: Auto-install missing dependencies to resolve startup failure on v1.1.9 ([#4801](https://github.com/agentscope-ai/QwenPaw/pull/4801))
**Website**
- **Header Style**: Fixed header style and added auto-continue video ([#4812](https://github.com/agentscope-ai/QwenPaw/pull/4812))
## 🏗️ Infrastructure
- **CI Cleanup**: Dropped redundant `unit-tests.yml` workflow ([#4748](https://github.com/agentscope-ai/QwenPaw/pull/4748))
- **Contributors Data**: Auto-maintain `contributors_data.json` via GitHub Actions on PR merge ([#4692](https://github.com/agentscope-ai/QwenPaw/pull/4692))
## 🙌 New Contributors
- @wangfei010313 made their first contribution in [#4801](https://github.com/agentscope-ai/QwenPaw/pull/4801)
- @szetohoyan made their first contribution in [#4708](https://github.com/agentscope-ai/QwenPaw/pull/4708)
+78
View File
@@ -0,0 +1,78 @@
## ✨ 新增功能
**Agent 系统**
- **派生子 Agent**:新增 `spawn_subagent` 工具,支持在工作区内派生临时子 Agent 执行任务 ([#4806](https://github.com/agentscope-ai/QwenPaw/pull/4806))
**Coding 模式**
- **打开目录**:新增"打开目录"标签页,可直接引用本地项目而无需将文件复制到工作区 ([#4762](https://github.com/agentscope-ai/QwenPaw/pull/4762))
**渠道**
- **腾讯元宝渠道**:新增腾讯元宝 Bot 渠道集成 ([#4856](https://github.com/agentscope-ai/QwenPaw/pull/4856))
- **飞书话题回复**:Agent 支持在飞书消息话题中回复 ([#4708](https://github.com/agentscope-ai/QwenPaw/pull/4708))
**服务商**
- **OpenRouter 归因**:新增 OpenRouter 应用归因标头,提升排名可见度 ([#4809](https://github.com/agentscope-ai/QwenPaw/pull/4809))
**控制台与上传**
- **动态上传限制**:上传大小限制可在控制台和渠道中动态配置 ([#4734](https://github.com/agentscope-ai/QwenPaw/pull/4734))
**测试**
- **E2E 测试迁移**:将 `python_e2e` 迁入 CoPaw,配套 Mock 基础设施 ([#4464](https://github.com/agentscope-ai/QwenPaw/pull/4464))
- **集成测试扩展**:使用种子数据场景扩大覆盖范围 ([#4745](https://github.com/agentscope-ai/QwenPaw/pull/4745))
## 🔄 变更
- **飞书卡片系统**:重构卡片系统,统一为 wecom/qq 模式,并修复流式模式下的 resolved 卡片问题 ([#4742](https://github.com/agentscope-ai/QwenPaw/pull/4742))
## 🐛 修复
**桌面端与 CLI**
- **桌面端内置 CLI**:为 Tauri 桌面应用添加内置 qwenpaw CLI ([#4779](https://github.com/agentscope-ai/QwenPaw/pull/4779))
- **Windows Git 控制台**:Coding 模式中隐藏 Windows git 控制台窗口 ([#4696](https://github.com/agentscope-ai/QwenPaw/pull/4696))
**控制台**
- **移动端聊天输入**:适配安全区域和虚拟键盘 ([#4751](https://github.com/agentscope-ai/QwenPaw/pull/4751))
- **聊天输入草稿**:消息发送后正确清除输入草稿 ([#4755](https://github.com/agentscope-ai/QwenPaw/pull/4755))
- **聊天输入修复**:修复其他聊天输入问题 ([#4862](https://github.com/agentscope-ai/QwenPaw/pull/4862))
- **聊天代码显示**:修复聊天中代码展示问题 ([#4805](https://github.com/agentscope-ai/QwenPaw/pull/4805))
- **Antd 废弃清理**:清理 antd 5.29 废弃警告,修复 AllowNoAuthHosts 图标 ([#4790](https://github.com/agentscope-ai/QwenPaw/pull/4790))
**渠道**
- **OneBot WebSocket**:连接丢失时通过 TCP 健康探测自动重启 WebSocket 服务 ([#4793](https://github.com/agentscope-ai/QwenPaw/pull/4793))
**Agent**
- **推理内容保留**:修复助理消息中跨文件块 `reasoning_content` 丢失的问题 ([#4728](https://github.com/agentscope-ai/QwenPaw/pull/4728))
- **消息时间戳**:增强时间戳处理,支持用户时区 ([#4763](https://github.com/agentscope-ai/QwenPaw/pull/4763))
**技能**
- **技能更新稳定性**:更新技能时保留标签、启用/禁用状态和渠道配置 ([#4847](https://github.com/agentscope-ai/QwenPaw/pull/4847))
- **过期技能处理**:pip 操作时忽略 `~` 前缀的过期技能 ([#4851](https://github.com/agentscope-ai/QwenPaw/pull/4851))
**宠物**
- **自动安装依赖**:自动安装缺失依赖,解决 v1.1.9 启动失败问题 ([#4801](https://github.com/agentscope-ai/QwenPaw/pull/4801))
**网站**
- **页头样式**:修复页头样式,添加自动续播视频 ([#4812](https://github.com/agentscope-ai/QwenPaw/pull/4812))
## 🏗️ 基础设施
- **CI 精简**:移除冗余的 `unit-tests.yml` 工作流 ([#4748](https://github.com/agentscope-ai/QwenPaw/pull/4748))
- **贡献者数据**:PR 合并时通过 GitHub Actions 自动维护 `contributors_data.json` ([#4692](https://github.com/agentscope-ai/QwenPaw/pull/4692))
## 🙌 新贡献者
- @wangfei010313 在 [#4801](https://github.com/agentscope-ai/QwenPaw/pull/4801) 中首次贡献
- @szetohoyan 在 [#4708](https://github.com/agentscope-ai/QwenPaw/pull/4708) 中首次贡献
+145
View File
@@ -0,0 +1,145 @@
## ✨ Added
**Providers**
- **Free Model OAuth**: Zero-config free models with one-click OAuth authentication ([#5049](https://github.com/agentscope-ai/QwenPaw/pull/5049))
- **Xiaomi MiMo Provider**: Add Xiaomi MiMo Token Plan as built-in provider ([#4722](https://github.com/agentscope-ai/QwenPaw/pull/4722))
- **Extra Body Routing**: Route non-standard generate_kwargs into extra_body ([#4689](https://github.com/agentscope-ai/QwenPaw/pull/4689))
**Console**
- **Plugin Market**: Add Plugin Market tab with AgentScope Platform integration ([#5023](https://github.com/agentscope-ai/QwenPaw/pull/5023))
- **Plugin Extension Infrastructure**: Plugin extension infrastructure for console ([#4997](https://github.com/agentscope-ai/QwenPaw/pull/4997))
- **Tool Cards Plugin System**: Tool cards plugin system ([#5046](https://github.com/agentscope-ai/QwenPaw/pull/5046))
- **Slash Command Suggestions**: Add current-agent skills to slash command suggestions with UI optimizations ([#4810](https://github.com/agentscope-ai/QwenPaw/pull/4810))
- **External URL Navigation**: Support href field on MenuItem for external URL navigation ([#5071](https://github.com/agentscope-ai/QwenPaw/pull/5071))
**MCP**
- **Tool Whitelisting**: Add per-server MCP tool whitelisting with frontend toggle UI ([#5002](https://github.com/agentscope-ai/QwenPaw/pull/5002))
**Plugins**
- **Prompt Section Registry**: Allow plugins to inject system prompt blocks at defined anchor points ([#4804](https://github.com/agentscope-ai/QwenPaw/pull/4804))
- **Uninstall Hooks**: Add uninstall hooks, fix validator imports, expose skill provider API ([#4794](https://github.com/agentscope-ai/QwenPaw/pull/4794))
- **CloudPaw Agent Import**: Support importing agents from AgentHub and enhance A2A capabilities ([#5033](https://github.com/agentscope-ai/QwenPaw/pull/5033))
**Skills**
- **Self-Evolving Skill Creation**: Enhanced make-skill flow to support self-evolving skill creation ([#4857](https://github.com/agentscope-ai/QwenPaw/pull/4857))
- **Skill Tag Batch Download**: Add skill tag batch download ([#4969](https://github.com/agentscope-ai/QwenPaw/pull/4969))
- **Multi-Path Skill Pool**: Add multi-path support for skill pool ([#4891](https://github.com/agentscope-ai/QwenPaw/pull/4891))
**Channels**
- **Telegram Tool Guard**: Interactive tool approval via inline keyboard ([#4737](https://github.com/agentscope-ai/QwenPaw/pull/4737))
- **Feishu Group Sharing**: Add group session sharing mode ([#4821](https://github.com/agentscope-ai/QwenPaw/pull/4821))
- **Feishu Interactive Cards**: Support interactive card content extraction and refactor message parsing ([#4879](https://github.com/agentscope-ai/QwenPaw/pull/4879))
- **QQ QR Code Auth**: Add QR code authorization for QQ channel ([#4848](https://github.com/agentscope-ai/QwenPaw/pull/4848))
- **DingTalk Inline Media**: Enable inline image preview and video playback card via webhook ([#5073](https://github.com/agentscope-ai/QwenPaw/pull/5073))
- **Yuanbao Typing Indicator**: Add typing indicator via heartbeat API ([#5020](https://github.com/agentscope-ai/QwenPaw/pull/5020))
- **Access Control Username**: Add sender username to access control with unified user info structure ([#4897](https://github.com/agentscope-ai/QwenPaw/pull/4897))
**Browser**
- **Page Coordinate Click**: Add page coordinate click support to browser_control ([#4905](https://github.com/agentscope-ai/QwenPaw/pull/4905))
**ACP**
- **ACP Enhancements**: Advertise commands, surface errors, tool params, agent/model meta, file links ([#4949](https://github.com/agentscope-ai/QwenPaw/pull/4949))
## 🔄 Changed
- **Cron Push Bubbles**: Disable push bubbles for cron jobs of type 'agent' ([#4803](https://github.com/agentscope-ai/QwenPaw/pull/4803))
- **Console Media Handling**: Simplify media message handling in console channel ([#5077](https://github.com/agentscope-ai/QwenPaw/pull/5077))
## 🐛 Fixed
**Providers & Config**
- **ProviderManager Fallback**: Add ProviderManager fallback to get_model_max_input_length ([#4827](https://github.com/agentscope-ai/QwenPaw/pull/4827))
- **Compaction Fix**: Resolve /compact ignoring model's max_input_length when active_model is unset ([#5021](https://github.com/agentscope-ai/QwenPaw/pull/5021))
**Coding Mode**
- **Windows Drive Browsing**: Support browsing all drives on Windows ([#4906](https://github.com/agentscope-ai/QwenPaw/pull/4906))
- **Session Switch & Header**: Fix coding mode session switch failure and header overflow ([#5011](https://github.com/agentscope-ai/QwenPaw/pull/5011))
**Console**
- **Session List Spinner**: Fix session list kept spinning ([#4929](https://github.com/agentscope-ai/QwenPaw/pull/4929))
- **Scrollbar Flickering**: Remove hover transform to prevent scrollbar flickering ([#4766](https://github.com/agentscope-ai/QwenPaw/pull/4766))
- **Shield Icon & Table**: Center shield icon and adjust rule table column widths ([#4765](https://github.com/agentscope-ai/QwenPaw/pull/4765))
- **Theme Toggle Icon**: Change system theme toggle icon from computer to sun ([#5050](https://github.com/agentscope-ai/QwenPaw/pull/5050))
**Agent & Memory**
- **Broadcast Coroutine**: Await unawaited coroutine in \_broadcast_to_subscribers ([#5048](https://github.com/agentscope-ai/QwenPaw/pull/5048))
- **Skip Auto Memory**: Skip automation auto memory ([#4348](https://github.com/agentscope-ai/QwenPaw/pull/4348))
- **Dream Workspace**: Dream should use cron runner's workspace, not stale instance dir ([#4936](https://github.com/agentscope-ai/QwenPaw/pull/4936))
- **Media Block Processing**: Handle non-dict source objects in media block processing ([#4933](https://github.com/agentscope-ai/QwenPaw/pull/4933))
**MCP**
- **Tool Name Regex**: Alias-rewrite tool names rejected by OpenAI-style regex ([#4958](https://github.com/agentscope-ai/QwenPaw/pull/4958))
- **Subprocess Accumulation**: Prevent subprocess accumulation across restarts ([#5014](https://github.com/agentscope-ai/QwenPaw/pull/5014))
**Channels**
- **DingTalk Message Merging**: Prevent cross-user message merging when conversation_id suffix collides ([#4932](https://github.com/agentscope-ai/QwenPaw/pull/4932))
- **OneBot Port Conflict**: Graceful degradation on port conflict during reload ([#5010](https://github.com/agentscope-ai/QwenPaw/pull/5010))
- **ACL Sender ID**: Preserve acl_sender_id during native payload merge across all channels ([#4925](https://github.com/agentscope-ai/QwenPaw/pull/4925))
**Browser**
- **CDP Timeout & Profile**: Add CDP timeout param and browser profile isolation for cross-browser switching ([#4944](https://github.com/agentscope-ai/QwenPaw/pull/4944))
**File & Session**
- **Async File Writes**: Use aiofiles for non-blocking file writes ([#4954](https://github.com/agentscope-ai/QwenPaw/pull/4954))
- **Atomic State Write**: Write session state atomically ([#4706](https://github.com/agentscope-ai/QwenPaw/pull/4706))
- **Upload Size & Timeout**: Upload size limit + plugin loader timeout resilience ([#4940](https://github.com/agentscope-ai/QwenPaw/pull/4940))
- **Zip Download Size**: Increase zip download file size ([#4941](https://github.com/agentscope-ai/QwenPaw/pull/4941))
**Security**
- **File Preview Restriction**: Restrict file preview to WORKING_DIR and block sensitive files ([#4981](https://github.com/agentscope-ai/QwenPaw/pull/4981))
**Packages**
- **Yuanbao Proto JSON**: Include yuanbao proto JSON files in package-data ([#4899](https://github.com/agentscope-ai/QwenPaw/pull/4899))
## ⚡ Performance
- **Backend Startup**: Unblock event loop and parallelize startup ([#5074](https://github.com/agentscope-ai/QwenPaw/pull/5074))
## 🏗️ Infrastructure
- **E2E CI Pipeline**: Complete E2E integration CI pipeline — backend startup, coverage, test fixes ([#5054](https://github.com/agentscope-ai/QwenPaw/pull/5054))
- **CI Coverage**: Switch coverage collection from py3.10 to py3.13 ([#4952](https://github.com/agentscope-ai/QwenPaw/pull/4952))
- **CI Cleanup**: Remove redundant channel-tests workflow ([#5056](https://github.com/agentscope-ai/QwenPaw/pull/5056))
- **Dependencies**: Update reme-ai dependency to version 0.3.1.10 ([#4935](https://github.com/agentscope-ai/QwenPaw/pull/4935))
- **Chat Component**: Update @agentscope-ai/chat to 1.1.68 ([#5072](https://github.com/agentscope-ai/QwenPaw/pull/5072))
## 🧪 Testing
- **Frontend Unit Tests**: Complete frontend unit test milestone — constants, contexts, layouts, api-types, components ([#4332](https://github.com/agentscope-ai/QwenPaw/pull/4332))
- **Runner & Router Tests**: Add unit + contract tests for runner & routers ([#4852](https://github.com/agentscope-ai/QwenPaw/pull/4852))
- **Agent-Scoped P0 Tests**: Agent-scoped P0 contract coverage (+55 cases) ([#4945](https://github.com/agentscope-ai/QwenPaw/pull/4945))
- **Agent Page Tests**: Agent page + API modules unit tests + coverage ratchet ([#5012](https://github.com/agentscope-ai/QwenPaw/pull/5012))
- **Provider & Utils Tests**: Add unit tests for local_models, providers, tunnel, and utils ([#4973](https://github.com/agentscope-ai/QwenPaw/pull/4973))
- **Channel Layer Tests**: Channel layer + multi-agent management integration tests ([#5058](https://github.com/agentscope-ai/QwenPaw/pull/5058))
## 📖 Docs
- **Roadmap Update**: Update the roadmap ([#4942](https://github.com/agentscope-ai/QwenPaw/pull/4942))
- **Frontend Plugin Docs**: Consolidate frontend plugin docs into website pages ([#5066](https://github.com/agentscope-ai/QwenPaw/pull/5066))
## 🙌 New Contributors
- @saltapp made their first contribution in [#4810](https://github.com/agentscope-ai/QwenPaw/pull/4810)
- @EliasMei made their first contribution in [#4804](https://github.com/agentscope-ai/QwenPaw/pull/4804)
- @bfglx made their first contribution in [#4905](https://github.com/agentscope-ai/QwenPaw/pull/4905)
- @SnowTQ made their first contribution in [#4766](https://github.com/agentscope-ai/QwenPaw/pull/4766)
- @Saint-Yin made their first contribution in [#5033](https://github.com/agentscope-ai/QwenPaw/pull/5033)
- @EaveLuo made their first contribution in [#4973](https://github.com/agentscope-ai/QwenPaw/pull/4973)
+145
View File
@@ -0,0 +1,145 @@
## ✨ 新增功能
**服务商**
- **免费模型 OAuth**:零配置免费模型,一键 OAuth 认证即可使用 ([#5049](https://github.com/agentscope-ai/QwenPaw/pull/5049))
- **小米 MiMo 服务商**:新增小米 MiMo Token Plan 内置服务商 ([#4722](https://github.com/agentscope-ai/QwenPaw/pull/4722))
- **Extra Body 路由**:将非标准 generate_kwargs 路由到 extra_body ([#4689](https://github.com/agentscope-ai/QwenPaw/pull/4689))
**控制台**
- **插件市场**:新增插件市场标签页,集成 AgentScope 平台 ([#5023](https://github.com/agentscope-ai/QwenPaw/pull/5023))
- **插件扩展架构**:控制台插件扩展基础架构 ([#4997](https://github.com/agentscope-ai/QwenPaw/pull/4997))
- **工具卡片插件系统**:工具卡片插件系统 ([#5046](https://github.com/agentscope-ai/QwenPaw/pull/5046))
- **斜杠命令建议**:在斜杠命令建议中添加当前 Agent 技能,优化 UI ([#4810](https://github.com/agentscope-ai/QwenPaw/pull/4810))
- **外部 URL 导航**:MenuItem 支持 href 字段以实现外部 URL 导航 ([#5071](https://github.com/agentscope-ai/QwenPaw/pull/5071))
**MCP**
- **工具白名单**:支持按 MCP 服务器配置工具白名单,含前端开关 UI ([#5002](https://github.com/agentscope-ai/QwenPaw/pull/5002))
**插件**
- **Prompt 注入注册**:允许插件在预定义锚点注入系统提示块 ([#4804](https://github.com/agentscope-ai/QwenPaw/pull/4804))
- **卸载钩子**:新增卸载钩子,修复校验器导入,暴露技能 Provider API ([#4794](https://github.com/agentscope-ai/QwenPaw/pull/4794))
- **CloudPaw Agent 导入**:支持从 AgentHub 导入 Agent 并增强 A2A 能力 ([#5033](https://github.com/agentscope-ai/QwenPaw/pull/5033))
**技能**
- **自进化技能创建**:增强 make-skill 流程,支持自进化技能创建 ([#4857](https://github.com/agentscope-ai/QwenPaw/pull/4857))
- **技能标签批量下载**:新增技能标签批量下载 ([#4969](https://github.com/agentscope-ai/QwenPaw/pull/4969))
- **多路径技能池**:技能池支持多路径 ([#4891](https://github.com/agentscope-ai/QwenPaw/pull/4891))
**渠道**
- **Telegram 工具审批**:通过内联键盘实现交互式工具审批 ([#4737](https://github.com/agentscope-ai/QwenPaw/pull/4737))
- **飞书群会话共享**:新增飞书群会话共享模式 ([#4821](https://github.com/agentscope-ai/QwenPaw/pull/4821))
- **飞书交互卡片**:支持交互卡片内容提取,重构消息解析 ([#4879](https://github.com/agentscope-ai/QwenPaw/pull/4879))
- **QQ 二维码授权**:QQ 渠道新增二维码授权 ([#4848](https://github.com/agentscope-ai/QwenPaw/pull/4848))
- **钉钉内联媒体**:通过 Webhook 启用内联图片预览和视频播放卡片 ([#5073](https://github.com/agentscope-ai/QwenPaw/pull/5073))
- **元宝输入指示器**:通过心跳 API 添加输入中指示器 ([#5020](https://github.com/agentscope-ai/QwenPaw/pull/5020))
- **访问控制用户名**:在访问控制中添加发送者用户名,统一用户信息结构 ([#4897](https://github.com/agentscope-ai/QwenPaw/pull/4897))
**浏览器**
- **页面坐标点击**:browser_control 新增页面坐标点击支持 ([#4905](https://github.com/agentscope-ai/QwenPaw/pull/4905))
**ACP**
- **ACP 增强**:广播命令、展示错误、工具参数、Agent/模型元信息、文件链接 ([#4949](https://github.com/agentscope-ai/QwenPaw/pull/4949))
## 🔄 变更
- **定时任务推送气泡**:禁用 agent 类型定时任务的推送气泡 ([#4803](https://github.com/agentscope-ai/QwenPaw/pull/4803))
- **控制台媒体处理**:简化控制台渠道的媒体消息处理 ([#5077](https://github.com/agentscope-ai/QwenPaw/pull/5077))
## 🐛 修复
**服务商与配置**
- **ProviderManager 回退**:为 get_model_max_input_length 添加 ProviderManager 回退 ([#4827](https://github.com/agentscope-ai/QwenPaw/pull/4827))
- **压缩修复**:修复 /compact 在 active_model 未设置时忽略模型 max_input_length 的问题 ([#5021](https://github.com/agentscope-ai/QwenPaw/pull/5021))
**Coding 模式**
- **Windows 驱动器浏览**:支持在 Windows 上浏览所有驱动器 ([#4906](https://github.com/agentscope-ai/QwenPaw/pull/4906))
- **会话切换与头部**:修复 Coding 模式会话切换失败和头部溢出问题 ([#5011](https://github.com/agentscope-ai/QwenPaw/pull/5011))
**控制台**
- **会话列表加载**:修复会话列表一直转圈的问题 ([#4929](https://github.com/agentscope-ai/QwenPaw/pull/4929))
- **滚动条闪烁**:移除 hover 变换以防止环境变量页面滚动条闪烁 ([#4766](https://github.com/agentscope-ai/QwenPaw/pull/4766))
- **盾牌图标与表格**:居中盾牌图标,调整规则表格列宽 ([#4765](https://github.com/agentscope-ai/QwenPaw/pull/4765))
- **主题切换图标**:将系统主题切换图标从电脑改为太阳 ([#5050](https://github.com/agentscope-ai/QwenPaw/pull/5050))
**Agent 与记忆**
- **广播协程**:修复 \_broadcast_to_subscribers 中未等待的协程 ([#5048](https://github.com/agentscope-ai/QwenPaw/pull/5048))
- **跳过自动记忆**:自动化任务跳过自动记忆 ([#4348](https://github.com/agentscope-ai/QwenPaw/pull/4348))
- **Dream 工作区**:Dream 应使用定时任务运行器的工作区,而非过期的实例目录 ([#4936](https://github.com/agentscope-ai/QwenPaw/pull/4936))
- **媒体块处理**:处理媒体块中非 dict 类型的 source 对象 ([#4933](https://github.com/agentscope-ai/QwenPaw/pull/4933))
**MCP**
- **工具名称正则**:重写被 OpenAI 风格正则拒绝的别名工具名称 ([#4958](https://github.com/agentscope-ai/QwenPaw/pull/4958))
- **子进程堆积**:防止重启后子进程堆积 ([#5014](https://github.com/agentscope-ai/QwenPaw/pull/5014))
**渠道**
- **钉钉消息合并**:防止 conversation_id 后缀碰撞时跨用户消息合并 ([#4932](https://github.com/agentscope-ai/QwenPaw/pull/4932))
- **OneBot 端口冲突**:重载时端口冲突优雅降级 ([#5010](https://github.com/agentscope-ai/QwenPaw/pull/5010))
- **ACL 发送者 ID**:所有渠道原生 payload 合并时保留 acl_sender_id ([#4925](https://github.com/agentscope-ai/QwenPaw/pull/4925))
**浏览器**
- **CDP 超时与配置**:添加 CDP 超时参数和跨浏览器切换的浏览器配置隔离 ([#4944](https://github.com/agentscope-ai/QwenPaw/pull/4944))
**文件与会话**
- **异步文件写入**:使用 aiofiles 进行非阻塞文件写入 ([#4954](https://github.com/agentscope-ai/QwenPaw/pull/4954))
- **原子化状态写入**:原子化写入会话状态 ([#4706](https://github.com/agentscope-ai/QwenPaw/pull/4706))
- **上传大小与超时**:上传大小限制 + 插件加载器超时容错 ([#4940](https://github.com/agentscope-ai/QwenPaw/pull/4940))
- **Zip 下载大小**:增大 zip 下载文件大小限制 ([#4941](https://github.com/agentscope-ai/QwenPaw/pull/4941))
**安全**
- **文件预览限制**:限制文件预览在 WORKING_DIR 范围内,屏蔽敏感文件 ([#4981](https://github.com/agentscope-ai/QwenPaw/pull/4981))
**打包**
- **元宝 Proto JSON**:将元宝 proto JSON 文件包含在 package-data 中 ([#4899](https://github.com/agentscope-ai/QwenPaw/pull/4899))
## ⚡ 性能优化
- **后端启动优化**:解除事件循环阻塞,并行化启动流程 ([#5074](https://github.com/agentscope-ai/QwenPaw/pull/5074))
## 🏗️ 基础设施
- **E2E CI 管线**:完成 E2E 集成 CI 管线——后端启动、覆盖率、测试修复 ([#5054](https://github.com/agentscope-ai/QwenPaw/pull/5054))
- **CI 覆盖率**:覆盖率收集从 py3.10 切换到 py3.13 ([#4952](https://github.com/agentscope-ai/QwenPaw/pull/4952))
- **CI 精简**:移除冗余的 channel-tests 工作流 ([#5056](https://github.com/agentscope-ai/QwenPaw/pull/5056))
- **依赖更新**:更新 reme-ai 依赖至 0.3.1.10 ([#4935](https://github.com/agentscope-ai/QwenPaw/pull/4935))
- **Chat 组件**:更新 @agentscope-ai/chat 至 1.1.68 ([#5072](https://github.com/agentscope-ai/QwenPaw/pull/5072))
## 🧪 测试
- **前端单元测试**:完成前端单测里程碑——constants、contexts、layouts、api-types、components ([#4332](https://github.com/agentscope-ai/QwenPaw/pull/4332))
- **Runner & Router 测试**:新增 runner 与 routers 的单元/契约测试 ([#4852](https://github.com/agentscope-ai/QwenPaw/pull/4852))
- **Agent P0 测试**:Agent 范围 P0 契约覆盖(+55 用例)([#4945](https://github.com/agentscope-ai/QwenPaw/pull/4945))
- **Agent 页面测试**:Agent 页面 + API 模块单元测试 + 覆盖率门槛 ([#5012](https://github.com/agentscope-ai/QwenPaw/pull/5012))
- **Provider & Utils 测试**:新增 local_models、providers、tunnel、utils 的单元测试 ([#4973](https://github.com/agentscope-ai/QwenPaw/pull/4973))
- **渠道层测试**:渠道层 + 多 Agent 管理集成测试 ([#5058](https://github.com/agentscope-ai/QwenPaw/pull/5058))
## 📖 文档
- **路线图更新**:更新路线图 ([#4942](https://github.com/agentscope-ai/QwenPaw/pull/4942))
- **前端插件文档**:整合前端插件文档至网站页面 ([#5066](https://github.com/agentscope-ai/QwenPaw/pull/5066))
## 🙌 新贡献者
- @saltapp 在 [#4810](https://github.com/agentscope-ai/QwenPaw/pull/4810) 中首次贡献
- @EliasMei 在 [#4804](https://github.com/agentscope-ai/QwenPaw/pull/4804) 中首次贡献
- @bfglx 在 [#4905](https://github.com/agentscope-ai/QwenPaw/pull/4905) 中首次贡献
- @SnowTQ 在 [#4766](https://github.com/agentscope-ai/QwenPaw/pull/4766) 中首次贡献
- @Saint-Yin 在 [#5033](https://github.com/agentscope-ai/QwenPaw/pull/5033) 中首次贡献
- @EaveLuo 在 [#4973](https://github.com/agentscope-ai/QwenPaw/pull/4973) 中首次贡献
+136
View File
@@ -0,0 +1,136 @@
## ✨ Added
**Console**
- **Models Page Overhaul**: Provider Aggregation, Unified Card UI & Layout Redesign ([#5203](https://github.com/agentscope-ai/QwenPaw/pull/5203))
- **Simple Mode**: Add simple mode with flat nav and sorted session list by updated time ([#5222](https://github.com/agentscope-ai/QwenPaw/pull/5222))
- **Wide Mode Toggle**: Add wide mode toggle for expanded chat layout ([#5212](https://github.com/agentscope-ai/QwenPaw/pull/5212))
- **Per-Turn Token Usage**: Add per-turn token and context usage popover ([#5130](https://github.com/agentscope-ai/QwenPaw/pull/5130))
- **User Input Queue**: Add user input queue ([#5158](https://github.com/agentscope-ai/QwenPaw/pull/5158))
- **Session Filter by Title**: Add session filter by title ([#5178](https://github.com/agentscope-ai/QwenPaw/pull/5178))
- **Syntax Highlighting**: Add syntax highlighting for code blocks across all views ([#5219](https://github.com/agentscope-ai/QwenPaw/pull/5219))
- **Vietnamese Language**: Add complete Vietnamese (vi) interface language support ([#5186](https://github.com/agentscope-ai/QwenPaw/pull/5186))
- **Fallback Message**: Show fallback message when response output is empty ([#5232](https://github.com/agentscope-ai/QwenPaw/pull/5232))
**Skills**
- **Skill Market Update**: Update skill-market, include QwenPaw platform, improve UI ([#5123](https://github.com/agentscope-ai/QwenPaw/pull/5123))
- **Skill Slash Inject**: Improve skill-slash-inject and display ([#5146](https://github.com/agentscope-ai/QwenPaw/pull/5146))
**Channels**
- **Yuanbao Quoted Messages**: Support quoted messages and unify media download pipeline ([#5160](https://github.com/agentscope-ai/QwenPaw/pull/5160))
- **Yuanbao Bot Filtering**: Add bot message filtering and environment variable support ([#5150](https://github.com/agentscope-ai/QwenPaw/pull/5150))
- **Non-blocking Flush**: Non-blocking flush with adaptive throttling for all channels ([#5215](https://github.com/agentscope-ai/QwenPaw/pull/5215))
- **DingTalk Liveness Watchdog**: Add liveness watchdog to recover stream after system sleep ([#5224](https://github.com/agentscope-ai/QwenPaw/pull/5224))
**Desktop**
- **Port Persistence**: Persist backend port across restarts to preserve localStorage ([#5051](https://github.com/agentscope-ai/QwenPaw/pull/5051))
- **Port Config**: Desktop port configuration support ([#5272](https://github.com/agentscope-ai/QwenPaw/pull/5272))
**Files**
- **File Preview**: Improve file preview error handling and use FileResponse ([#5115](https://github.com/agentscope-ai/QwenPaw/pull/5115))
**CI**
- **Release Verification Gate**: Add release verification gate between build and publish ([#5121](https://github.com/agentscope-ai/QwenPaw/pull/5121))
**Observability**
- **Langfuse Agent Loop**: Group langfuse observations by agent loop ([#5128](https://github.com/agentscope-ai/QwenPaw/pull/5128))
## 🔄 Changed
- **Request Payload Transforms**: Request payload transforms ([#5188](https://github.com/agentscope-ai/QwenPaw/pull/5188))
- **Memory Search Style**: Refactor the result style of the memory search tool ([#5154](https://github.com/agentscope-ai/QwenPaw/pull/5154))
- **Xiaoyi Dual WebSocket**: Refactor connection to dual WebSocket & fix unusable channel ([#5274](https://github.com/agentscope-ai/QwenPaw/pull/5274))
- **Calendar Date Grouping**: Use calendar dates for session list date grouping ([#5257](https://github.com/agentscope-ai/QwenPaw/pull/5257))
## 🐛 Fixed
**Security**
- **Keychain Master Key**: Isolate keychain master key per install ([#5028](https://github.com/agentscope-ai/QwenPaw/pull/5028))
**Desktop**
- **Windows Console Crash**: Guard against Windows console crash and self-kill commands ([#5192](https://github.com/agentscope-ai/QwenPaw/pull/5192))
- **Tauri Windows CI**: Harden Tauri Windows CI against crates.io fetch failures ([#5125](https://github.com/agentscope-ai/QwenPaw/pull/5125))
- **Plugin Dependency**: Repair plugin dependency installs in Tauri sidecar ([#5260](https://github.com/agentscope-ai/QwenPaw/pull/5260))
- **Session Filename**: Resolve session filename duplication and Desktop inter-agent call failures ([#5036](https://github.com/agentscope-ai/QwenPaw/pull/5036))
**Console**
- **Session Redirection**: Fixed session redirection when switching code mode ([#5147](https://github.com/agentscope-ai/QwenPaw/pull/5147))
- **Collapse Panel Render**: Force render Collapse panels to prevent memory config loss ([#5144](https://github.com/agentscope-ai/QwenPaw/pull/5144))
- **Approval Command Overflow**: Wrap approval command text with word-break to prevent horizontal overflow ([#5176](https://github.com/agentscope-ai/QwenPaw/pull/5176))
- **Tool Card Loading**: Tool card loading spinner for shell commands and unregistered tools ([#5141](https://github.com/agentscope-ai/QwenPaw/pull/5141))
- **Browser Autocomplete**: Disable browser autocomplete on provider search input ([#5112](https://github.com/agentscope-ai/QwenPaw/pull/5112))
- **Dream Cron**: Keep empty dream_cron empty to disable dream job ([#5256](https://github.com/agentscope-ai/QwenPaw/pull/5256))
**Providers & Config**
- **Local Providers in PRO Tab**: Show local providers (ollama/lmstudio) in PRO tab of ModelSelector ([#5113](https://github.com/agentscope-ai/QwenPaw/pull/5113))
- **Deep Copy Cache**: Ensure deep copy of cached agent configurations ([#5229](https://github.com/agentscope-ai/QwenPaw/pull/5229))
**Context & Agent**
- **Empty Msg Guard**: Guard empty msg list in LightContextManager.pre_reply ([#5038](https://github.com/agentscope-ai/QwenPaw/pull/5038))
- **Mission Crash**: Prevent agent crash on corrupted loop_config.json / prd.json ([#5000](https://github.com/agentscope-ai/QwenPaw/pull/5000))
**Local Models**
- **Llama.cpp Version**: Parse llama.cpp server version without fixed-width slice ([#5035](https://github.com/agentscope-ai/QwenPaw/pull/5035))
**MCP**
- **OAuth IndexError**: Avoid IndexError on empty authorization_servers in OAuth discovery ([#5194](https://github.com/agentscope-ai/QwenPaw/pull/5194))
**Memory**
- **Chromadb Async Probe**: Add async runtime probe for chromadb Rust bindings ([#5271](https://github.com/agentscope-ai/QwenPaw/pull/5271))
**Gemini**
- **Tool Schema Sanitize**: Sanitize tool schemas to prevent 400 INVALID_ARGUMENT on function calling ([#5226](https://github.com/agentscope-ai/QwenPaw/pull/5226))
**Tools**
- **Raw Decode**: Use raw_decode to silence spurious "Extra data" warnings on no-param tool calls ([#5220](https://github.com/agentscope-ai/QwenPaw/pull/5220))
- **Title Generation**: Use formatter for title generation and skill optimization to support all model providers ([#5228](https://github.com/agentscope-ai/QwenPaw/pull/5228))
**Install**
- **Stable PyPI Default**: Default to stable PyPI releases only ([#5269](https://github.com/agentscope-ai/QwenPaw/pull/5269))
**Pack**
- **OpenSSL Pin**: Pin openssl<3.5.7 to fix desktop startup failure ([#5100](https://github.com/agentscope-ai/QwenPaw/pull/5100))
## ⚡ Performance
- **Remove Unnecessary Copy**: Remove unnecessary deep copy operations in agent config ([#5240](https://github.com/agentscope-ai/QwenPaw/pull/5240))
## 🏗️ Infrastructure
- **Release Duty Checklist**: Chore release duty checklist ([#5105](https://github.com/agentscope-ai/QwenPaw/pull/5105))
- **Tool Card Title Truncate**: Truncate tool card titles to single line with ellipsis ([#5119](https://github.com/agentscope-ai/QwenPaw/pull/5119))
- **Datapaw Agent Menu**: Refresh Datapaw agent menu on agent switch ([#5114](https://github.com/agentscope-ai/QwenPaw/pull/5114))
## 🧪 Testing
- **Sprint 2.4 Tests**: Add Sprint 2.4 cron execution and tool API tests ([#5201](https://github.com/agentscope-ai/QwenPaw/pull/5201))
## 📖 Docs
- **Vietnamese README**: Add Vietnamese README (README_vi.md) ([#5245](https://github.com/agentscope-ai/QwenPaw/pull/5245))
- **Roadmap Update**: Update roadmap ([#5277](https://github.com/agentscope-ai/QwenPaw/pull/5277))
## 🙌 New Contributors
- @ly-wang19 made their first contribution in [#5038](https://github.com/agentscope-ai/QwenPaw/pull/5038)
- @biencuong made their first contribution in [#5186](https://github.com/agentscope-ai/QwenPaw/pull/5186)
- @nguyenthanhthe made their first contribution in [#5178](https://github.com/agentscope-ai/QwenPaw/pull/5178)
- @totoyang made their first contribution in [#5128](https://github.com/agentscope-ai/QwenPaw/pull/5128)
+136
View File
@@ -0,0 +1,136 @@
## ✨ 新增
**控制台**
- **模型页面大改版**:Provider 聚合、统一卡片 UI 与布局重新设计 ([#5203](https://github.com/agentscope-ai/QwenPaw/pull/5203))
- **简洁模式**:新增简洁模式,扁平导航,会话列表按更新时间排序 ([#5222](https://github.com/agentscope-ai/QwenPaw/pull/5222))
- **宽屏模式**:新增宽屏模式切换,扩展聊天布局 ([#5212](https://github.com/agentscope-ai/QwenPaw/pull/5212))
- **每轮 Token 用量**:新增每轮 token 与上下文用量弹窗 ([#5130](https://github.com/agentscope-ai/QwenPaw/pull/5130))
- **用户输入队列**:新增用户输入队列 ([#5158](https://github.com/agentscope-ai/QwenPaw/pull/5158))
- **按标题筛选会话**:支持按标题筛选会话列表 ([#5178](https://github.com/agentscope-ai/QwenPaw/pull/5178))
- **代码高亮**:所有视图中的代码块支持语法高亮 ([#5219](https://github.com/agentscope-ai/QwenPaw/pull/5219))
- **越南语支持**:新增完整越南语 (vi) 界面语言 ([#5186](https://github.com/agentscope-ai/QwenPaw/pull/5186))
- **空响应提示**:当响应输出为空时显示回退提示 ([#5232](https://github.com/agentscope-ai/QwenPaw/pull/5232))
**技能**
- **技能市场更新**:更新技能市场,集成 QwenPaw 平台,优化 UI ([#5123](https://github.com/agentscope-ai/QwenPaw/pull/5123))
- **技能斜杠注入**:改进 skill-slash-inject 显示效果 ([#5146](https://github.com/agentscope-ai/QwenPaw/pull/5146))
**渠道**
- **元宝引用消息**:支持引用消息回复,统一媒体下载管线 ([#5160](https://github.com/agentscope-ai/QwenPaw/pull/5160))
- **元宝 Bot 过滤**:新增 Bot 消息过滤和环境变量配置 ([#5150](https://github.com/agentscope-ai/QwenPaw/pull/5150))
- **非阻塞消息发送**:所有渠道支持非阻塞 flush 与自适应节流 ([#5215](https://github.com/agentscope-ai/QwenPaw/pull/5215))
- **钉钉存活看门狗**:新增存活看门狗,系统休眠后自动恢复连接 ([#5224](https://github.com/agentscope-ai/QwenPaw/pull/5224))
**桌面端**
- **端口持久化**:跨重启保持后端端口,保留 localStorage 数据 ([#5051](https://github.com/agentscope-ai/QwenPaw/pull/5051))
- **端口配置**:桌面端端口配置支持 ([#5272](https://github.com/agentscope-ai/QwenPaw/pull/5272))
**文件**
- **文件预览**:改进文件预览错误处理,使用 FileResponse ([#5115](https://github.com/agentscope-ai/QwenPaw/pull/5115))
**CI**
- **发布验证门禁**:在构建和发布之间添加发布验证门禁 ([#5121](https://github.com/agentscope-ai/QwenPaw/pull/5121))
**可观测性**
- **Langfuse Agent Loop**:按 agent loop 分组 langfuse 观测数据 ([#5128](https://github.com/agentscope-ai/QwenPaw/pull/5128))
## 🔄 变更
- **请求载荷转换**:请求载荷转换支持 ([#5188](https://github.com/agentscope-ai/QwenPaw/pull/5188))
- **记忆搜索样式**:重构记忆搜索工具结果样式 ([#5154](https://github.com/agentscope-ai/QwenPaw/pull/5154))
- **小艺双 WebSocket**:重构为双 WebSocket 连接并修复不可用渠道 ([#5274](https://github.com/agentscope-ai/QwenPaw/pull/5274))
- **日历日期分组**:会话列表使用日历日期分组 ([#5257](https://github.com/agentscope-ai/QwenPaw/pull/5257))
## 🐛 修复
**安全**
- **钥匙串主密钥隔离**:每个安装实例隔离 keychain 主密钥 ([#5028](https://github.com/agentscope-ai/QwenPaw/pull/5028))
**桌面端**
- **Windows 控制台崩溃**:防止 Windows 控制台崩溃和自杀命令 ([#5192](https://github.com/agentscope-ai/QwenPaw/pull/5192))
- **Tauri Windows CI**:增强 Tauri Windows CI 对 crates.io 拉取失败的容错 ([#5125](https://github.com/agentscope-ai/QwenPaw/pull/5125))
- **插件依赖安装**:修复 Tauri sidecar 中的插件依赖安装 ([#5260](https://github.com/agentscope-ai/QwenPaw/pull/5260))
- **会话文件名**:解决会话文件名重复和桌面端跨 Agent 调用失败 ([#5036](https://github.com/agentscope-ai/QwenPaw/pull/5036))
**控制台**
- **会话重定向**:修复切换代码模式时的会话重定向问题 ([#5147](https://github.com/agentscope-ai/QwenPaw/pull/5147))
- **折叠面板渲染**:强制渲染折叠面板,防止记忆配置丢失 ([#5144](https://github.com/agentscope-ai/QwenPaw/pull/5144))
- **审批命令溢出**:审批命令文本自动换行,防止水平溢出 ([#5176](https://github.com/agentscope-ai/QwenPaw/pull/5176))
- **工具卡片加载**:Shell 命令和未注册工具的工具卡片加载动画 ([#5141](https://github.com/agentscope-ai/QwenPaw/pull/5141))
- **浏览器自动补全**:禁用 Provider 搜索输入框的浏览器自动补全 ([#5112](https://github.com/agentscope-ai/QwenPaw/pull/5112))
- **Dream Cron**:保持 dream_cron 为空以禁用 dream 任务 ([#5256](https://github.com/agentscope-ai/QwenPaw/pull/5256))
**Provider 与配置**
- **PRO 标签页本地 Provider**:在 ModelSelector 的 PRO 标签页显示 ollama/lmstudio ([#5113](https://github.com/agentscope-ai/QwenPaw/pull/5113))
- **深拷贝缓存**:确保缓存的 Agent 配置使用深拷贝 ([#5229](https://github.com/agentscope-ai/QwenPaw/pull/5229))
**上下文与 Agent**
- **空消息守卫**:LightContextManager.pre_reply 中守护空消息列表 ([#5038](https://github.com/agentscope-ai/QwenPaw/pull/5038))
- **Mission 崩溃**:防止 loop_config.json / prd.json 损坏导致的 Agent 崩溃 ([#5000](https://github.com/agentscope-ai/QwenPaw/pull/5000))
**本地模型**
- **Llama.cpp 版本解析**:不使用固定宽度切片解析 llama.cpp 服务器版本 ([#5035](https://github.com/agentscope-ai/QwenPaw/pull/5035))
**MCP**
- **OAuth IndexError**:避免 OAuth 发现中 authorization_servers 为空时的 IndexError ([#5194](https://github.com/agentscope-ai/QwenPaw/pull/5194))
**记忆**
- **Chromadb 异步探测**:为 chromadb Rust 绑定添加异步运行时探测 ([#5271](https://github.com/agentscope-ai/QwenPaw/pull/5271))
**Gemini**
- **工具 Schema 清理**:清理工具 schema 防止函数调用时的 400 INVALID_ARGUMENT ([#5226](https://github.com/agentscope-ai/QwenPaw/pull/5226))
**工具**
- **Raw Decode**:使用 raw_decode 消除无参数工具调用的 "Extra data" 虚假警告 ([#5220](https://github.com/agentscope-ai/QwenPaw/pull/5220))
- **标题生成**:使用 formatter 进行标题生成和技能优化,支持所有模型提供商 ([#5228](https://github.com/agentscope-ai/QwenPaw/pull/5228))
**安装**
- **稳定版 PyPI**:默认仅使用稳定版 PyPI 发布 ([#5269](https://github.com/agentscope-ai/QwenPaw/pull/5269))
**打包**
- **OpenSSL 固定版本**:固定 openssl<3.5.7 修复桌面端启动失败 ([#5100](https://github.com/agentscope-ai/QwenPaw/pull/5100))
## ⚡ 性能
- **移除不必要的深拷贝**:移除 Agent 配置中不必要的深拷贝操作 ([#5240](https://github.com/agentscope-ai/QwenPaw/pull/5240))
## 🏗️ 基础设施
- **发布值班清单**:发布值班清单 ([#5105](https://github.com/agentscope-ai/QwenPaw/pull/5105))
- **工具卡片标题截断**:工具卡片标题单行截断加省略号 ([#5119](https://github.com/agentscope-ai/QwenPaw/pull/5119))
- **Datapaw Agent 菜单**:切换 Agent 时刷新 Datapaw Agent 菜单 ([#5114](https://github.com/agentscope-ai/QwenPaw/pull/5114))
## 🧪 测试
- **Sprint 2.4 测试**:新增 Sprint 2.4 定时任务执行和工具 API 测试 ([#5201](https://github.com/agentscope-ai/QwenPaw/pull/5201))
## 📖 文档
- **越南语 README**:新增越南语 README (README_vi.md) ([#5245](https://github.com/agentscope-ai/QwenPaw/pull/5245))
- **路线图更新**:更新路线图 ([#5277](https://github.com/agentscope-ai/QwenPaw/pull/5277))
## 🙌 新贡献者
- @ly-wang19 在 [#5038](https://github.com/agentscope-ai/QwenPaw/pull/5038) 中完成了首次贡献
- @biencuong 在 [#5186](https://github.com/agentscope-ai/QwenPaw/pull/5186) 中完成了首次贡献
- @nguyenthanhthe 在 [#5178](https://github.com/agentscope-ai/QwenPaw/pull/5178) 中完成了首次贡献
- @totoyang 在 [#5128](https://github.com/agentscope-ai/QwenPaw/pull/5128) 中完成了首次贡献
+66
View File
@@ -0,0 +1,66 @@
## ✨ Added
**Agent System**
- **Mission Mode**: `/mission` command for autonomous, multi-phase task execution — the agent plans, executes, and self-corrects iteratively. Supports `/mission status` and `/mission list` to monitor running missions ([#3364](https://github.com/agentscope-ai/QwenPaw/pull/3364), [#3480](https://github.com/agentscope-ai/QwenPaw/pull/3480))
- **Auto-Continue on Text-Only**: When enabled, the agent automatically retries up to two extra reasoning passes if the model responds with text but no tool calls ([#3107](https://github.com/agentscope-ai/QwenPaw/pull/3107))
- **Custom Agent ID**: Specify a custom ID when creating agents from the console or API ([#3333](https://github.com/agentscope-ai/QwenPaw/pull/3333))
- **ACP External Agent Delegation**: Delegate tasks to external coding agents (OpenCode, Qwen, Claude Code, Codex) via the new `delegate_external_agent` tool with permission guards and real-time streamed output ([#3340](https://github.com/agentscope-ai/QwenPaw/pull/3340))
- **Agent CLI**: Create agents from the command line with `qwenpaw agents create`, with template selection (`default`, `local`, `qa`) and workspace initialization ([#3385](https://github.com/agentscope-ai/QwenPaw/pull/3385))
**CLI**
- **`qwenpaw doctor`**: Diagnostic command that checks environment, config, providers, channels, skills, MCP, memory, security, and more — with `doctor fix` for auto-remediation ([#3371](https://github.com/agentscope-ai/QwenPaw/pull/3371))
- **`qwenpaw skills info`**: Inspect skill details (enabled state, channels, path, description) from the command line; also adds `/skills` slash command in chat ([#3459](https://github.com/agentscope-ai/QwenPaw/pull/3459))
**Memory**
- **Memory Dream**: Scheduled long-term memory consolidation — a "dream" agent periodically deduplicates and reorganizes `MEMORY.md` ([#2177](https://github.com/agentscope-ai/QwenPaw/pull/2177))
- **Recursive File Watcher**: New `recursive_file_watcher` option to include subdirectory files in memory indexing ([#3347](https://github.com/agentscope-ai/QwenPaw/pull/3347))
**Console & UI**
- **Skill Import Hub**: Redesigned import modal with URL validation, marketplace integration, and overwrite confirmation when importing skills that conflict with existing ones ([#2412](https://github.com/agentscope-ai/QwenPaw/pull/2412), [#3415](https://github.com/agentscope-ai/QwenPaw/pull/3415), [#3482](https://github.com/agentscope-ai/QwenPaw/pull/3482))
- **Debug Page**: New Debug page in settings to view backend log files in real time ([#3478](https://github.com/agentscope-ai/QwenPaw/pull/3478), [#3511](https://github.com/agentscope-ai/QwenPaw/pull/3511))
**Channels**
- **WeChat Quoted Messages**: Quoted/replied messages are now parsed with support for text, image, voice, file, and video ([#3483](https://github.com/agentscope-ai/QwenPaw/pull/3483))
## 🔄 Changed
- **Provider Sort Order**: Provider list in settings is now sorted by availability ([#3458](https://github.com/agentscope-ai/QwenPaw/pull/3458))
- **Agent Communication Tools**: Inter-agent communication tools split into `chat_with_agent` (synchronous) and new `submit_to_agent` / `check_agent_task` (asynchronous background tasks) ([#3485](https://github.com/agentscope-ai/QwenPaw/pull/3485))
## 🐛 Fixed
**Console & UI**
- **Clear Chat History**: `/clear` now properly clears chat history in the console UI ([#3348](https://github.com/agentscope-ai/QwenPaw/pull/3348))
- **Token Usage Sort**: Token usage "by date" table now sorts with newest dates first ([#3387](https://github.com/agentscope-ai/QwenPaw/pull/3387))
- **Cron Job ID Tooltip**: Cron job ID tooltip corrected to describe it as a system-generated UUID ([#3404](https://github.com/agentscope-ai/QwenPaw/pull/3404))
- **Message History Navigation**: ArrowUp message history no longer triggers when slash-command suggestions are visible ([#3444](https://github.com/agentscope-ai/QwenPaw/pull/3444))
**Providers**
- **Image MIME Normalization**: Normalized `image/jpg` to `image/jpeg` in data URLs to prevent rejection by strict APIs ([#3313](https://github.com/agentscope-ai/QwenPaw/pull/3313))
- **Multimodal Tool Call Ordering**: Promoted image messages no longer break the contiguous tool-result block required by OpenAI and Anthropic ([#3299](https://github.com/agentscope-ai/QwenPaw/pull/3299))
- **Provider Class Identity**: Fixed Pydantic class-identity crash when the same provider is loaded from multiple import paths ([#3431](https://github.com/agentscope-ai/QwenPaw/pull/3431))
**Agent System**
- **Background Task Tracking**: Background tasks dispatched via AgentApp API are now tracked by `TaskTracker`, preventing cancellation during reload or shutdown ([#3305](https://github.com/agentscope-ai/QwenPaw/pull/3305))
- **Memory Compaction Guard**: Memory compaction hook no longer runs twice per reasoning step ([#3461](https://github.com/agentscope-ai/QwenPaw/pull/3461))
**Channels**
- **Discord Thread Routing**: Discord thread messages now route to the correct thread session instead of the parent channel ([#3144](https://github.com/agentscope-ai/QwenPaw/pull/3144))
- **WeChat Typing Indicator**: WeChat typing indicator no longer leaks background tasks; typing starts on message receive and stops reliably on completion or error ([#3488](https://github.com/agentscope-ai/QwenPaw/pull/3488))
**Desktop**
- **Python Environment Isolation**: Packaged desktop builds now set `PYTHONNOUSERSITE=1` to prevent user-installed packages from conflicting with bundled dependencies ([#3476](https://github.com/agentscope-ai/QwenPaw/pull/3476))
## 🔧 CI & Infrastructure
- **Channel Testing Infrastructure**: Contract tests, unit tests, CI workflow, and Makefile targets for channel quality assurance ([#2506](https://github.com/agentscope-ai/QwenPaw/pull/2506))
+66
View File
@@ -0,0 +1,66 @@
## ✨ 新增功能
**Agent 系统**
- **Mission 模式**:通过 `/mission` 命令启动自主多阶段任务执行,Agent 自动规划、执行并迭代修正。支持 `/mission status` 和 `/mission list` 实时查看任务进度 ([#3364](https://github.com/agentscope-ai/QwenPaw/pull/3364), [#3480](https://github.com/agentscope-ai/QwenPaw/pull/3480))
- **文本回复自动重试**:开启后,若模型仅返回文本而未调用工具,Agent 会自动追加提示并重试最多两轮推理 ([#3107](https://github.com/agentscope-ai/QwenPaw/pull/3107))
- **自定义 Agent ID**:在控制台或 API 创建 Agent 时可指定自定义 ID ([#3333](https://github.com/agentscope-ai/QwenPaw/pull/3333))
- **ACP 外部 Agent 委托**:通过 `delegate_external_agent` 工具将任务委托给外部编程 Agent(OpenCode、Qwen、Claude Code、Codex),支持权限管控和实时流式输出 ([#3340](https://github.com/agentscope-ai/QwenPaw/pull/3340))
- **Agent CLI 创建**:通过 `qwenpaw agents create` 命令行创建 Agent,支持模板选择(`default`、`local`、`qa`)和工作区初始化 ([#3385](https://github.com/agentscope-ai/QwenPaw/pull/3385))
**CLI**
- **`qwenpaw doctor`**:新增诊断命令,可检查运行环境、配置、供应商、频道、技能、MCP、记忆、安全等,`doctor fix` 可自动修复常见问题 ([#3371](https://github.com/agentscope-ai/QwenPaw/pull/3371))
- **`qwenpaw skills info`**:通过命令行查看技能详情(启用状态、频道、路径、描述),同时在聊天中新增 `/skills` 斜杠命令 ([#3459](https://github.com/agentscope-ai/QwenPaw/pull/3459))
**记忆**
- **记忆整理(Dream)**:定时运行"Dream"Agent 自动去重和整理 `MEMORY.md` 长期记忆 ([#2177](https://github.com/agentscope-ai/QwenPaw/pull/2177))
- **递归文件监听**:新增 `recursive_file_watcher` 选项,支持将子目录文件纳入记忆索引 ([#3347](https://github.com/agentscope-ai/QwenPaw/pull/3347))
**控制台与界面**
- **技能导入中心**:重新设计技能导入弹窗,支持 URL 校验、技能市场集成,导入冲突时提供覆盖确认 ([#2412](https://github.com/agentscope-ai/QwenPaw/pull/2412), [#3415](https://github.com/agentscope-ai/QwenPaw/pull/3415), [#3482](https://github.com/agentscope-ai/QwenPaw/pull/3482))
- **调试页面**:设置中新增调试页面,可实时查看后端日志 ([#3478](https://github.com/agentscope-ai/QwenPaw/pull/3478), [#3511](https://github.com/agentscope-ai/QwenPaw/pull/3511))
**频道(Channels)**
- **微信引用消息**:支持解析微信引用/回复消息,涵盖文本、图片、语音、文件和视频类型 ([#3483](https://github.com/agentscope-ai/QwenPaw/pull/3483))
## 🔄 变更
- **供应商排序优化**:设置页中供应商列表现按可用性排序,已配置且可用的供应商优先展示 ([#3458](https://github.com/agentscope-ai/QwenPaw/pull/3458))
- **Agent 通信工具拆分**:Agent 间通信工具拆分为同步的 `chat_with_agent` 和异步的 `submit_to_agent` / `check_agent_task`,后台任务提交和查询更加清晰 ([#3485](https://github.com/agentscope-ai/QwenPaw/pull/3485))
## 🐛 修复
**控制台与界面**
- **清除聊天记录**:`/clear` 命令现可正确清除控制台中的聊天历史 ([#3348](https://github.com/agentscope-ai/QwenPaw/pull/3348))
- **Token 用量排序**:Token 用量"按日期"表格改为按日期降序排列 ([#3387](https://github.com/agentscope-ai/QwenPaw/pull/3387))
- **定时任务 ID 提示**:修正定时任务 ID 提示文案为系统自动生成的 UUID ([#3404](https://github.com/agentscope-ai/QwenPaw/pull/3404))
- **消息历史导航**:修复斜杠命令建议弹出时按上箭头误触发消息历史的问题 ([#3444](https://github.com/agentscope-ai/QwenPaw/pull/3444))
**模型供应商**
- **图片 MIME 类型**:将数据 URL 中的 `image/jpg` 统一为 `image/jpeg`,避免被严格校验的 API 拒绝 ([#3313](https://github.com/agentscope-ai/QwenPaw/pull/3313))
- **多模态工具调用排序**:修复提升的图片消息打断工具结果连续性导致 OpenAI 和 Anthropic 400 错误的问题 ([#3299](https://github.com/agentscope-ai/QwenPaw/pull/3299))
- **供应商类型冲突**:修复同一供应商从不同导入路径加载时的 Pydantic 类型校验崩溃 ([#3431](https://github.com/agentscope-ai/QwenPaw/pull/3431))
**Agent 系统**
- **后台任务追踪**:通过 AgentApp API 发起的后台任务现纳入 `TaskTracker` 管理,避免重载或关闭时被意外取消 ([#3305](https://github.com/agentscope-ai/QwenPaw/pull/3305))
- **记忆压缩防重入**:修复记忆压缩钩子在单次推理中重复执行的问题 ([#3461](https://github.com/agentscope-ai/QwenPaw/pull/3461))
**频道(Channels)**
- **Discord 线程路由**:Discord 线程消息现可正确路由到对应的线程会话,不再错误归入父频道 ([#3144](https://github.com/agentscope-ai/QwenPaw/pull/3144))
- **微信输入状态**:修复微信输入指示器的后台任务泄漏问题,减少 CPU 和内存占用 ([#3488](https://github.com/agentscope-ai/QwenPaw/pull/3488))
**桌面端**
- **Python 环境隔离**:桌面打包版本设置 `PYTHONNOUSERSITE=1`,防止用户安装的包与内置依赖冲突 ([#3476](https://github.com/agentscope-ai/QwenPaw/pull/3476))
## 🔧 CI 与基础设施
- **频道测试基础设施**:新增频道契约测试、单元测试、CI 工作流和 Makefile 构建目标 ([#2506](https://github.com/agentscope-ai/QwenPaw/pull/2506))
+61
View File
@@ -0,0 +1,61 @@
## ✨ Added
**Agent System**
- **Backup & Restore**: Backup and restore system — create scoped snapshots of agents, skills, memory, and sessions with per-agent selection, import/export as zip files ([#3534](https://github.com/agentscope-ai/QwenPaw/pull/3534), [#3655](https://github.com/agentscope-ai/QwenPaw/pull/3655))
- **ACP Server**: Expose QwenPaw agents as ACP (Agent Communication Protocol) endpoints over stdio via `qwenpaw acp` ([#3487](https://github.com/agentscope-ai/QwenPaw/pull/3487), [#3589](https://github.com/agentscope-ai/QwenPaw/pull/3589), [#3595](https://github.com/agentscope-ai/QwenPaw/pull/3595))
- **Proactive Agent Messaging**: Agents can proactively send messages, using session memory and screen context to provide timely information ([#3466](https://github.com/agentscope-ai/QwenPaw/pull/3466), [#3643](https://github.com/agentscope-ai/QwenPaw/pull/3643))
- **Cross-Provider Message Normalization**: Seamlessly switch LLM providers mid-conversation — provider-specific message fields are automatically cleaned and normalized when changing models ([#3530](https://github.com/agentscope-ai/QwenPaw/pull/3530))
**Console & UI**
- **Console Plugin System**: Extensible plugin architecture for the console — third-party plugins can inject sidebar pages, register routes, and share host modules ([#3357](https://github.com/agentscope-ai/QwenPaw/pull/3357), [#3512](https://github.com/agentscope-ai/QwenPaw/pull/3512), [#3631](https://github.com/agentscope-ai/QwenPaw/pull/3631))
- **Agent Statistics Page**: New dashboard with session and message trend charts, token usage over time, and channel breakdown pie charts ([#3365](https://github.com/agentscope-ai/QwenPaw/pull/3365), [#3608](https://github.com/agentscope-ai/QwenPaw/pull/3608), [#3632](https://github.com/agentscope-ai/QwenPaw/pull/3632))
**Skills**
- **Skill Page Improvements**: Redesigned Skills and Skill Pool pages with batch select/manage, separated search and filter controls ([#3616](https://github.com/agentscope-ai/QwenPaw/pull/3616), [#3634](https://github.com/agentscope-ai/QwenPaw/pull/3634))
- **Builtin Skill Language Switch**: All builtin skills now ship with English and Chinese variants. Switch language from the Skill Pool page, with default language support when importing skills to agents ([#3558](https://github.com/agentscope-ai/QwenPaw/pull/3558), [#3644](https://github.com/agentscope-ai/QwenPaw/pull/3644))
**Security**
- **Shell Evasion Guard**: New Tool Guard guardian that detects shell command obfuscation patterns ([#3400](https://github.com/agentscope-ai/QwenPaw/pull/3400), [#3668](https://github.com/agentscope-ai/QwenPaw/pull/3668))
- **Enhanced Tool Guard Response**: Tool guard messages now include risk severity level and a localized explanation of why a tool call was blocked or requires approval ([#3515](https://github.com/agentscope-ai/QwenPaw/pull/3515))
**Providers**
- **Local Model Management**: Configure custom server ports for local models (llama.cpp) and monitor server logs in real-time ([#3596](https://github.com/agentscope-ai/QwenPaw/pull/3596), [#3604](https://github.com/agentscope-ai/QwenPaw/pull/3604))
- **OpenRouter Multimodal Detection**: OpenRouter models now automatically report multimodal capabilities (image/video support) from the model registry ([#3584](https://github.com/agentscope-ai/QwenPaw/pull/3584), [#3604](https://github.com/agentscope-ai/QwenPaw/pull/3604))
- **Aliyun Coding Plan International**: Added international region support for the Aliyun Coding Plan provider ([#3609](https://github.com/agentscope-ai/QwenPaw/pull/3609))
**Channels**
- **QQ Instant Acknowledgment**: Configurable instant reply for QQ channel — acknowledge the user immediately while the agent processes the request ([#3246](https://github.com/agentscope-ai/QwenPaw/pull/3246))
- **Telegram Typing Indicator**: Typing indicator now stays active during tool execution, providing continuous visual feedback while the agent works ([#3585](https://github.com/agentscope-ai/QwenPaw/pull/3585))
- **DingTalk @Mention on Reply**: Automatically @mention the original sender when replying in DingTalk group chats ([#3591](https://github.com/agentscope-ai/QwenPaw/pull/3591))
- **Channel Health Check & Restart API**: Per-agent HTTP endpoints to check individual channel health status and hot-restart channels ([#3649](https://github.com/agentscope-ai/QwenPaw/pull/3649))
**CLI**
- **Update Provider Base URLs**: `qwenpaw providers update` now supports updating provider base URLs from the command line ([#3536](https://github.com/agentscope-ai/QwenPaw/pull/3536))
## 🔄 Changed
- **Debug Page Redesign**: Relocated the Debug page under Settings with improved component structure, dedicated log viewer, and dark mode styling fixes ([#3539](https://github.com/agentscope-ai/QwenPaw/pull/3539), [#3547](https://github.com/agentscope-ai/QwenPaw/pull/3547), [#3590](https://github.com/agentscope-ai/QwenPaw/pull/3590))
- **`make_plan` Skill Update**: Cleaned up stale documentation references and streamlined the `make_plan` skill ([#3535](https://github.com/agentscope-ai/QwenPaw/pull/3535))
- **Unified Channel Media Directory**: All channels now resolve `media_dir` from the agent workspace consistently, ensuring isolated file storage across channel types ([#3610](https://github.com/agentscope-ai/QwenPaw/pull/3610))
## 🐛 Fixed
**Console & UI**
- **Preview URL Prefix**: Fixed duplicated URL prefixes in file preview paths ([#3355](https://github.com/agentscope-ai/QwenPaw/pull/3355))
- **Markdown Rendering**: Fixed markdown rendering and code block copy styling in workspace file editor ([#3639](https://github.com/agentscope-ai/QwenPaw/pull/3639))
- **Table Scrolling**: Fixed table scrolling on Sessions and Cron Jobs pages ([#3654](https://github.com/agentscope-ai/QwenPaw/pull/3654))
**Channels**
- **WeCom Attachment Access**: Fixed WeCom attachment access failing in server deployments ([#3079](https://github.com/agentscope-ai/QwenPaw/pull/3079))
- **WeCom File Upload**: Fixed event loop blocking in WeCom file uploads and added relative path support for `send_file_to_user` ([#3128](https://github.com/agentscope-ai/QwenPaw/pull/3128))
- **WeCom Duplicate Messages**: Fixed duplicate chat entries for WeCom group messages ([#3529](https://github.com/agentscope-ai/QwenPaw/pull/3529))
- **WeCom Screenshot Filename**: Fixed CJK characters in WeCom screenshot filenames causing download failures ([#3633](https://github.com/agentscope-ai/QwenPaw/pull/3633))
+61
View File
@@ -0,0 +1,61 @@
## ✨ 新增功能
**Agent 系统**
- **备份与恢复**:备份恢复系统——支持按 Agent 维度选择性备份技能、记忆、会话等数据,导出为 zip 文件,支持一键导入恢复 ([#3534](https://github.com/agentscope-ai/QwenPaw/pull/3534), [#3655](https://github.com/agentscope-ai/QwenPaw/pull/3655))
- **ACP Server**:通过 `qwenpaw acp` 将 QwenPaw Agent 以 ACP(Agent Communication Protocol)协议对外暴露为标准端点 ([#3487](https://github.com/agentscope-ai/QwenPaw/pull/3487), [#3589](https://github.com/agentscope-ai/QwenPaw/pull/3589), [#3595](https://github.com/agentscope-ai/QwenPaw/pull/3595))
- **主动消息推送**:Agent 可结合会话记忆和屏幕上下文主动向控制台会话发送消息 ([#3466](https://github.com/agentscope-ai/QwenPaw/pull/3466), [#3643](https://github.com/agentscope-ai/QwenPaw/pull/3643))
- **跨供应商消息归一化**:对话中途切换 LLM 供应商时,消息格式自动清洗和归一化,确保无缝衔接 ([#3530](https://github.com/agentscope-ai/QwenPaw/pull/3530))
**控制台与界面**
- **控制台插件系统**:全新的可扩展插件架构——第三方插件可注入侧边栏页面、注册路由并共享宿主模块 ([#3357](https://github.com/agentscope-ai/QwenPaw/pull/3357), [#3512](https://github.com/agentscope-ai/QwenPaw/pull/3512), [#3631](https://github.com/agentscope-ai/QwenPaw/pull/3631))
- **Agent 统计页面**:新增统计仪表盘,展示会话与消息趋势图、Token 用量趋势及频道分布饼图 ([#3365](https://github.com/agentscope-ai/QwenPaw/pull/3365), [#3608](https://github.com/agentscope-ai/QwenPaw/pull/3608), [#3632](https://github.com/agentscope-ai/QwenPaw/pull/3632))
**技能**
- **技能页面优化**:重新设计技能页面和技能池页面,支持批量选择与管理,搜索与筛选控件独立分离 ([#3616](https://github.com/agentscope-ai/QwenPaw/pull/3616), [#3634](https://github.com/agentscope-ai/QwenPaw/pull/3634))
- **内置技能语言切换**:所有内置技能均提供中英文版本,可在技能池页面切换语言,导入技能时支持设置默认语言 ([#3558](https://github.com/agentscope-ai/QwenPaw/pull/3558), [#3644](https://github.com/agentscope-ai/QwenPaw/pull/3644))
**安全**
- **Shell 混淆防护**:新增 Tool Guard 守卫规则,可检测并拦截 Shell 命令混淆攻击 ([#3400](https://github.com/agentscope-ai/QwenPaw/pull/3400), [#3668](https://github.com/agentscope-ai/QwenPaw/pull/3668))
- **工具守卫响应增强**:工具守卫的拦截消息现包含风险等级和本地化的拦截原因说明 ([#3515](https://github.com/agentscope-ai/QwenPaw/pull/3515))
**模型供应商**
- **本地模型管理**:支持为本地模型(llama.cpp)配置自定义服务端口,并可实时查看服务日志 ([#3596](https://github.com/agentscope-ai/QwenPaw/pull/3596), [#3604](https://github.com/agentscope-ai/QwenPaw/pull/3604))
- **OpenRouter 多模态检测**:OpenRouter 供应商现可自动从模型注册表获取多模态能力(图片/视频支持)信息 ([#3584](https://github.com/agentscope-ai/QwenPaw/pull/3584), [#3604](https://github.com/agentscope-ai/QwenPaw/pull/3604))
- **阿里云百炼国际版**:新增阿里云百炼国际版区域供应商支持 ([#3609](https://github.com/agentscope-ai/QwenPaw/pull/3609))
**频道(Channels)**
- **QQ 即时回复**:QQ 频道支持配置即时确认消息——收到用户消息后立即回复,无需等待 Agent 处理完成 ([#3246](https://github.com/agentscope-ai/QwenPaw/pull/3246))
- **Telegram 输入指示器**:工具执行期间输入指示器保持活跃,为用户提供持续的视觉反馈 ([#3585](https://github.com/agentscope-ai/QwenPaw/pull/3585))
- **钉钉群聊 @回复**:在钉钉群聊中回复时自动 @提及原始发送者 ([#3591](https://github.com/agentscope-ai/QwenPaw/pull/3591))
- **频道健康检查与重启**:新增按 Agent 维度的 HTTP 端点,可单独检查频道健康状态并热重启 ([#3649](https://github.com/agentscope-ai/QwenPaw/pull/3649))
**CLI**
- **更新供应商 Base URL**:`qwenpaw providers update` 命令现支持通过命令行更新供应商的 Base URL ([#3536](https://github.com/agentscope-ai/QwenPaw/pull/3536))
## 🔄 变更
- **调试页面重构**:调试页面迁移至设置模块下,优化组件结构,新增专用日志查看器并修复暗色模式样式 ([#3539](https://github.com/agentscope-ai/QwenPaw/pull/3539), [#3547](https://github.com/agentscope-ai/QwenPaw/pull/3547), [#3590](https://github.com/agentscope-ai/QwenPaw/pull/3590))
- **`make_plan` 技能更新**:清理过时文档引用,精简 `make_plan` 技能 ([#3535](https://github.com/agentscope-ai/QwenPaw/pull/3535))
- **统一频道媒体目录**:所有频道现统一从 Agent 工作区解析 `media_dir`,确保不同频道间的文件存储相互隔离 ([#3610](https://github.com/agentscope-ai/QwenPaw/pull/3610))
## 🐛 修复
**控制台与界面**
- **预览 URL 前缀**:修复文件预览路径中 URL 前缀重复的问题 ([#3355](https://github.com/agentscope-ai/QwenPaw/pull/3355))
- **Markdown 渲染**:修复工作区文件编辑器中 Markdown 渲染及代码块复制样式问题 ([#3639](https://github.com/agentscope-ai/QwenPaw/pull/3639))
- **表格滚动**:修复会话和定时任务页面的表格滚动问题 ([#3654](https://github.com/agentscope-ai/QwenPaw/pull/3654))
**频道(Channels)**
- **企微附件访问**:修复服务器部署模式下企业微信附件无法访问的问题 ([#3079](https://github.com/agentscope-ai/QwenPaw/pull/3079))
- **企微文件上传**:修复企业微信文件上传时事件循环阻塞的问题,并支持 `send_file_to_user` 使用相对路径 ([#3128](https://github.com/agentscope-ai/QwenPaw/pull/3128))
- **企微群消息去重**:修复企业微信群消息产生重复聊天条目的问题 ([#3529](https://github.com/agentscope-ai/QwenPaw/pull/3529))
- **企微截图文件名**:修复企业微信下载截图时中文字符导致文件名异常的问题 ([#3633](https://github.com/agentscope-ai/QwenPaw/pull/3633))
+80
View File
@@ -0,0 +1,80 @@
## ✨ Added
**Agent System**
- **Memory & Context refactor**: Refactor long-term memory module with pluggable backends, automatic memory summarization every N conversation turns, automatic memory retrieval, and a new context management interface ([#3548](https://github.com/agentscope-ai/QwenPaw/pull/3548))
- **Plan Mode**: Opt-in structured planning mode — use `/plan` to create step-by-step task plans that the agent follows, with a live plan panel in the console ([#3686](https://github.com/agentscope-ai/QwenPaw/pull/3686), [#3787](https://github.com/agentscope-ai/QwenPaw/pull/3787))
**Providers**
- **DeepSeek V4 Models**: Added DeepSeek V4 Flash and V4 Pro as built-in models ([#3797](https://github.com/agentscope-ai/QwenPaw/pull/3797))
**Security**
- **Configurable Shell Evasion Checks**: Toggle individual shell evasion detection rules on or off from the Security settings page, with per-check risk-type tagging ([#3694](https://github.com/agentscope-ai/QwenPaw/pull/3694), [#3715](https://github.com/agentscope-ai/QwenPaw/pull/3715), [#3781](https://github.com/agentscope-ai/QwenPaw/pull/3781))
- **Auth-Bypass Host Whitelist**: Configurable `allow_no_auth_hosts` list for API access without authentication, with IP validation and security warnings in the console ([#3739](https://github.com/agentscope-ai/QwenPaw/pull/3739))
**Tools**
- **Browser Launch Parameters**: Pass custom Chromium flags and a custom browser executable path to `browser_use` ([#3556](https://github.com/agentscope-ai/QwenPaw/pull/3556))
- **Shell Command Timeout**: Configurable default timeout for `execute_shell_command` per agent ([#3732](https://github.com/agentscope-ai/QwenPaw/pull/3732))
**Console & UI**
- **Per-Agent Model Assignment**: Assign a specific LLM model to each agent from Settings → Agents ([#3599](https://github.com/agentscope-ai/QwenPaw/pull/3599))
- **Session View Button**: "View" action on the Sessions table to jump directly into the corresponding chat session ([#3615](https://github.com/agentscope-ai/QwenPaw/pull/3615))
- **Session Right-Click Context Menu**: Right-click on chat session items for quick open, rename, pin/unpin, and delete actions ([#3770](https://github.com/agentscope-ai/QwenPaw/pull/3770))
**Channels**
- **SIP Voice Channel**: New SIP phone channel with dual-mode backends — pyVoIP for development and LiveKit for production ([#3449](https://github.com/agentscope-ai/QwenPaw/pull/3449))
- **DingTalk Voice Recognition**: Use DingTalk's built-in voice recognition instead of downloading and transcoding audio locally ([#3681](https://github.com/agentscope-ai/QwenPaw/pull/3681))
- **Telegram Command Menu**: Expose `/model` and `/stop` in the Telegram bot's command menu for discoverability ([#3714](https://github.com/agentscope-ai/QwenPaw/pull/3714))
- **QQ Quoted Message Support**: Parse reply/quote metadata and inject quoted text and attachments into agent requests ([#3735](https://github.com/agentscope-ai/QwenPaw/pull/3735))
- **DingTalk Markdown Messages**: Send shorter replies as DingTalk Open API markdown for richer message rendering ([#3771](https://github.com/agentscope-ai/QwenPaw/pull/3771))
- **DingTalk Cron Message Type**: Independent message type for scheduled/cron sends, allowing card-style messages for cron while using markdown for interactive chat ([#3778](https://github.com/agentscope-ai/QwenPaw/pull/3778))
- **WeChat Interactive Wizard**: Interactive `configure_weixin` wizard in the CLI channel setup flow ([#3699](https://github.com/agentscope-ai/QwenPaw/pull/3699))
## 🔄 Changed
- **Tool Guard Approval System**: Refactored tool-guard with interactive approval cards in the console, cross-session approval routing (approve sub-agent tool calls from the main session), configurable execution levels (Strict/Smart/Auto/Off), REST API and `/approval` CLI command ([#3656](https://github.com/agentscope-ai/QwenPaw/pull/3656), [#3737](https://github.com/agentscope-ai/QwenPaw/pull/3737))
- **Dynamic Plugin Registration**: Replaced the build-time generated host module registry with runtime `import.meta.glob`-based registration ([#3676](https://github.com/agentscope-ai/QwenPaw/pull/3676), [#3692](https://github.com/agentscope-ai/QwenPaw/pull/3692), [#3696](https://github.com/agentscope-ai/QwenPaw/pull/3696))
- **Docker Build Improvements**: Moved `config.json` initialization from image build to container entrypoint for volume-mounted deployments, and replaced `pip` with `uv` for faster package installs ([#3698](https://github.com/agentscope-ai/QwenPaw/pull/3698), [#3723](https://github.com/agentscope-ai/QwenPaw/pull/3723), [#3769](https://github.com/agentscope-ai/QwenPaw/pull/3769))
- **Agent Language Sync**: New agents now inherit the console UI language ([#3720](https://github.com/agentscope-ai/QwenPaw/pull/3720))
- **Agent Selection Persistence**: Agent selection state persisted in `localStorage` so it survives browser restarts ([#3772](https://github.com/agentscope-ai/QwenPaw/pull/3772))
- **Token Usage Buffering**: Asynchronous buffered token usage recording with periodic disk flush ([#3766](https://github.com/agentscope-ai/QwenPaw/pull/3766))
## 🐛 Fixed
**Channels**
- **Filter Tool Messages**: Respect `filter_tool_messages` setting for in-progress content events ([#3660](https://github.com/agentscope-ai/QwenPaw/pull/3660))
- **File URL Encoding**: Percent-encode non-ASCII characters in `file://` URLs to fix file send failures on Windows and paths with CJK characters ([#3625](https://github.com/agentscope-ai/QwenPaw/pull/3625))
- **WeChat Send Response**: Fixed WeChat `send_text` failing on empty or non-dict API responses ([#3685](https://github.com/agentscope-ai/QwenPaw/pull/3685))
- **WeChat Icon Mapping**: Fixed `wechat` channel key not mapping to the correct WeChat icon in chat history sidebar ([#3691](https://github.com/agentscope-ai/QwenPaw/pull/3691))
- **WeChat QR Login Timeout**: Extended WeChat QR-status polling timeout to 60 seconds with retry on read timeout during login ([#3700](https://github.com/agentscope-ai/QwenPaw/pull/3700))
**Console & UI**
- **Agent Stats**: Fixed page crash from incorrect chart library imports and stats not refreshing when switching agents ([#3724](https://github.com/agentscope-ai/QwenPaw/pull/3724), [#3743](https://github.com/agentscope-ai/QwenPaw/pull/3743))
**Providers**
- **Duplicate Model Warning**: Show a localized warning when adding a model ID that already exists ([#3773](https://github.com/agentscope-ai/QwenPaw/pull/3773))
- **Anthropic File Block**: Convert unsupported file blocks to text placeholders in Anthropic-formatted history to prevent API errors ([#3786](https://github.com/agentscope-ai/QwenPaw/pull/3786))
**Packaging**
- **Discord.py Conda-Unpack**: Added `discord.py` to conda-unpack reinstall list to fix Windows path corruption ([#3730](https://github.com/agentscope-ai/QwenPaw/pull/3730))
## 📝 Documentation
- **Memory-Evolving & Proactive Agent**: Added dedicated documentation pages for memory-evolving and proactive agent features ([#3755](https://github.com/agentscope-ai/QwenPaw/pull/3755), [#3764](https://github.com/agentscope-ai/QwenPaw/pull/3764))
- **Agent Team Practice Guide**: Added a comprehensive practice guide for Agent Team collaboration ([#3784](https://github.com/agentscope-ai/QwenPaw/pull/3784))
- **ACP Integration**: Restructured and polished ACP integration documentation, with in-UI documentation link ([#3741](https://github.com/agentscope-ai/QwenPaw/pull/3741))
- **Docker Backup Volume**: Added Docker volume mount documentation for backup & restore ([#3736](https://github.com/agentscope-ai/QwenPaw/pull/3736))
- **Backup Figures**: Updated backup documentation figures ([#3678](https://github.com/agentscope-ai/QwenPaw/pull/3678))
## 🧪 Testing & CI
- **Agent Unit Tests**: Added unit tests for hooks, memory, and utils modules ([#3630](https://github.com/agentscope-ai/QwenPaw/pull/3630))
+80
View File
@@ -0,0 +1,80 @@
## ✨ 新增功能
**Agent 系统**
- **记忆与上下文重构**:重构长期记忆模块,支持可插拔后端、按对话轮次自动记忆摘要、自动记忆检索,以及全新的上下文管理接口 ([#3548](https://github.com/agentscope-ai/QwenPaw/pull/3548))
- **计划模式**:新增结构化计划模式——通过 `/plan` 创建分步任务计划,Agent 按计划执行,控制台实时展示计划面板 ([#3686](https://github.com/agentscope-ai/QwenPaw/pull/3686), [#3787](https://github.com/agentscope-ai/QwenPaw/pull/3787))
**模型供应商**
- **DeepSeek V4 模型**:新增 DeepSeek V4 Flash 和 V4 Pro 为内置模型 ([#3797](https://github.com/agentscope-ai/QwenPaw/pull/3797))
**安全**
- **Shell 绕过检测可配置化**:可在安全设置页面逐项开关各 Shell 绕过检测规则,每项检测标注风险类型 ([#3694](https://github.com/agentscope-ai/QwenPaw/pull/3694), [#3715](https://github.com/agentscope-ai/QwenPaw/pull/3715), [#3781](https://github.com/agentscope-ai/QwenPaw/pull/3781))
- **免认证主机白名单**:支持配置 `allow_no_auth_hosts` 白名单,允许指定 IP 免认证访问 API,控制台提供 IP 校验与安全提示 ([#3739](https://github.com/agentscope-ai/QwenPaw/pull/3739))
**工具**
- **浏览器启动参数**:`browser_use` 支持传入自定义 Chromium 启动参数和浏览器可执行文件路径 ([#3556](https://github.com/agentscope-ai/QwenPaw/pull/3556))
- **Shell 命令超时**:支持按 Agent 配置 `execute_shell_command` 的默认超时时间 ([#3732](https://github.com/agentscope-ai/QwenPaw/pull/3732))
**控制台与界面**
- **独立 Agent 模型配置**:在设置 → Agents 页面为每个 Agent 指定独立的 LLM 模型 ([#3599](https://github.com/agentscope-ai/QwenPaw/pull/3599))
- **会话查看按钮**:会话列表新增「查看」操作,点击即可跳转至对应的聊天会话 ([#3615](https://github.com/agentscope-ai/QwenPaw/pull/3615))
- **会话右键菜单**:右键点击聊天会话可快速打开、重命名、置顶/取消置顶或删除 ([#3770](https://github.com/agentscope-ai/QwenPaw/pull/3770))
**频道(Channels)**
- **SIP 语音频道**:新增 SIP 电话频道,支持 pyVoIP(开发模式)和 LiveKit(生产模式)双后端 ([#3449](https://github.com/agentscope-ai/QwenPaw/pull/3449))
- **钉钉语音识别**:直接使用钉钉内置语音识别结果,无需本地下载和转码音频 ([#3681](https://github.com/agentscope-ai/QwenPaw/pull/3681))
- **Telegram 命令菜单**:在 Telegram 机器人命令菜单中注册 `/model` 和 `/stop` 命令 ([#3714](https://github.com/agentscope-ai/QwenPaw/pull/3714))
- **QQ 引用消息支持**:解析 QQ 回复/引用消息的元数据,将引用文本和附件注入 Agent 请求 ([#3735](https://github.com/agentscope-ai/QwenPaw/pull/3735))
- **钉钉 Markdown 消息**:较短的回复以钉钉 Open API Markdown 格式发送,提升消息展示效果 ([#3771](https://github.com/agentscope-ai/QwenPaw/pull/3771))
- **钉钉定时消息类型**:定时/Cron 发送支持独立的消息类型配置,可为定时任务使用卡片样式而聊天保持 Markdown ([#3778](https://github.com/agentscope-ai/QwenPaw/pull/3778))
- **微信交互式配置向导**:CLI 频道配置流程中新增 `configure_weixin` 交互式向导 ([#3699](https://github.com/agentscope-ai/QwenPaw/pull/3699))
## 🔄 变更
- **工具守卫审批系统**:全面重构工具守卫——控制台新增交互式审批卡片,支持跨会话审批(在主会话中批准子 Agent 的工具调用),可配置执行等级(严格/智能/自动/关闭),并提供 REST API 和 `/approval` CLI 命令 ([#3656](https://github.com/agentscope-ai/QwenPaw/pull/3656), [#3737](https://github.com/agentscope-ai/QwenPaw/pull/3737))
- **动态插件注册**:将构建时生成的宿主模块注册表替换为基于 `import.meta.glob` 的运行时动态注册 ([#3676](https://github.com/agentscope-ai/QwenPaw/pull/3676), [#3692](https://github.com/agentscope-ai/QwenPaw/pull/3692), [#3696](https://github.com/agentscope-ai/QwenPaw/pull/3696))
- **Docker 构建优化**:`config.json` 初始化从镜像构建阶段移至容器入口脚本,适配挂载卷部署场景;`pip` 替换为 `uv` 以加速包安装 ([#3698](https://github.com/agentscope-ai/QwenPaw/pull/3698), [#3723](https://github.com/agentscope-ai/QwenPaw/pull/3723), [#3769](https://github.com/agentscope-ai/QwenPaw/pull/3769))
- **Agent 语言同步**:新建 Agent 时自动继承控制台界面语言 ([#3720](https://github.com/agentscope-ai/QwenPaw/pull/3720))
- **Agent 选择持久化**:Agent 选择状态改为存储在 `localStorage`,关闭浏览器后仍保留 ([#3772](https://github.com/agentscope-ai/QwenPaw/pull/3772))
- **Token 用量异步缓冲**:Token 用量采用异步缓冲写入、定期刷盘 ([#3766](https://github.com/agentscope-ai/QwenPaw/pull/3766))
## 🐛 修复
**频道(Channels)**
- **工具消息过滤**:修复 `filter_tool_messages` 配置在进行中的内容事件中未生效的问题 ([#3660](https://github.com/agentscope-ai/QwenPaw/pull/3660))
- **文件 URL 编码**:对 `file://` URL 中的非 ASCII 字符进行百分号编码,修复 Windows 和中日韩字符路径下文件发送失败的问题 ([#3625](https://github.com/agentscope-ai/QwenPaw/pull/3625))
- **微信发送响应**:修复微信 `send_text` 在返回空或非字典响应时报错的问题 ([#3685](https://github.com/agentscope-ai/QwenPaw/pull/3685))
- **微信图标映射**:修复聊天历史侧边栏中 `wechat` 频道未正确匹配微信图标的问题 ([#3691](https://github.com/agentscope-ai/QwenPaw/pull/3691))
- **微信二维码登录超时**:将微信二维码状态轮询超时延长至 60 秒,并在读取超时时自动重试 ([#3700](https://github.com/agentscope-ai/QwenPaw/pull/3700))
**控制台与界面**
- **Agent 统计页面**:修复图表库导入方式错误导致页面无法打开以及切换 Agent 后统计数据未自动刷新的问题 ([#3724](https://github.com/agentscope-ai/QwenPaw/pull/3724), [#3743](https://github.com/agentscope-ai/QwenPaw/pull/3743))
**模型供应商**
- **重复模型提示**:添加已存在模型 ID 时显示本地化警告提示 ([#3773](https://github.com/agentscope-ai/QwenPaw/pull/3773))
- **Anthropic 文件块处理**:将 Anthropic 格式历史中不支持的文件块转换为文本占位符,避免 API 报错 ([#3786](https://github.com/agentscope-ai/QwenPaw/pull/3786))
**打包**
- **Discord.py Conda 打包**:将 `discord.py` 加入 conda-unpack 重装列表,修复 Windows 下路径损坏的问题 ([#3730](https://github.com/agentscope-ai/QwenPaw/pull/3730))
## 📝 文档
- **记忆进化与主动式 Agent**:新增记忆进化和主动式 Agent 功能的专题文档 ([#3755](https://github.com/agentscope-ai/QwenPaw/pull/3755), [#3764](https://github.com/agentscope-ai/QwenPaw/pull/3764))
- **Agent Team 实践指南**:新增 Agent 团队协作的实践指南文档 ([#3784](https://github.com/agentscope-ai/QwenPaw/pull/3784))
- **ACP 集成**:重构并完善 ACP 集成文档,控制台内新增文档链接入口 ([#3741](https://github.com/agentscope-ai/QwenPaw/pull/3741))
- **Docker 备份挂载**:新增 Docker 卷挂载方式进行备份与恢复的说明文档 ([#3736](https://github.com/agentscope-ai/QwenPaw/pull/3736))
- **备份文档插图**:更新备份相关文档的示意图 ([#3678](https://github.com/agentscope-ai/QwenPaw/pull/3678))
## 🧪 测试与 CI
- **Agent 单元测试**:新增 hooks、memory、utils 模块的单元测试 ([#3630](https://github.com/agentscope-ai/QwenPaw/pull/3630))
+40
View File
@@ -0,0 +1,40 @@
## ✨ Added
- **CJK-Aware Memory Search**: Memory search now tokenizes CJK queries at character level while preserving Latin/digit runs ([#3811](https://github.com/agentscope-ai/QwenPaw/pull/3811))
- **Context Compaction Fallback**: When LLM-based context compaction fails or is disabled, the context manager now retries the context split with a raised reserve to keep more recent conversation turns ([#3882](https://github.com/agentscope-ai/QwenPaw/pull/3882))
- **Adaptive Model Retry**: The runtime now learns per-model quirks from API failures and proactively adapts subsequent requests ([#3874](https://github.com/agentscope-ai/QwenPaw/pull/3874))
- **ACP Agent Rename & Delete**: ACP agents can now be renamed and deleted from the WebUI ([#3859](https://github.com/agentscope-ai/QwenPaw/pull/3859))
- **QQ Voice & ASR Support**: QQ channel now detects voice messages by file extension and uses platform ASR transcription when available ([#3845](https://github.com/agentscope-ai/QwenPaw/pull/3845))
## 🔄 Changed
- **Agent Statistics Navigation**: Moved Agent Statistics page into the Workspace group on the sidebar ([#3754](https://github.com/agentscope-ai/QwenPaw/pull/3754))
- **Dockerfile Cleanup**: Build directory is now removed after `pip install` in Dockerfile for a leaner image ([#3638](https://github.com/agentscope-ai/QwenPaw/pull/3638))
- **Chat Component Upgrade**: Upgraded `@agentscope-ai/chat` with `stopChat` fix ([#3917](https://github.com/agentscope-ai/QwenPaw/pull/3917))
## ⚡ Performance
- **Config Loading Cache**: Root and per-agent config files are now cached with mtime-based invalidation ([#3865](https://github.com/agentscope-ai/QwenPaw/pull/3865))
- **Skill Manifest Cache**: Skill manifest reads are cached by file path and mtime, reducing repeated disk reads on hot paths ([#3910](https://github.com/agentscope-ai/QwenPaw/pull/3910))
- **Model API Deduplication**: Concurrent `listProviders` and `getActiveModels` calls on the chat page now deduplicate their own in-flight requests ([#3897](https://github.com/agentscope-ai/QwenPaw/pull/3897))
- **Console Chat Performance**: Chat session list is virtualized with `react-window`, search loads sessions progressively with a progress indicator ([#3908](https://github.com/agentscope-ai/QwenPaw/pull/3908), [#3912](https://github.com/agentscope-ai/QwenPaw/pull/3912))
## 🐛 Fixed
**Channels**
- **Approval in Channels**: Fixed `/approve` and `/deny` commands not working in channels ([#3832](https://github.com/agentscope-ai/QwenPaw/pull/3832), [#3896](https://github.com/agentscope-ai/QwenPaw/pull/3896))
- **WeCom @Mention Commands**: Fixed slash commands failing in WeCom group chats when the bot is @-mentioned ([#3903](https://github.com/agentscope-ai/QwenPaw/pull/3903))
- **Feishu Reaction Events**: Registered no-op handlers for Feishu message reaction events ([#3890](https://github.com/agentscope-ai/QwenPaw/pull/3890))
- **QQ WebSocket Reconnect**: QQ channel now reconnects on recoverable WebSocket errors ([#3872](https://github.com/agentscope-ai/QwenPaw/pull/3872))
**Console & UI**
- **Per-Tab Agent Selection**: Fixed agent selection leaking between browser tabs ([#3857](https://github.com/agentscope-ai/QwenPaw/pull/3857), [#3867](https://github.com/agentscope-ai/QwenPaw/pull/3867))
- **Backups Import Icon**: Updated the backup import button to use an import icon instead of upload ([#3909](https://github.com/agentscope-ai/QwenPaw/pull/3909))
**Agent System**
- **Timezone Normalization**: Non-standard timezone names are now mapped to canonical IANA identifiers ([#3858](https://github.com/agentscope-ai/QwenPaw/pull/3858))
- **ACP Fallback Inheritance**: Fallback agent profile now inherits ACP configuration from the main config ([#3834](https://github.com/agentscope-ai/QwenPaw/pull/3834))
- **MCP Execution Timeout**: MCP client timeout is now passed through to tool execution ([#3904](https://github.com/agentscope-ai/QwenPaw/pull/3904))
+40
View File
@@ -0,0 +1,40 @@
## ✨ 新增功能
- **记忆搜索优化**:记忆搜索现已支持 CJK 字符级分词,同时保留拉丁字母和数字的完整性 ([#3811](https://github.com/agentscope-ai/QwenPaw/pull/3811))
- **上下文压缩降级机制**:当 LLM 压缩失败或被禁用时,上下文管理器会放宽保留窗口重新切分,尽可能保留更多近期对话轮次,而非中止压缩流程 ([#3882](https://github.com/agentscope-ai/QwenPaw/pull/3882))
- **模型自适应重试**:运行时会从模型 API 失败中学习其特性,并在后续请求中主动适配 ([#3874](https://github.com/agentscope-ai/QwenPaw/pull/3874))
- **ACP Agent 重命名与删除**:支持在控制台中对 ACP Agent 进行重命名和删除操作 ([#3859](https://github.com/agentscope-ai/QwenPaw/pull/3859))
- **QQ 语音与 ASR 支持**:QQ 频道支持通过文件扩展名识别语音消息,并在平台提供 ASR 转录结果时直接使用 ([#3845](https://github.com/agentscope-ai/QwenPaw/pull/3845))
## 🔄 变更
- **Agent 统计页面导航调整**:将 Agent 统计页面移入侧边栏的工作空间分组 ([#3754](https://github.com/agentscope-ai/QwenPaw/pull/3754))
- **Dockerfile 构建清理**:在 Dockerfile 中 `pip install` 后清理构建目录,减小镜像体积 ([#3638](https://github.com/agentscope-ai/QwenPaw/pull/3638))
- **聊天组件升级**:升级 `@agentscope-ai/chat` 组件,修复 `stopChat` 问题 ([#3917](https://github.com/agentscope-ai/QwenPaw/pull/3917))
## ⚡ 性能优化
- **配置文件加载缓存**:根配置和 Agent 配置文件支持基于 mtime 的缓存失效策略 ([#3865](https://github.com/agentscope-ai/QwenPaw/pull/3865))
- **技能清单读取缓存**:技能清单按文件路径和修改时间缓存,减少热路径上的重复磁盘读取 ([#3910](https://github.com/agentscope-ai/QwenPaw/pull/3910))
- **模型 API 请求去重**:聊天页面中并发的 `listProviders` 和 `getActiveModels` 调用各自去重 ([#3897](https://github.com/agentscope-ai/QwenPaw/pull/3897))
- **控制台聊天性能优化**:会话列表通过 `react-window` 实现虚拟化渲染,搜索采用逐步加载并显示进度 ([#3908](https://github.com/agentscope-ai/QwenPaw/pull/3908), [#3912](https://github.com/agentscope-ai/QwenPaw/pull/3912))
## 🐛 修复
**频道(Channels)**
- **频道内审批命令**:修复 `/approve` 和 `/deny` 命令在频道中无法使用的问题 ([#3832](https://github.com/agentscope-ai/QwenPaw/pull/3832), [#3896](https://github.com/agentscope-ai/QwenPaw/pull/3896))
- **企业微信 @提及命令**:修复企业微信群聊中 @机器人时斜杠命令无法识别的问题 ([#3903](https://github.com/agentscope-ai/QwenPaw/pull/3903))
- **飞书表情回应事件**:为飞书消息表情回应事件注册空处理器 ([#3890](https://github.com/agentscope-ai/QwenPaw/pull/3890))
- **QQ WebSocket 自动重连**:QQ 频道遇到可恢复的 WebSocket 错误时自动重连 ([#3872](https://github.com/agentscope-ai/QwenPaw/pull/3872))
**控制台与界面**
- **标签页独立 Agent 选择**:修复浏览器标签页之间 Agent 选择互相干扰的问题 ([#3857](https://github.com/agentscope-ai/QwenPaw/pull/3857), [#3867](https://github.com/agentscope-ai/QwenPaw/pull/3867))
- **备份导入图标**:备份导入按钮改用导入图标替代上传图标 ([#3909](https://github.com/agentscope-ai/QwenPaw/pull/3909))
**Agent 系统**
- **时区名称规范化**:将非标准时区名称映射为标准 IANA 标识符 ([#3858](https://github.com/agentscope-ai/QwenPaw/pull/3858))
- **ACP 降级继承**:降级 Agent 配置文件现在会从主配置继承 ACP 配置 ([#3834](https://github.com/agentscope-ai/QwenPaw/pull/3834))
- **MCP 执行超时**:MCP 客户端超时配置现已正确传递到工具执行层 ([#3904](https://github.com/agentscope-ai/QwenPaw/pull/3904))
+94
View File
@@ -0,0 +1,94 @@
## ✨ Added
**Agent System**
- **Windows Diagnostics**: `qwenpaw doctor` now checks Windows-specific environment issues including long path support, PowerShell language mode, and working directory path length ([#4032](https://github.com/agentscope-ai/QwenPaw/pull/4032))
- **Agent Status API**: New `GET /agents/{agentId}/agent-status` endpoint reporting agent runtime status, running task count, and task timestamps ([#4107](https://github.com/agentscope-ai/QwenPaw/pull/4107))
- **Cron Session Isolation**: Cron jobs now support a `share_session` option — when disabled, each scheduled run creates an isolated session context with a cron job ID ([#4117](https://github.com/agentscope-ai/QwenPaw/pull/4117))
- **GPT Image 2 Plugin**: New tool plugin for generating images via OpenAI's GPT Image 2 API ([#3911](https://github.com/agentscope-ai/QwenPaw/pull/3911))
- **Config-Driven Agent Name**: Use the configured agent profile name instead of a hardcoded default ([#4140](https://github.com/agentscope-ai/QwenPaw/pull/4140))
**Chat & Console**
- **Whisper Voice Input**: Replaced browser-native Web Speech API with server-side Whisper transcription for more reliable, cross-browser voice input ([#3574](https://github.com/agentscope-ai/QwenPaw/pull/3574))
- **LLM-Generated Session Titles**: Chat sessions are now automatically titled by the LLM in the background after the first message. Configurable via the "Auto-generate session titles" toggle in Agent Config ([#3829](https://github.com/agentscope-ai/QwenPaw/pull/3829))
- **Token Usage Trends**: Added per-model and per-token-type trend line charts to the Token Usage settings page for visualizing usage over time ([#4080](https://github.com/agentscope-ai/QwenPaw/pull/4080), [#4094](https://github.com/agentscope-ai/QwenPaw/pull/4094))
- **Batch Skill Operations**: Added Enable and Disable buttons to the skill batch operation toolbar with per-skill error reporting ([#4091](https://github.com/agentscope-ai/QwenPaw/pull/4091))
- **Mermaid Diagram Rendering**: Markdown code blocks with `mermaid` language tag are now rendered as interactive diagrams in chat and file previews ([#4146](https://github.com/agentscope-ai/QwenPaw/pull/4146))
- **Brazilian Portuguese (pt-BR)**: Added full pt-BR locale support for both the Console UI and backend language settings ([#4009](https://github.com/agentscope-ai/QwenPaw/pull/4009), [#4143](https://github.com/agentscope-ai/QwenPaw/pull/4143))
**Providers**
- **Volcano Engine Provider**: Added Volcano Engine as a built-in OpenAI-compatible provider with standard and Coding Plan endpoints ([#3994](https://github.com/agentscope-ai/QwenPaw/pull/3994))
- **DashScope Region Selection**: DashScope base URL can now be modified from preset region endpoints ([#4074](https://github.com/agentscope-ai/QwenPaw/pull/4074))
- **Aliyun Token Plan Provider**: Added Aliyun Token Plan as a built-in provider ([#4122](https://github.com/agentscope-ai/QwenPaw/pull/4122))
- **Anthropic Default Max Tokens**: Raised default `max_tokens` for Anthropic-compatible models to 16,384 ([#4054](https://github.com/agentscope-ai/QwenPaw/pull/4054))
**Channels**
- **Feishu Interactive Approval Cards**: Tool-guard approval requests in Feishu are now rendered as interactive button cards that update in-place on approve/deny, with a documentation link hint when the card action callback is not subscribed ([#3941](https://github.com/agentscope-ai/QwenPaw/pull/3941), [#3982](https://github.com/agentscope-ai/QwenPaw/pull/3982))
- **WeCom Group Session Sharing**: Added `share_session_in_group` toggle to control whether group chat members share a single session or get per-member isolation ([#3948](https://github.com/agentscope-ai/QwenPaw/pull/3948))
- **Feishu Sender Context**: Feishu sender nickname is now passed to the agent environment context ([#4098](https://github.com/agentscope-ai/QwenPaw/pull/4098))
- **WeCom Interactive Approval Cards**: Tool-guard approval requests in WeCom are now rendered as interactive template cards ([#4112](https://github.com/agentscope-ai/QwenPaw/pull/4112))
**Security**
- **Static File Path Traversal Protection**: Console static file serving now rejects absolute paths to prevent path traversal bypass ([#3973](https://github.com/agentscope-ai/QwenPaw/pull/3973))
- **Rule-Level Auto Deny**: Individual security rules can now be configured to automatically deny tool calls ([#4046](https://github.com/agentscope-ai/QwenPaw/pull/4046))
**Skills & CLI**
- **Skill Test CLI**: New `qwenpaw skills test` command to validate skill content and run security scans ([#3999](https://github.com/agentscope-ai/QwenPaw/pull/3999))
- **Skill Install/Uninstall CLI**: New `qwenpaw skills install` and `qwenpaw skills uninstall` commands for managing skills from the command line, supporting both pool-level and per-agent workspace installs ([#4053](https://github.com/agentscope-ai/QwenPaw/pull/4053))
## ⚡ Performance
- **Console Rendering**: Eliminated duplicate re-renders by stabilizing approval polling state comparisons and memoizing chat runtime options ([#4052](https://github.com/agentscope-ai/QwenPaw/pull/4052), [#4110](https://github.com/agentscope-ai/QwenPaw/pull/4110), [#4153](https://github.com/agentscope-ai/QwenPaw/pull/4153))
- **Chat History Navigation**: Skip chat history lookup for non-arrow keys and cache user-message lists to avoid repeated scans on every keystroke ([#4130](https://github.com/agentscope-ai/QwenPaw/pull/4130))
- **QR Polling Cleanup**: Immediately stop QR code polling and clear status indicators on auth completion or code expiry ([#4148](https://github.com/agentscope-ai/QwenPaw/pull/4148))
## 🐛 Fixed
**Channels**
- **WeCom Stream Keepalive**: Keep the "Thinking..." placeholder stream alive with periodic refreshes to prevent stuck status indicators in WeCom ([#3950](https://github.com/agentscope-ai/QwenPaw/pull/3950))
- **WeCom Reconnect Race**: Fixed double reconnect scheduling and cross-event-loop disconnect in WeCom WebSocket handling ([#3963](https://github.com/agentscope-ai/QwenPaw/pull/3963))
- **Telegram Network Retry**: Added exponential backoff and controlled reconnect for transient Telegram network errors instead of silently dying ([#4039](https://github.com/agentscope-ai/QwenPaw/pull/4039))
- **WeChat Cron Buffer Flush**: Flush WeChat merge buffer immediately for cron/proactive sends that bypass the normal completion path ([#4106](https://github.com/agentscope-ai/QwenPaw/pull/4106))
- **Markdown Table Splitting**: Preserve markdown table structure across message chunks by repeating header and separator rows in each fragment ([#4119](https://github.com/agentscope-ai/QwenPaw/pull/4119))
**Agent System**
- **External Agent Timeout**: Added safe default timeout (60s) for `delegate_external_agent` to prevent indefinite hangs ([#3928](https://github.com/agentscope-ai/QwenPaw/pull/3928))
- **Agent Config Reload**: Agent config file changes now trigger a graceful reload with task draining instead of lightweight reinstantiation ([#4064](https://github.com/agentscope-ai/QwenPaw/pull/4064))
- **Agent Config Persistence**: Fixed the console agent config editor dropping nested settings on save by preserving the complete config structure ([#4157](https://github.com/agentscope-ai/QwenPaw/pull/4157))
**MCP**
- **MCP Execution Timeout**: Use `sse_read_timeout` as the MCP tool execution timeout instead of the shorter HTTP connect timeout ([#4058](https://github.com/agentscope-ai/QwenPaw/pull/4058), [#4061](https://github.com/agentscope-ai/QwenPaw/pull/4061))
- **MCP Client Lifecycle Leak**: Fixed lifecycle-task leak where `close()` could skip stopping a background reconnect task ([#4152](https://github.com/agentscope-ai/QwenPaw/pull/4152))
**Console & UI**
- **SSE Surrogate Safety**: Avoid SSE stream crash on malformed surrogate text by sanitizing non-encodable content before serialization ([#3553](https://github.com/agentscope-ai/QwenPaw/pull/3553))
- **CodeMirror Line Wrapping**: Fixed line wrapping in tool call input/output blocks ([#3960](https://github.com/agentscope-ai/QwenPaw/pull/3960))
- **Default Agent Display Name**: Respect custom name for the default agent in all UI surfaces ([#4073](https://github.com/agentscope-ai/QwenPaw/pull/4073))
- **File Preview Paths**: Fixed redundant URL prefix stripping in file preview paths that could cause broken URLs ([#4089](https://github.com/agentscope-ai/QwenPaw/pull/4089))
**Infrastructure**
- **Docker Backup Restore**: Correctly restore secrets on Docker volume mount points by swapping directory contents instead of renaming ([#3916](https://github.com/agentscope-ai/QwenPaw/pull/3916))
- **Audio Block Paths**: Return resolved filesystem path for `file://` URL audio blocks and remove redundant file handling code ([#4021](https://github.com/agentscope-ai/QwenPaw/pull/4021), [#4048](https://github.com/agentscope-ai/QwenPaw/pull/4048))
- **Log Rotation**: Use `RotatingFileHandler` for log rotation on all platforms ([#4076](https://github.com/agentscope-ai/QwenPaw/pull/4076))
- **Loopback Proxy Bypass**: Bypass proxy environment variables for loopback API health checks to prevent connection failures behind corporate proxies ([#4092](https://github.com/agentscope-ai/QwenPaw/pull/4092))
- **Conda Packaging**: Restore conda packaging tools before running `conda-pack` to prevent broken packaging pipeline ([#4093](https://github.com/agentscope-ai/QwenPaw/pull/4093))
## 📝 Documentation
- **WSL2 Timeout FAQ**: Added FAQ entry for handling `APITimeoutError` when running in WSL2 NAT mode ([#4005](https://github.com/agentscope-ai/QwenPaw/pull/4005))
- **Documentation Update**: Updated website documentation to reflect new features ([#4013](https://github.com/agentscope-ai/QwenPaw/pull/4013))
## 🧪 Testing & CI
- **Console Unit Tests**: Added Vitest setup with unit and component tests covering Chat, API layer, and shared components ([#3559](https://github.com/agentscope-ai/QwenPaw/pull/3559), [#4121](https://github.com/agentscope-ai/QwenPaw/pull/4121))
- **Integration Smoke Tests**: Added app startup and settings/environment variable smoke tests ([#4081](https://github.com/agentscope-ai/QwenPaw/pull/4081))
+94
View File
@@ -0,0 +1,94 @@
## ✨ 新增功能
**Agent 系统**
- **Windows 环境诊断**:`qwenpaw doctor` 新增 Windows 专项检测,包括长路径支持、PowerShell 语言模式和工作目录路径长度 ([#4032](https://github.com/agentscope-ai/QwenPaw/pull/4032))
- **Agent 状态 API**:新增 `GET /agents/{agentId}/agent-status` 接口,返回 Agent 运行状态、任务数量和任务时间戳 ([#4107](https://github.com/agentscope-ai/QwenPaw/pull/4107))
- **定时任务会话隔离**:定时任务新增 `share_session` 选项,关闭后每次调度运行将创建独立的会话上下文 ([#4117](https://github.com/agentscope-ai/QwenPaw/pull/4117))
- **GPT Image 2 插件**:新增通过 OpenAI GPT Image 2 API 生成图片的工具插件 ([#3911](https://github.com/agentscope-ai/QwenPaw/pull/3911))
- **配置驱动的 Agent 名称**:Agent 名称改为从配置文件读取,不再使用硬编码默认值 ([#4140](https://github.com/agentscope-ai/QwenPaw/pull/4140))
**聊天与控制台**
- **Whisper 语音输入**:使用服务端 Whisper 转录替代浏览器原生 Web Speech API,语音输入更可靠、跨浏览器兼容性更好 ([#3574](https://github.com/agentscope-ai/QwenPaw/pull/3574))
- **LLM 自动生成会话标题**:首条消息发送后,LLM 在后台自动生成会话标题,替代原有的截断文本。可在 Agent 配置中通过"自动生成会话标题"开关控制 ([#3829](https://github.com/agentscope-ai/QwenPaw/pull/3829))
- **Token 用量趋势图**:Token 用量页面新增按模型和按 Token 类型的趋势折线图 ([#4080](https://github.com/agentscope-ai/QwenPaw/pull/4080), [#4094](https://github.com/agentscope-ai/QwenPaw/pull/4094))
- **技能批量启用/禁用**:技能批量操作工具栏新增启用和禁用按钮,支持逐项错误提示 ([#4091](https://github.com/agentscope-ai/QwenPaw/pull/4091))
- **Mermaid 图表渲染**:Markdown 中标记为 `mermaid` 的代码块现可在聊天和文件预览中渲染为交互式图表 ([#4146](https://github.com/agentscope-ai/QwenPaw/pull/4146))
- **巴西葡萄牙语 (pt-BR)**:控制台界面和后端语言设置全面支持 pt-BR ([#4009](https://github.com/agentscope-ai/QwenPaw/pull/4009), [#4143](https://github.com/agentscope-ai/QwenPaw/pull/4143))
**模型服务商(Providers)**
- **火山引擎服务商**:新增火山引擎作为内置 OpenAI 兼容服务商,包含标准端点和 Coding Plan 端点 ([#3994](https://github.com/agentscope-ai/QwenPaw/pull/3994))
- **DashScope 区域选择**:DashScope 的 Base URL 支持通修改预设的区域端点 ([#4074](https://github.com/agentscope-ai/QwenPaw/pull/4074))
- **阿里云 Token Plan 服务商**:新增阿里云 Token Plan 作为内置服务商 ([#4122](https://github.com/agentscope-ai/QwenPaw/pull/4122))
- **Anthropic 默认 Max Tokens 提升**:Anthropic 兼容模型的默认 `max_tokens` 提升至 16,384 ([#4054](https://github.com/agentscope-ai/QwenPaw/pull/4054))
**频道(Channels)**
- **飞书交互式审批卡片**:飞书中的工具调用审批请求现以交互式按钮卡片形式展示,支持审批/拒绝后原地更新状态,未订阅回调时显示文档引导链接 ([#3941](https://github.com/agentscope-ai/QwenPaw/pull/3941), [#3982](https://github.com/agentscope-ai/QwenPaw/pull/3982))
- **企业微信群聊会话共享**:新增 `share_session_in_group` 开关,控制群聊成员共享同一会话还是各自独立 ([#3948](https://github.com/agentscope-ai/QwenPaw/pull/3948))
- **飞书发送者上下文**:飞书发送者昵称现已传入 Agent 环境上下文 ([#4098](https://github.com/agentscope-ai/QwenPaw/pull/4098))
- **企业微信交互式审批卡片**:企业微信中的工具调用审批请求现以交互式模板卡片形式展示 ([#4112](https://github.com/agentscope-ai/QwenPaw/pull/4112))
**安全**
- **静态文件路径遍历防护**:控制台静态文件服务拒绝绝对路径请求,防止路径遍历攻击 ([#3973](https://github.com/agentscope-ai/QwenPaw/pull/3973))
- **规则级别自动拒绝**:安全规则现支持配置自动拒绝工具调用,无需等待人工审批 ([#4046](https://github.com/agentscope-ai/QwenPaw/pull/4046))
**技能与 CLI**
- **技能测试命令**:新增 `qwenpaw skills test` 命令,用于验证技能内容并执行安全扫描 ([#3999](https://github.com/agentscope-ai/QwenPaw/pull/3999))
- **技能安装/卸载命令**:新增 `qwenpaw skills install` 和 `qwenpaw skills uninstall` 命令,支持技能池级别和 Agent 工作空间级别的安装 ([#4053](https://github.com/agentscope-ai/QwenPaw/pull/4053))
## ⚡ 性能优化
- **控制台渲染优化**:通过稳定审批轮询状态比较和聊天运行时配置缓存化,消除不必要的重复渲染 ([#4052](https://github.com/agentscope-ai/QwenPaw/pull/4052), [#4110](https://github.com/agentscope-ai/QwenPaw/pull/4110), [#4153](https://github.com/agentscope-ai/QwenPaw/pull/4153))
- **聊天历史导航优化**:非方向键输入跳过历史消息查找,并缓存用户消息列表避免每次按键重复扫描 ([#4130](https://github.com/agentscope-ai/QwenPaw/pull/4130))
- **二维码轮询清理**:认证完成或二维码过期后立即停止轮询并清除状态指示 ([#4148](https://github.com/agentscope-ai/QwenPaw/pull/4148))
## 🐛 修复
**频道(Channels)**
- **企业微信流式占位保活**:通过定期刷新保持"思考中..."占位流活跃,防止企业微信中状态卡住 ([#3950](https://github.com/agentscope-ai/QwenPaw/pull/3950))
- **企业微信重连竞态修复**:修复企业微信 WebSocket 中双重重连调度和跨事件循环断连问题 ([#3963](https://github.com/agentscope-ai/QwenPaw/pull/3963))
- **Telegram 网络重试**:Telegram 遇到临时网络错误时采用指数退避策略自动重连,而非静默退出 ([#4039](https://github.com/agentscope-ai/QwenPaw/pull/4039))
- **微信定时任务缓冲区刷新**:定时任务/主动发送绕过正常完成路径时,立即刷新微信合并缓冲区 ([#4106](https://github.com/agentscope-ai/QwenPaw/pull/4106))
- **Markdown 表格分片保留**:消息分片时保留 Markdown 表格结构,每个分片重复表头和分隔行 ([#4119](https://github.com/agentscope-ai/QwenPaw/pull/4119))
**Agent 系统**
- **外部 Agent 调用超时**:`delegate_external_agent` 新增 60 秒默认超时,防止外部 Agent 无响应时无限等待 ([#3928](https://github.com/agentscope-ai/QwenPaw/pull/3928))
- **Agent 配置热重载**:Agent 配置文件变更现通过完整的 Agent 重载流程处理,确保任务优雅排空 ([#4064](https://github.com/agentscope-ai/QwenPaw/pull/4064))
- **Agent 配置保存修复**:修复控制台 Agent 配置编辑器保存时丢失嵌套设置的问题 ([#4157](https://github.com/agentscope-ai/QwenPaw/pull/4157))
**MCP**
- **MCP 执行超时修复**:使用 `sse_read_timeout` 作为 MCP 工具执行超时,替代原来过短的 HTTP 连接超时 ([#4058](https://github.com/agentscope-ai/QwenPaw/pull/4058), [#4061](https://github.com/agentscope-ai/QwenPaw/pull/4061))
- **MCP 客户端生命周期泄漏修复**:修复 `close()` 跳过停止后台重连任务的问题,避免遗留孤立子进程 ([#4152](https://github.com/agentscope-ai/QwenPaw/pull/4152))
**控制台与界面**
- **SSE 代理字符安全**:序列化前对非法代理对字符进行清理,防止 SSE 流崩溃 ([#3553](https://github.com/agentscope-ai/QwenPaw/pull/3553))
- **CodeMirror 自动换行**:修复工具调用输入/输出块中长行溢出不换行的问题 ([#3960](https://github.com/agentscope-ai/QwenPaw/pull/3960))
- **默认 Agent 自定义名称**:所有界面正确显示默认 Agent 的自定义名称 ([#4073](https://github.com/agentscope-ai/QwenPaw/pull/4073))
- **文件预览路径修复**:修复文件预览路径中多余的 URL 前缀剥离导致链接异常的问题 ([#4089](https://github.com/agentscope-ai/QwenPaw/pull/4089))
**基础设施**
- **Docker 备份恢复修复**:在 Docker 卷挂载点上通过交换目录内容替代重命名方式正确恢复密钥文件 ([#3916](https://github.com/agentscope-ai/QwenPaw/pull/3916))
- **音频块路径修复**:`file://` URL 音频块返回解析后的绝对路径,并清理冗余的文件处理代码 ([#4021](https://github.com/agentscope-ai/QwenPaw/pull/4021), [#4048](https://github.com/agentscope-ai/QwenPaw/pull/4048))
- **日志轮转**:全平台使用 `RotatingFileHandler` 进行日志轮转 ([#4076](https://github.com/agentscope-ai/QwenPaw/pull/4076))
- **本地回环代理绕过**:CLI 健康检查访问回环地址时绕过代理环境变量,避免在企业代理环境下连接失败 ([#4092](https://github.com/agentscope-ai/QwenPaw/pull/4092))
- **Conda 打包修复**:在执行 `conda-pack` 前恢复 conda 打包工具,防止打包流程异常 ([#4093](https://github.com/agentscope-ai/QwenPaw/pull/4093))
## 📝 文档
- **WSL2 超时 FAQ**:新增在 WSL2 NAT 模式下处理 `APITimeoutError` 的 FAQ 条目 ([#4005](https://github.com/agentscope-ai/QwenPaw/pull/4005))
- **文档更新**:更新网站文档以反映最新功能 ([#4013](https://github.com/agentscope-ai/QwenPaw/pull/4013))
## 🧪 测试与 CI
- **控制台单元测试**:引入 Vitest 测试框架,覆盖聊天、API 层和共享组件的单元测试与组件测试 ([#3559](https://github.com/agentscope-ai/QwenPaw/pull/3559), [#4121](https://github.com/agentscope-ai/QwenPaw/pull/4121))
- **集成冒烟测试**:新增应用启动和设置/环境变量冒烟测试 ([#4081](https://github.com/agentscope-ai/QwenPaw/pull/4081))
+64
View File
@@ -0,0 +1,64 @@
## ✨ Added
**Tools & MCPs**
- **Browser Use — Batch Actions**: Execute multiple browser steps (navigate, click, type, screenshot, etc.) in a single tool call ([#4139](https://github.com/agentscope-ai/QwenPaw/pull/4139))
- **Browser Use — File Download**: Download files by clicking page elements or fetching URLs directly ([#4261](https://github.com/agentscope-ai/QwenPaw/pull/4261))
- **GPT Image 2 Reference Images**: Support uploading 1–16 reference images via URL or local path in the GPT Image 2 plugin ([#4194](https://github.com/agentscope-ai/QwenPaw/pull/4194))
- **External Agent Async Execution**: `delegate_external_agent` supports async streaming with task listing and status queries and configurable timeout ([#4197](https://github.com/agentscope-ai/QwenPaw/pull/4197))
- **Shell Executable Configuration**: Choose which shell runs commands via the config option ([#4215](https://github.com/agentscope-ai/QwenPaw/pull/4215))
- **OAuth 2.1 for Remote MCP Servers**: Authenticate remote MCP servers via OAuth 2.1 with PKCE ([#4256](https://github.com/agentscope-ai/QwenPaw/pull/4256))
**Plugins**
- **Console Plugin Management**: Install and uninstall plugins from the Settings UI via local path, ZIP upload, or URL ([#4214](https://github.com/agentscope-ai/QwenPaw/pull/4214), [#4266](https://github.com/agentscope-ai/QwenPaw/pull/4266))
- **Qwen-Image & Wan 2.7 Plugins**: New plugins for image generation/editing and video generation ([#4248](https://github.com/agentscope-ai/QwenPaw/pull/4248))
- **Plugin HTTP API Router**: Plugins can register custom HTTP API endpoints ([#4255](https://github.com/agentscope-ai/QwenPaw/pull/4255))
**Chat & Console**
- **Multiple File Attachments**: Chat input now supports selecting multiple files in a single message ([#4206](https://github.com/agentscope-ai/QwenPaw/pull/4206))
- **Indonesian Language**: Full Bahasa Indonesia locale support for Console UI and backend ([#4219](https://github.com/agentscope-ai/QwenPaw/pull/4219))
- **Inbox**: New centralized Inbox with Approvals and Push Messages tabs for managing tool-guard approvals and viewing cron execution results with traces ([#4210](https://github.com/agentscope-ai/QwenPaw/pull/4210), [#4305](https://github.com/agentscope-ai/QwenPaw/pull/4305))
- **Cron Job Enhancement**: Cron jobs now support one-time scheduled execution, a calendar view for visualizing upcoming runs, built-in templates for quick creation, per-job execution history with detailed run traces, and save-to-inbox delivery ([#4210](https://github.com/agentscope-ai/QwenPaw/pull/4210))
**Channels**
- **Feishu Voice Bubbles**: Audio files sent via Feishu now render as native voice bubbles ([#4202](https://github.com/agentscope-ai/QwenPaw/pull/4202))
- **DingTalk Quoted Messages**: Replies with quoted messages in DingTalk now include quoted text and media in the agent context ([#4209](https://github.com/agentscope-ai/QwenPaw/pull/4209))
- **Feishu QR Code Bot Creation**: Create a Feishu/Lark bot by scanning a QR code in the Channels setup UI ([#4236](https://github.com/agentscope-ai/QwenPaw/pull/4236))
- **WeCom Streaming Output**: Optional streaming replies for WeCom channel with real-time message delivery and reasoning indicator support ([#4271](https://github.com/agentscope-ai/QwenPaw/pull/4271))
## 🔄 Changed
- **Model Selector Redesign**: Replaced the hover dropdown with a searchable flat list grouped by provider ([#3876](https://github.com/agentscope-ai/QwenPaw/pull/3876))
- **Floating Chat Button**: Chat navigation moved from sidebar menu to a sticky button next to the agent selector ([#4240](https://github.com/agentscope-ai/QwenPaw/pull/4240), [#4273](https://github.com/agentscope-ai/QwenPaw/pull/4273))
- **Agent Stats Session Discovery**: Simplified session file lookup by walking channel subdirectories directly ([#4250](https://github.com/agentscope-ai/QwenPaw/pull/4250))
## ⚡ Performance
- **Async FastAPI Dependencies**: Model and provider manager dependencies converted to async, eliminating unnecessary thread pool dispatch ([#4229](https://github.com/agentscope-ai/QwenPaw/pull/4229))
- **File Read Size Limit**: Maximum file read size reduced to 200 MB (from 1 GB) with pre-allocation based on actual file size ([#4272](https://github.com/agentscope-ai/QwenPaw/pull/4272), [#4276](https://github.com/agentscope-ai/QwenPaw/pull/4276))
- **Keyring Timeout**: Keyring operations now have a 10-second timeout to prevent credential manager hangs from blocking startup ([#4263](https://github.com/agentscope-ai/QwenPaw/pull/4263))
## 🐛 Fixed
**Providers & Models**
- **Volcengine Model IDs**: Corrected model IDs to match actual API endpoints and updated capability flags ([#4169](https://github.com/agentscope-ai/QwenPaw/pull/4169))
- **Provider Meta Preservation**: Provider metadata is no longer dropped when retrieving provider info ([#4200](https://github.com/agentscope-ai/QwenPaw/pull/4200))
- **Malformed Tool Use Filtering**: Streaming parser now filters out tool-use blocks with null IDs or empty names ([#4234](https://github.com/agentscope-ai/QwenPaw/pull/4234))
**Channels**
- **WeCom Approval Card Operator**: Resolved approval cards now display the operator name ([#4233](https://github.com/agentscope-ai/QwenPaw/pull/4233))
- **Feishu WebSocket Keepalive**: Detect and recover from silent WebSocket connection loss ([#4241](https://github.com/agentscope-ai/QwenPaw/pull/4241))
**Console & UI**
- **Session History Routing**: Fixed session history disappearing and messages being routed to wrong sessions ([#4203](https://github.com/agentscope-ai/QwenPaw/pull/4203))
- **Plan Panel Dark Mode**: Improved text contrast in Plan Panel dark mode ([#4190](https://github.com/agentscope-ai/QwenPaw/pull/4190))
- **Mobile Sidebar**: Sidebar auto-collapses on narrow screens ([#4225](https://github.com/agentscope-ai/QwenPaw/pull/4225))
- **User Message Newlines**: User messages now preserve line breaks ([#4231](https://github.com/agentscope-ai/QwenPaw/pull/4231))
- **Token Usage Date Labels**: Chart labels now show year prefix when the date range crosses a year boundary ([#4268](https://github.com/agentscope-ai/QwenPaw/pull/4268))
- **Desktop External Links**: Links now open correctly in desktop builds ([#4270](https://github.com/agentscope-ai/QwenPaw/pull/4270))
+64
View File
@@ -0,0 +1,64 @@
## ✨ 新增功能
**工具与 MCP**
- **Browser Use — 批量操作**:在单次工具调用中执行多个浏览器步骤(导航、点击、输入、截图等)([#4139](https://github.com/agentscope-ai/QwenPaw/pull/4139))
- **Browser Use — 文件下载**:通过点击页面元素或直接获取 URL 下载文件 ([#4261](https://github.com/agentscope-ai/QwenPaw/pull/4261))
- **GPT Image 2 参考图编辑**:GPT Image 2 插件支持使用 1–16 张参考图(URL 或本地路径) ([#4194](https://github.com/agentscope-ai/QwenPaw/pull/4194))
- **外部 Agent 异步执行**:`delegate_external_agent` 支持异步流式执行,提供任务列表与状态查询,可配置超时时间 ([#4197](https://github.com/agentscope-ai/QwenPaw/pull/4197))
- **Shell 可执行程序配置**:通过配置项指定命令执行所用的 Shell(如 bash、zsh、PowerShell)([#4215](https://github.com/agentscope-ai/QwenPaw/pull/4215))
- **远程 MCP 服务器 OAuth 2.1 认证**:支持通过 OAuth 2.1 + PKCE 对远程 MCP 服务器进行认证 ([#4256](https://github.com/agentscope-ai/QwenPaw/pull/4256))
**插件**
- **控制台插件管理**:在设置页面通过本地路径、ZIP 上传或 URL 安装和卸载插件 ([#4214](https://github.com/agentscope-ai/QwenPaw/pull/4214), [#4266](https://github.com/agentscope-ai/QwenPaw/pull/4266))
- **Qwen-Image 与 Wan 2.7 插件**:新增图片生成/编辑插件(Qwen-Image)和视频生成插件(Wan 2.7)([#4248](https://github.com/agentscope-ai/QwenPaw/pull/4248))
- **插件 HTTP API 路由**:插件可注册自定义 HTTP API 端点 ([#4255](https://github.com/agentscope-ai/QwenPaw/pull/4255))
**聊天与控制台**
- **多文件附件**:聊天输入支持在单条消息中选择多个附件 ([#4206](https://github.com/agentscope-ai/QwenPaw/pull/4206))
- **印尼语支持**:控制台界面和后端全面支持印尼语 (Bahasa Indonesia) ([#4219](https://github.com/agentscope-ai/QwenPaw/pull/4219))
- **收件箱**:新增集中式收件箱,包含审批和推送消息两个标签页,用于管理工具调用审批及查看定时任务执行结果和追踪详情 ([#4210](https://github.com/agentscope-ai/QwenPaw/pull/4210), [#4305](https://github.com/agentscope-ai/QwenPaw/pull/4305))
- **定时任务增强**:定时任务新增一次性定时执行、日历视图、内置模板快速创建、逐任务执行历史与运行追踪,以及保存至收件箱等能力 ([#4210](https://github.com/agentscope-ai/QwenPaw/pull/4210))
**频道(Channels)**
- **飞书语音气泡**:通过飞书发送的音频文件现以原生语音气泡形式展示 ([#4202](https://github.com/agentscope-ai/QwenPaw/pull/4202))
- **钉钉引用消息**:钉钉中带引用的回复消息会将引用的文本和媒体内容注入 Agent 上下文 ([#4209](https://github.com/agentscope-ai/QwenPaw/pull/4209))
- **飞书扫码创建机器人**:在频道配置页面扫描二维码即可创建飞书/Lark 机器人 ([#4236](https://github.com/agentscope-ai/QwenPaw/pull/4236))
- **企业微信流式输出**:企业微信频道支持可选的流式回复,实时推送消息并支持推理过程指示 ([#4271](https://github.com/agentscope-ai/QwenPaw/pull/4271))
## 🔄 变更
- **模型选择器重设计**:将悬停下拉菜单替换为按服务商分组的可搜索平铺列表 ([#3876](https://github.com/agentscope-ai/QwenPaw/pull/3876))
- **浮动聊天按钮**:聊天入口从侧边栏菜单移至 Agent 选择器旁的常驻按钮 ([#4240](https://github.com/agentscope-ai/QwenPaw/pull/4240), [#4273](https://github.com/agentscope-ai/QwenPaw/pull/4273))
- **Agent 统计会话发现**:简化会话文件查找逻辑,直接遍历频道子目录 ([#4250](https://github.com/agentscope-ai/QwenPaw/pull/4250))
## ⚡ 性能优化
- **FastAPI 异步依赖**:模型和服务商管理器依赖转为异步,避免不必要的线程池调度 ([#4229](https://github.com/agentscope-ai/QwenPaw/pull/4229))
- **文件读取大小限制**:最大文件读取大小从 1 GB 降至 200 MB,并根据实际文件大小预分配内存 ([#4272](https://github.com/agentscope-ai/QwenPaw/pull/4272), [#4276](https://github.com/agentscope-ai/QwenPaw/pull/4276))
- **Keyring 超时保护**:密钥环操作增加 10 秒超时,防止凭证管理器挂起阻塞启动 ([#4263](https://github.com/agentscope-ai/QwenPaw/pull/4263))
## 🐛 修复
**模型服务商(Providers)**
- **火山引擎模型 ID 修正**:修正模型 ID 以匹配实际 API 端点,并更新能力标识 ([#4169](https://github.com/agentscope-ai/QwenPaw/pull/4169))
- **Provider 元数据保留**:获取服务商信息时不再丢失元数据字段 ([#4200](https://github.com/agentscope-ai/QwenPaw/pull/4200))
- **异常 Tool Use 过滤**:流式解析器过滤掉 ID 为空或名称缺失的 tool-use 块 ([#4234](https://github.com/agentscope-ai/QwenPaw/pull/4234))
**频道(Channels)**
- **企业微信审批卡片操作人**:已处理的审批卡片现显示操作人姓名 ([#4233](https://github.com/agentscope-ai/QwenPaw/pull/4233))
- **飞书 WebSocket 保活**:检测并恢复飞书 WebSocket 静默断连 ([#4241](https://github.com/agentscope-ai/QwenPaw/pull/4241))
**控制台与界面**
- **会话历史路由修复**:修复会话历史消失及消息被路由到错误会话的问题 ([#4203](https://github.com/agentscope-ai/QwenPaw/pull/4203))
- **Plan 面板暗色模式**:改善 Plan 面板暗色模式下的文本对比度 ([#4190](https://github.com/agentscope-ai/QwenPaw/pull/4190))
- **移动端侧边栏**:窄屏幕下侧边栏自动收起 ([#4225](https://github.com/agentscope-ai/QwenPaw/pull/4225))
- **用户消息换行**:用户消息正确保留换行符 ([#4231](https://github.com/agentscope-ai/QwenPaw/pull/4231))
- **Token 用量日期标签**:日期范围跨年时,图表标签自动显示年份前缀 ([#4268](https://github.com/agentscope-ai/QwenPaw/pull/4268))
- **桌面端外部链接**:桌面端构建中链接正确打开 ([#4270](https://github.com/agentscope-ai/QwenPaw/pull/4270))
+73
View File
@@ -0,0 +1,73 @@
## ✨ Added
**Plugins & Tools**
- **Official Plugin Distribution**: Browse and download official plugins from the website, or install them with one click in the console Plugin Manager ([#4482](https://github.com/agentscope-ai/QwenPaw/pull/4482))
- **QwenPaw Pet**: Desktop pet companion plugin with animated pet window ([#4418](https://github.com/agentscope-ai/QwenPaw/pull/4418), [#4516](https://github.com/agentscope-ai/QwenPaw/pull/4516))
- **CloudPaw — Alibaba Cloud Deployment**: New plugin with multi-agent orchestration, IaC-driven cloud provisioning, and A2A streaming integration with Alibaba Cloud Skills Hub ([#4362](https://github.com/agentscope-ai/QwenPaw/pull/4362), [#4423](https://github.com/agentscope-ai/QwenPaw/pull/4423), [#4506](https://github.com/agentscope-ai/QwenPaw/pull/4506), [#4524](https://github.com/agentscope-ai/QwenPaw/pull/4524))
- **Browser Robustness**: Improved browser stability with crash recovery, idle timeout protection, and automatic cleanup on exit ([#4306](https://github.com/agentscope-ai/QwenPaw/pull/4306), [#4350](https://github.com/agentscope-ai/QwenPaw/pull/4350))
- **Browser Tab Metadata**: `tabs` action now returns the URL and title of each open tab ([#4438](https://github.com/agentscope-ai/QwenPaw/pull/4438))
**Chat & Console**
- **Inbox Batch Operations**: Redesigned Inbox with batch select and batch delete for managing messages more efficiently ([#4358](https://github.com/agentscope-ai/QwenPaw/pull/4358), [#4493](https://github.com/agentscope-ai/QwenPaw/pull/4493))
- **Pinned Chat History Drawer**: Pin the session drawer to keep it open alongside the chat ([#4414](https://github.com/agentscope-ai/QwenPaw/pull/4414), [#4416](https://github.com/agentscope-ai/QwenPaw/pull/4416), [#4517](https://github.com/agentscope-ai/QwenPaw/pull/4517))
**Models & Providers**
- **Custom HTTP Headers & Auth Mode**: Custom headers editor for all providers with auth mode selection (API Key vs Bearer Token) ([#4413](https://github.com/agentscope-ai/QwenPaw/pull/4413))
- **Per-Model Token Limits**: `max_tokens` and `max_input_length` are now configured per model in Settings → Models ([#4417](https://github.com/agentscope-ai/QwenPaw/pull/4417))
**Agent System**
- **`/make-skill` Command**: A new magic command for turning the current chat session into a reusable skill ([#4282](https://github.com/agentscope-ai/QwenPaw/pull/4282))
- **Indonesian Agent Templates**: Agent persona markdown templates and `Asia/Jakarta` timezone ([#4287](https://github.com/agentscope-ai/QwenPaw/pull/4287))
- **Cron Job Timeout**: Configurable timeout for cron jobs (default 120s) ([#4425](https://github.com/agentscope-ai/QwenPaw/pull/4425))
**Security**
- **Skill Path Safety**: Prevent path traversal attacks in skill directory operations ([#4335](https://github.com/agentscope-ai/QwenPaw/pull/4335))
- **Backup Trust Controls**: Verify backup integrity on import/restore with trust confirmation dialogs, and strengthen remote access controls ([#4409](https://github.com/agentscope-ai/QwenPaw/pull/4409), [#4429](https://github.com/agentscope-ai/QwenPaw/pull/4429))
- **AgentMd Path Traversal Prevention**: Prevent path traversal in agent memory file operations ([#4511](https://github.com/agentscope-ai/QwenPaw/pull/4511))
- **Plugin API Auth**: Plugin management APIs now require authentication ([#4513](https://github.com/agentscope-ai/QwenPaw/pull/4513))
**Channels**
- **Matrix E2EE Verification**: Password and access-token login with E2EE toggle and SAS device verification ([#4120](https://github.com/agentscope-ai/QwenPaw/pull/4120))
- **Telegram Streaming Output**: Real-time streaming replies with reasoning indicator support ([#4318](https://github.com/agentscope-ai/QwenPaw/pull/4318))
- **DingTalk Streaming Cards**: Real-time streaming replies via AI Card (Card message mode only) ([#4420](https://github.com/agentscope-ai/QwenPaw/pull/4420))
- **Feishu CardKit Streaming**: Real-time streaming replies via CardKit ([#4480](https://github.com/agentscope-ai/QwenPaw/pull/4480))
## 🔄 Changed
- **Console Header Navigation**: Consolidated header links into a Documentation dropdown with Tutorial, Feature Demos, Changelog, and FAQ entries ([#3875](https://github.com/agentscope-ai/QwenPaw/pull/3875))
- **Feishu/Lark QR Code Domain**: QR code API accepts query parameters ([#4504](https://github.com/agentscope-ai/QwenPaw/pull/4504))
- **Stream Task Timeout**: Increased from 300 to 1800 seconds for long-running streamed agent tasks ([#4510](https://github.com/agentscope-ai/QwenPaw/pull/4510))
## 🐛 Fixed
**Channels**
- **WeCom Duplicate Placeholder**: Suppress duplicate "Thinking…" stream on rapid consecutive messages ([#4427](https://github.com/agentscope-ai/QwenPaw/pull/4427))
- **WeChat Poll Shutdown**: Fix crash-on-exit and tight error loops in the WeChat polling thread ([#4490](https://github.com/agentscope-ai/QwenPaw/pull/4490))
- **QQ Reconnect Loop**: Prevent high-frequency reconnect on IP whitelist rejection ([#4503](https://github.com/agentscope-ai/QwenPaw/pull/4503))
**Skills**
- **QA Agent Docs Packaging**: QA agent now works correctly in all install methods (pip, Docker, desktop) — previously some docs might be missing ([#4280](https://github.com/agentscope-ai/QwenPaw/pull/4280))
- **Skill Hub URL Validation**: Fixed skill import failing for URLs with `www.` prefix ([#4359](https://github.com/agentscope-ai/QwenPaw/pull/4359))
**Providers & Models**
- **Per-Model Rate Limiter**: A rate limit on one model no longer blocks requests to other models ([#4487](https://github.com/agentscope-ai/QwenPaw/pull/4487))
- **Per-Model Token Usage**: Token usage summaries now include a per-model breakdown with prompt/completion token counts ([#4476](https://github.com/agentscope-ai/QwenPaw/pull/4476))
**Console & UI**
- **SSE Connection Leak**: Fixed SSE connections not closing on page navigation, which could exhaust browser connection limits ([#4488](https://github.com/agentscope-ai/QwenPaw/pull/4488))
- **Cron Validation Errors**: Cron creation/update returns localized, actionable error messages instead of generic server errors ([#4495](https://github.com/agentscope-ai/QwenPaw/pull/4495))
- **Session Memory Persistence**: `/mission` and `/skill` info responses are now persisted to session memory so they survive page reload ([#4523](https://github.com/agentscope-ai/QwenPaw/pull/4523))
## 📝 Documentation
- **Website Feature Demos**: Docs demo gallery with walkthrough videos for skills, doctor, and mission mode ([#4507](https://github.com/agentscope-ai/QwenPaw/pull/4507))
+73
View File
@@ -0,0 +1,73 @@
## ✨ 新增功能
**插件与工具**
- **官方插件分发**:可在网站浏览和下载官方插件,也可在控制台插件管理器中一键安装 ([#4482](https://github.com/agentscope-ai/QwenPaw/pull/4482))
- **QwenPaw Pet**:桌面宠物伴侣插件,支持动画宠物窗口 ([#4418](https://github.com/agentscope-ai/QwenPaw/pull/4418), [#4516](https://github.com/agentscope-ai/QwenPaw/pull/4516))
- **CloudPaw — 阿里云部署**:全新插件,支持多智能体协作、IaC 驱动的云资源编排,以及阿里云技能中心 A2A 流式集成 ([#4362](https://github.com/agentscope-ai/QwenPaw/pull/4362), [#4423](https://github.com/agentscope-ai/QwenPaw/pull/4423), [#4506](https://github.com/agentscope-ai/QwenPaw/pull/4506), [#4524](https://github.com/agentscope-ai/QwenPaw/pull/4524))
- **浏览器健壮性增强**:提升浏览器稳定性,支持崩溃恢复、空闲超时保护,退出时自动清理浏览器进程 ([#4306](https://github.com/agentscope-ai/QwenPaw/pull/4306), [#4350](https://github.com/agentscope-ai/QwenPaw/pull/4350))
- **浏览器标签页元数据**:`tabs` 操作现在返回每个标签页的 URL 和标题 ([#4438](https://github.com/agentscope-ai/QwenPaw/pull/4438))
**聊天与控制台**
- **收件箱批量操作**:重新设计的收件箱,支持批量选择和批量删除,高效管理消息 ([#4358](https://github.com/agentscope-ai/QwenPaw/pull/4358), [#4493](https://github.com/agentscope-ai/QwenPaw/pull/4493))
- **聊天历史抽屉固定**:支持将会话抽屉固定在聊天界面旁 ([#4414](https://github.com/agentscope-ai/QwenPaw/pull/4414), [#4416](https://github.com/agentscope-ai/QwenPaw/pull/4416), [#4517](https://github.com/agentscope-ai/QwenPaw/pull/4517))
**模型与服务商**
- **自定义 HTTP Headers 与鉴权模式**:所有服务商支持自定义 Headers 编辑器,并可选择鉴权模式(API Key 或 Bearer Token)([#4413](https://github.com/agentscope-ai/QwenPaw/pull/4413))
- **按模型配置 Token 限制**:`max_tokens` 和 `max_input_length` 现在在设置 → 模型中按模型配置 ([#4417](https://github.com/agentscope-ai/QwenPaw/pull/4417))
**Agent 系统**
- **`/make-skill` 命令**:一条新的魔术指令,可将当前对话转化为可复用的 Skill ([#4282](https://github.com/agentscope-ai/QwenPaw/pull/4282))
- **印尼语 Agent 模板**:Agent 人设模板和 `Asia/Jakarta` 时区 ([#4287](https://github.com/agentscope-ai/QwenPaw/pull/4287))
- **定时任务超时**:可为定时任务设置执行时限(默认 120 秒)([#4425](https://github.com/agentscope-ai/QwenPaw/pull/4425))
**安全**
- **Skill 路径安全**:防止 Skill 目录操作中的路径穿越攻击 ([#4335](https://github.com/agentscope-ai/QwenPaw/pull/4335))
- **备份信任控制**:导入/恢复时验证备份完整性并弹出信任确认对话框,同时加强远程访问控制 ([#4409](https://github.com/agentscope-ai/QwenPaw/pull/4409), [#4429](https://github.com/agentscope-ai/QwenPaw/pull/4429))
- **AgentMd 路径穿越防护**:防止 Agent 记忆文件操作中的路径穿越 ([#4511](https://github.com/agentscope-ai/QwenPaw/pull/4511))
- **插件 API 认证**:插件管理接口现在需要认证才能访问 ([#4513](https://github.com/agentscope-ai/QwenPaw/pull/4513))
**频道(Channels)**
- **Matrix E2EE 验证**:支持密码和 Access Token 两种登录方式,E2EE 开关及 SAS 设备验证 ([#4120](https://github.com/agentscope-ai/QwenPaw/pull/4120))
- **Telegram 流式输出**:实时流式回复,支持推理过程指示 ([#4318](https://github.com/agentscope-ai/QwenPaw/pull/4318))
- **钉钉流式卡片**:通过 AI Card 实时流式回复(仅 Card 消息模式)([#4420](https://github.com/agentscope-ai/QwenPaw/pull/4420))
- **飞书 CardKit 流式输出**:通过 CardKit 实时流式回复 ([#4480](https://github.com/agentscope-ai/QwenPaw/pull/4480))
## 🔄 变更
- **控制台顶栏导航**:将顶栏链接整合为"文档"下拉菜单,包含教程、功能演示、更新日志和常见问题 ([#3875](https://github.com/agentscope-ai/QwenPaw/pull/3875))
- **飞书/Lark 扫码域名选择**:二维码接口支持查询参数传入域名 ([#4504](https://github.com/agentscope-ai/QwenPaw/pull/4504))
- **流式任务超时**:长时间运行的流式 Agent 任务超时从 300 秒提升至 1800 秒 ([#4510](https://github.com/agentscope-ai/QwenPaw/pull/4510))
## 🐛 修复
**频道(Channels)**
- **企业微信重复占位符**:快速连续消息时不再发送多个"思考中…"流式占位符 ([#4427](https://github.com/agentscope-ai/QwenPaw/pull/4427))
- **微信轮询线程关闭**:修复微信轮询线程退出时崩溃及错误时紧密循环的问题 ([#4490](https://github.com/agentscope-ai/QwenPaw/pull/4490))
- **QQ 频道重连风暴**:IP 白名单拒绝时不再高频重连 ([#4503](https://github.com/agentscope-ai/QwenPaw/pull/4503))
**Skills**
- **QA Agent 文档打包**:QA agent 现在在所有安装方式(pip、Docker、桌面端)下均可正常工作——此前可能缺少部分文档文件 ([#4280](https://github.com/agentscope-ai/QwenPaw/pull/4280))
- **Skill Hub URL 校验**:修复带 `www.` 前缀的 URL 无法导入 Skill 的问题 ([#4359](https://github.com/agentscope-ai/QwenPaw/pull/4359))
**模型服务商**
- **按模型限速**:某个模型触发限速后不再影响其他模型的请求 ([#4487](https://github.com/agentscope-ai/QwenPaw/pull/4487))
- **按模型 Token 用量**:Token 用量汇总新增按模型维度的输入/输出 Token 细分 ([#4476](https://github.com/agentscope-ai/QwenPaw/pull/4476))
**控制台与界面**
- **SSE 连接泄漏**:修复页面跳转时 SSE 连接未关闭的问题 ([#4488](https://github.com/agentscope-ai/QwenPaw/pull/4488))
- **定时任务校验错误**:创建/更新定时任务时返回具体的本地化错误提示,不再显示通用服务器错误 ([#4495](https://github.com/agentscope-ai/QwenPaw/pull/4495))
- **会话记忆持久化**:`/mission` 和 `/skill` 信息响应现持久化到会话记忆,页面刷新后不再丢失 ([#4523](https://github.com/agentscope-ai/QwenPaw/pull/4523))
## 📝 文档
- **网站功能演示**:文档页新增功能演示画廊,提供 Skills、Doctor 和 Mission 模式的演示视频 ([#4507](https://github.com/agentscope-ai/QwenPaw/pull/4507))
+60
View File
@@ -0,0 +1,60 @@
## ✨ Added
**Desktop & IDE**
- **Tauri 2.x Desktop App**: New Tauri-based native desktop app for macOS and Windows ([#3813](https://github.com/agentscope-ai/QwenPaw/pull/3813))
- **Coding Mode**: New Web IDE with a three-panel layout — file tree, tabbed editor with inline diff review, and a Git panel for branching, staging, and committing ([#4578](https://github.com/agentscope-ai/QwenPaw/pull/4578), [#4671](https://github.com/agentscope-ai/QwenPaw/pull/4671))
**Skills & Providers**
- **Skill Market**: Browse and install skills from multiple providers (Aliyun, ClawHub, ModelScope) via a new Skill Market page with cross-provider search ([#4518](https://github.com/agentscope-ai/QwenPaw/pull/4518), [#4623](https://github.com/agentscope-ai/QwenPaw/pull/4623))
- **OpenCode Go Provider**: OpenCode and OpenCode Go now share a single provider with switchable API endpoints ([#4536](https://github.com/agentscope-ai/QwenPaw/pull/4536), [#4549](https://github.com/agentscope-ai/QwenPaw/pull/4549))
- **Browser Headless Warning**: Headless browser launches now include a warning with instructions to switch to headed mode if verification pages appear ([#4603](https://github.com/agentscope-ai/QwenPaw/pull/4603))
**Agent System**
- **Background Task Timeout**: `submit_to_agent` now accepts a `task_timeout` parameter, also available via the CLI `--task-timeout` flag ([#4547](https://github.com/agentscope-ai/QwenPaw/pull/4547))
- **File Block Context**: File blocks in message content are now processed and token-counted alongside image, audio, and video blocks ([#4567](https://github.com/agentscope-ai/QwenPaw/pull/4567))
- **Tool Guard Deny Feedback**: When a user denies a tool call, the agent receives explicit instructions not to retry or attempt alternatives ([#4569](https://github.com/agentscope-ai/QwenPaw/pull/4569))
- **Isolated Cron Sessions**: Non-shared cron jobs now execute with clean context while history accumulates in a unified per-job session ([#4602](https://github.com/agentscope-ai/QwenPaw/pull/4602))
**Chat & Console**
- **File Download on Desktop**: Clicking file cards in chat now works correctly in the pywebview desktop app ([#4566](https://github.com/agentscope-ai/QwenPaw/pull/4566))
- **Chat Input Draft Persistence**: Chat input text and cursor position are saved and restored across page navigation ([#4598](https://github.com/agentscope-ai/QwenPaw/pull/4598))
- **Memory Summary in Chat History**: Chat history now includes the memory summary ([#4658](https://github.com/agentscope-ai/QwenPaw/pull/4658))
**Channels**
- **Unified Access Control**: Per-channel whitelist / blacklist / pending-approval system with a console UI for managing user access across all channels ([#4565](https://github.com/agentscope-ai/QwenPaw/pull/4565))
- **QQ Tool Guard Approval Card**: Interactive keyboard-button cards for approve / deny actions in QQ channel ([#4667](https://github.com/agentscope-ai/QwenPaw/pull/4667))
## 🔄 Changed
- **Plugin Manager UI**: Redesigned plugin manager page with i18n-aware descriptions, kind filters, name search, and auto-reload after install / uninstall ([#4545](https://github.com/agentscope-ai/QwenPaw/pull/4545), [#4588](https://github.com/agentscope-ai/QwenPaw/pull/4588))
- **Skill Content Validation**: Skills imported from zip or saved via the editor are now validated before being accepted ([#4591](https://github.com/agentscope-ai/QwenPaw/pull/4591))
- **Console UI Refresh**: Updated header navigation layout and Environments & Security settings pages ([#4654](https://github.com/agentscope-ai/QwenPaw/pull/4654), [#4657](https://github.com/agentscope-ai/QwenPaw/pull/4657))
## 🐛 Fixed
**Channels**
- **WeChat Message Reliability**: Added content-based dedup to catch duplicates across polls; skip sends on expired `context_token`; report accurate failures for API-initiated messages ([#4576](https://github.com/agentscope-ai/QwenPaw/pull/4576), [#4597](https://github.com/agentscope-ai/QwenPaw/pull/4597), [#4618](https://github.com/agentscope-ai/QwenPaw/pull/4618), [#4627](https://github.com/agentscope-ai/QwenPaw/pull/4627))
- **DingTalk Chinese Filenames**: Percent-encoded Chinese filenames in file sends are now decoded correctly ([#4600](https://github.com/agentscope-ai/QwenPaw/pull/4600))
- **DingTalk DM Webhook Key**: DM webhook store keys now include `sender_id` to prevent collision when different conversations share the same `conversation_id` suffix ([#4665](https://github.com/agentscope-ai/QwenPaw/pull/4665))
**Console & UI**
- **MCP Client Key Routing**: Fixed routing for MCP client keys containing `/` ([#4560](https://github.com/agentscope-ai/QwenPaw/pull/4560))
- **QwenPaw Pet**: Fixed Windows compatibility, pet stuck in Done state on consecutive conversations, and changed auto-start default to opt-in ([#4564](https://github.com/agentscope-ai/QwenPaw/pull/4564), [#4626](https://github.com/agentscope-ai/QwenPaw/pull/4626))
- **Dark Mode Visibility**: Fixed invisible plan panel header and pet import drop zone in dark mode ([#4570](https://github.com/agentscope-ai/QwenPaw/pull/4570), [#4599](https://github.com/agentscope-ai/QwenPaw/pull/4599))
- **Whisper Speech Button**: Chat page now waits for the Whisper provider check before showing the speech button, preventing a brief flash of browser speech when Whisper is configured ([#4601](https://github.com/agentscope-ai/QwenPaw/pull/4601))
**Providers & Security**
- **Proxy Client IP**: Auth bypass whitelist now resolves the real client IP instead of using the proxy's address ([#4562](https://github.com/agentscope-ai/QwenPaw/pull/4562))
- **Gemini `max_tokens`**: The Gemini provider now correctly maps `max_tokens` to `max_output_tokens` ([#4621](https://github.com/agentscope-ai/QwenPaw/pull/4621))
## 🧪 Testing
- **Integration Test Suite**: Refactored and expanded integration tests with broader coverage ([#4561](https://github.com/agentscope-ai/QwenPaw/pull/4561))
+60
View File
@@ -0,0 +1,60 @@
## ✨ 新增功能
**桌面端与 IDE**
- **Tauri 2.x 桌面应用**:基于 Tauri 的全新原生桌面应用,支持 macOS 和 Windows ([#3813](https://github.com/agentscope-ai/QwenPaw/pull/3813))
- **Coding 模式**:全新 Web IDE,三栏布局——文件树、带行内 Diff 预览的多标签编辑器,以及集成分支管理、暂存和提交的 Git 面板 ([#4578](https://github.com/agentscope-ai/QwenPaw/pull/4578), [#4671](https://github.com/agentscope-ai/QwenPaw/pull/4671))
**技能与服务商**
- **技能市场**:新增技能市场页面,可从 Aliyun、ClawHub、ModelScope 等多个来源浏览、搜索和安装技能 ([#4518](https://github.com/agentscope-ai/QwenPaw/pull/4518), [#4623](https://github.com/agentscope-ai/QwenPaw/pull/4623))
- **OpenCode Go 服务商**:OpenCode 与 OpenCode Go 统一为同一个服务商,可切换 API 端点 ([#4536](https://github.com/agentscope-ai/QwenPaw/pull/4536), [#4549](https://github.com/agentscope-ai/QwenPaw/pull/4549))
- **无头浏览器验证提醒**:无头模式下遇到验证页面时,会提示用户切换到有界面模式 ([#4603](https://github.com/agentscope-ai/QwenPaw/pull/4603))
**Agent 系统**
- **后台任务超时**:`submit_to_agent` 新增 `task_timeout` 参数,CLI 同步新增 `--task-timeout` 选项 ([#4547](https://github.com/agentscope-ai/QwenPaw/pull/4547))
- **文件块上下文**:消息中的文件块现在和图片、音频、视频一样纳入上下文处理和 Token 计数 ([#4567](https://github.com/agentscope-ai/QwenPaw/pull/4567))
- **工具审批拒绝反馈**:用户拒绝工具调用后,Agent 会收到明确指令,不再重试或换用其他方案 ([#4569](https://github.com/agentscope-ai/QwenPaw/pull/4569))
- **定时任务隔离执行**:非共享定时任务在独立的干净上下文中运行,历史记录则持续累积在同一会话中 ([#4602](https://github.com/agentscope-ai/QwenPaw/pull/4602))
**聊天与控制台**
- **桌面端文件下载**:pywebview 桌面应用中,点击聊天文件卡片可正常下载 ([#4566](https://github.com/agentscope-ai/QwenPaw/pull/4566))
- **聊天输入草稿保存**:切换页面时自动保存输入框文本和光标位置,返回后恢复 ([#4598](https://github.com/agentscope-ai/QwenPaw/pull/4598))
- **聊天历史记忆摘要**:聊天历史现在包含记忆摘要 ([#4658](https://github.com/agentscope-ai/QwenPaw/pull/4658))
**频道**
- **统一访问控制**:支持按频道配置白名单/黑名单/待审批策略,并提供控制台界面统一管理各频道的用户权限 ([#4565](https://github.com/agentscope-ai/QwenPaw/pull/4565))
- **QQ 工具审批交互卡片**:QQ 频道中的工具审批支持键盘按钮卡片,可直接点击批准或拒绝 ([#4667](https://github.com/agentscope-ai/QwenPaw/pull/4667))
## 🔄 变更
- **插件管理器界面**:插件管理页面优化,支持多语言描述、按类型筛选、名称搜索,安装或卸载后自动刷新 ([#4545](https://github.com/agentscope-ai/QwenPaw/pull/4545), [#4588](https://github.com/agentscope-ai/QwenPaw/pull/4588))
- **技能内容校验**:从 zip 导入或通过编辑器保存的技能,保存前会进行内容校验 ([#4591](https://github.com/agentscope-ai/QwenPaw/pull/4591))
- **控制台界面调整**:更新了顶栏导航布局,以及环境变量和安全设置页面 ([#4654](https://github.com/agentscope-ai/QwenPaw/pull/4654), [#4657](https://github.com/agentscope-ai/QwenPaw/pull/4657))
## 🐛 修复
**频道**
- **微信消息可靠性**:新增基于内容的去重,识别跨轮询的重复消息;`context_token` 过期后不再尝试发送;API 发起的消息可正确报告失败 ([#4576](https://github.com/agentscope-ai/QwenPaw/pull/4576), [#4597](https://github.com/agentscope-ai/QwenPaw/pull/4597), [#4618](https://github.com/agentscope-ai/QwenPaw/pull/4618), [#4627](https://github.com/agentscope-ai/QwenPaw/pull/4627))
- **钉钉中文文件名**:发送文件时百分号编码的中文文件名可正确解码 ([#4600](https://github.com/agentscope-ai/QwenPaw/pull/4600))
- **钉钉私聊 Webhook 冲突**:私聊 Webhook 存储键现在包含 `sender_id`,避免不同会话共用 `conversation_id` 后缀时互相覆盖 ([#4665](https://github.com/agentscope-ai/QwenPaw/pull/4665))
**控制台与界面**
- **MCP 客户端路径路由**:修复 key 中包含 `/` 的 MCP 客户端无法正确路由的问题 ([#4560](https://github.com/agentscope-ai/QwenPaw/pull/4560))
- **QwenPaw Pet**:修复 Windows 兼容性问题和连续对话后宠物卡在 Done 状态的问题,自动启动改为默认关闭 ([#4564](https://github.com/agentscope-ai/QwenPaw/pull/4564), [#4626](https://github.com/agentscope-ai/QwenPaw/pull/4626))
- **暗色模式可见性**:修复暗色模式下计划面板标题和宠物导入区域不可见的问题 ([#4570](https://github.com/agentscope-ai/QwenPaw/pull/4570), [#4599](https://github.com/agentscope-ai/QwenPaw/pull/4599))
- **Whisper 语音按钮**:聊天页面会等 Whisper 服务商检测完成后再显示语音按钮,避免短暂闪现浏览器原生语音输入 ([#4601](https://github.com/agentscope-ai/QwenPaw/pull/4601))
**服务商与安全**
- **代理 IP 识别**:认证白名单现在解析真实客户端 IP,不再使用代理地址 ([#4562](https://github.com/agentscope-ai/QwenPaw/pull/4562))
- **Gemini `max_tokens` 映射**:Gemini 服务商正确将 `max_tokens` 映射为 `max_output_tokens` ([#4621](https://github.com/agentscope-ai/QwenPaw/pull/4621))
## 🧪 测试
- **集成测试重构**:重构并扩展了集成测试,覆盖范围更广 ([#4561](https://github.com/agentscope-ai/QwenPaw/pull/4561))
+293
View File
@@ -0,0 +1,293 @@
## ✨ Added
**Core Architecture**
- **Runtime 2.0**: Refactor the kernel based on AgentScope 2.0 ([#5078](https://github.com/agentscope-ai/QwenPaw/pull/5078), [#4846](https://github.com/agentscope-ai/QwenPaw/pull/4846), [#5018](https://github.com/agentscope-ai/QwenPaw/pull/5018), [#5552](https://github.com/agentscope-ai/QwenPaw/pull/5552))
- **Agent OS Driver**: Unified management of MCP/A2A/ACP connections, encrypted credential storage, and per-call approval policy ([#5067](https://github.com/agentscope-ai/QwenPaw/pull/5067))
- **Loop Engineering**: New Loop gate design with three Loop templates: Normal Mode / Mission Mode / Goal Mode ([#5665](https://github.com/agentscope-ai/QwenPaw/pull/5665), [#5727](https://github.com/agentscope-ai/QwenPaw/pull/5727))
- **Governance & Sandbox**: Policy engine with allow/deny/ask rules, ToolGuard detectors merged into a single policy evaluation path, and a generalized governance pattern for plugins ([#5088](https://github.com/agentscope-ai/QwenPaw/pull/5088), [#5546](https://github.com/agentscope-ai/QwenPaw/pull/5546), [#5301](https://github.com/agentscope-ai/QwenPaw/pull/5301))
**Context Management**
- **Scroll Context**: SQLite-backed working history (history.db) with FTS5 full-text search, eviction index, turn-level persistence, and a sandboxed `recall_history_python` REPL for on-demand recall of older turns. 30-day default retention, auto-imports existing sessions on startup ([#5321](https://github.com/agentscope-ai/QwenPaw/pull/5321))
- **Native Compression**: Refactor using AgentScope 2.0's built-in context compression strategy ([#5309](https://github.com/agentscope-ai/QwenPaw/pull/5309))
**Long-term Memory**
- **ReMe v0.4.0 backend**: Replace the in-house memory runtime with ReMe v0.4.0 — vector store, auto-tracking, and retrieval are now handled by the ReMe v0.4.0 library ([#5349](https://github.com/agentscope-ai/QwenPaw/pull/5349))
- **Turn-based tracking**: Memory writes now happen per-turn via middleware, no longer tied to session close ([#5540](https://github.com/agentscope-ai/QwenPaw/pull/5540))
- **Usage-aware search**: Memory search now considers recency and frequency; backend-specific embedding model selection added to config UI ([#5820](https://github.com/agentscope-ai/QwenPaw/pull/5820))
- **ADBPG REST mode**: ADBPG memory backend switched to REST-only, with auto search ([#5296](https://github.com/agentscope-ai/QwenPaw/pull/5296))
- **Search UI simplification**: Cleaner memory search display, metadata fields reduced to essentials ([#5482](https://github.com/agentscope-ai/QwenPaw/pull/5482))
- **'none' backend**: Config option to fully disable the memory system for lightweight deployments ([#5732](https://github.com/agentscope-ai/QwenPaw/pull/5732))
**Terminal UI (TUI)**
- **Full-screen TUI**: A textual-based terminal chat app (`qwenpaw tui`) — streaming output, tool-call rendering, status bar, and session management all in the terminal ([#5032](https://github.com/agentscope-ai/QwenPaw/pull/5032))
- **Project-scoped sessions**: TUI can launch a Coding Mode session scoped to a specific project directory ([#5448](https://github.com/agentscope-ai/QwenPaw/pull/5448))
- **Context-usage bar**: Live token/context usage indicator in the TUI status bar ([#5673](https://github.com/agentscope-ai/QwenPaw/pull/5673))
- **ACP commands in TUI**: `/approve`, `/deny` inline approval commands + transcript panel improvements ([#5443](https://github.com/agentscope-ai/QwenPaw/pull/5443), [#5714](https://github.com/agentscope-ai/QwenPaw/pull/5714))
**Console & UI**
- **Approval card**: Larger action buttons, clearer diff preview, one-click approve/deny ([#5855](https://github.com/agentscope-ai/QwenPaw/pull/5855))
- **Long text upload**: Paste or upload large text blocks directly into the chat input ([#5854](https://github.com/agentscope-ai/QwenPaw/pull/5854))
- **Session-level tool approval**: Override global tool policy per session ([#5685](https://github.com/agentscope-ai/QwenPaw/pull/5685), [#5832](https://github.com/agentscope-ai/QwenPaw/pull/5832))
- **Non-owner banner**: Show "view-only" banner when viewing someone else's session tab ([#5664](https://github.com/agentscope-ai/QwenPaw/pull/5664))
- **Mobile layouts**: Responsive CSS + drawer-based navigation for all console pages ([#5444](https://github.com/agentscope-ai/QwenPaw/pull/5444)–[#5470](https://github.com/agentscope-ai/QwenPaw/pull/5470))
- **Tools page split view**: Enabled vs. available tools shown in separate columns; per-tool config-aware toggle ([#5509](https://github.com/agentscope-ai/QwenPaw/pull/5509), [#5604](https://github.com/agentscope-ai/QwenPaw/pull/5604))
- **Skill market improvements**: Star/download counts, enabled/disabled split, auto-sync from CDN ([#5521](https://github.com/agentscope-ai/QwenPaw/pull/5521), [#5706](https://github.com/agentscope-ai/QwenPaw/pull/5706), [#5639](https://github.com/agentscope-ai/QwenPaw/pull/5639))
- **Channels page dual layout**: Enabled channels on top, available below ([#5504](https://github.com/agentscope-ai/QwenPaw/pull/5504))
- **Coding Mode 50/50 split**: Chat panel takes half the viewport ([#5473](https://github.com/agentscope-ai/QwenPaw/pull/5473))
- **Hidden folders in project browser**: `.` prefixed directories now selectable ([#5828](https://github.com/agentscope-ai/QwenPaw/pull/5828))
- **Session drawer**: Date-grouped sessions with inline search ([#5728](https://github.com/agentscope-ai/QwenPaw/pull/5728))
- **Token usage popover**: Ring chart showing token/context usage per turn, restored for Runtime 2.0 ([#5493](https://github.com/agentscope-ai/QwenPaw/pull/5493), [#5544](https://github.com/agentscope-ai/QwenPaw/pull/5544))
- **Inbox filters**: Filter push notifications by source type ([#5522](https://github.com/agentscope-ai/QwenPaw/pull/5522))
- **Message anchors**: Jump-to-message navigator for user turns ([#5515](https://github.com/agentscope-ai/QwenPaw/pull/5515))
- **Request timeout**: Configurable HTTP timeout + AbortSignal propagation for backend calls ([#5764](https://github.com/agentscope-ai/QwenPaw/pull/5764))
**Model Providers**
- **OpenAI Response API**: New provider for the OpenAI Response API format ([#5519](https://github.com/agentscope-ai/QwenPaw/pull/5519))
- **DashScope updates**: Qwen3.7 + DeepSeek V4 added to built-in model list; `extra_body` passthrough for `generate_kwargs`; per-model thinking relay toggle ([#5646](https://github.com/agentscope-ai/QwenPaw/pull/5646), [#5491](https://github.com/agentscope-ai/QwenPaw/pull/5491), [#5687](https://github.com/agentscope-ai/QwenPaw/pull/5687), [#5730](https://github.com/agentscope-ai/QwenPaw/pull/5730))
- **GitHub Models**: Migrate to new API endpoint; support fine-grained PATs ([#5735](https://github.com/agentscope-ai/QwenPaw/pull/5735))
- **Telegram custom base URL**: `api_base_url` config for self-hosted Telegram Bot API servers ([#5651](https://github.com/agentscope-ai/QwenPaw/pull/5651))
**Channels**
- **Matrix streaming**: Edit-in-place streaming, no longer sends a new message per chunk ([#5585](https://github.com/agentscope-ai/QwenPaw/pull/5585))
- **Plugin-registered channels**: Plugins can register custom channel types with a JSON schema that auto-generates config UI ([#4693](https://github.com/agentscope-ai/QwenPaw/pull/4693))
- **Per-channel debounce toggle**: `no_text_debounce` flag so fast channels don't batch messages ([#5617](https://github.com/agentscope-ai/QwenPaw/pull/5617))
- **Slack**: Full channel implementation with multimodal attachments, thread replies, and streaming ([#5193](https://github.com/agentscope-ai/QwenPaw/pull/5193))
- **DingTalk private deploy**: `api_endpoint` config for on-prem DingTalk instances ([#5111](https://github.com/agentscope-ai/QwenPaw/pull/5111))
- **Azure Bot channel**: Azure Bot channel added as a plugin, with i18n/custom-icon/doc_url support for plugin channels ([#5849](https://github.com/agentscope-ai/QwenPaw/pull/5849))
- **Discord attachments**: Download to local `media_dir`, serve via static file route ([#5468](https://github.com/agentscope-ai/QwenPaw/pull/5468))
**Desktop**
- **Tauri migration**: Desktop build moved from Electron to Tauri — smaller binary, native webview, NSIS installer on Windows ([#5734](https://github.com/agentscope-ai/QwenPaw/pull/5734), [#4669](https://github.com/agentscope-ai/QwenPaw/pull/4669), [#4041](https://github.com/agentscope-ai/QwenPaw/pull/4041))
- **Bundled ACP runtime**: Node.js runtime + ACP modules ship inside the desktop package for out-of-box agent communication ([#5814](https://github.com/agentscope-ai/QwenPaw/pull/5814), [#5794](https://github.com/agentscope-ai/QwenPaw/pull/5794))
- **DevTools gesture**: 8× logo click opens Chromium DevTools for debugging ([#5805](https://github.com/agentscope-ai/QwenPaw/pull/5805))
**Security & Sandbox**
- **Windows AppContainer sandbox**: Code execution isolated via Windows native AppContainer API ([#5525](https://github.com/agentscope-ai/QwenPaw/pull/5525))
- **Linux bubblewrap sandbox**: Mount namespace isolation via bwrap for Linux code execution ([#5310](https://github.com/agentscope-ai/QwenPaw/pull/5310))
- **Cron tool-safety toggle**: Per-job flag to require/skip tool approval for scheduled tasks ([#5847](https://github.com/agentscope-ai/QwenPaw/pull/5847))
- **Dangerous command detection**: ToolGuard detects `find -delete` and similar destructive shell patterns ([#5843](https://github.com/agentscope-ai/QwenPaw/pull/5843))
- **Access policy**: Declarative allow/deny/ask rules evaluated per capability call
**Plugins**
- **AgentScope middleware hooks**: Plugins can register AgentScope-compatible middleware with semver versioning ([#5221](https://github.com/agentscope-ai/QwenPaw/pull/5221))
- **Version-gated catalog**: Plugin market and CDN only show plugins compatible with the running QwenPaw version ([#5661](https://github.com/agentscope-ai/QwenPaw/pull/5661))
- **Lifecycle hooks**: `on_uninstall` hook, validator fixes, and public skill-provider API for plugin authors ([#5008](https://github.com/agentscope-ai/QwenPaw/pull/5008))
**Tools**
- **`web_search` and `web_fetch`**: Built-in web search and fetch tools with product identity ([#5890](https://github.com/agentscope-ai/QwenPaw/pull/5890))
- **`grep_search` show_file option**: Add `show_file` flag to display matched file content ([#5840](https://github.com/agentscope-ai/QwenPaw/pull/5840))
- **Tool error passthrough**: Tool result error state forwarded to frontend for better UX ([#5912](https://github.com/agentscope-ai/QwenPaw/pull/5912))
**CLI**
- **`cron update`**: Edit schedule/prompt/config of existing cron jobs without delete+recreate ([#5210](https://github.com/agentscope-ai/QwenPaw/pull/5210))
**Observability**
- **Langfuse 2.0**: Trace grouping restored via hook integration; each agent loop is a Langfuse generation span ([#5511](https://github.com/agentscope-ai/QwenPaw/pull/5511))
## 🔄 Changed
- **relay_reasoning**: `preserve_thinking` renamed to `relay_reasoning`; defaults to off for DashScope to avoid duplicate reasoning in output ([#5876](https://github.com/agentscope-ai/QwenPaw/pull/5876))
- **Rate limiting**: Multi-dimensional (IP + user + endpoint) rate limiting with configurable windows ([#5738](https://github.com/agentscope-ai/QwenPaw/pull/5738))
- **Memory lifecycle**: `/compact` command reworked; new `/system_prompt` command; search state simplified to avoid stale embeddings ([#5450](https://github.com/agentscope-ai/QwenPaw/pull/5450), [#5815](https://github.com/agentscope-ai/QwenPaw/pull/5815))
- **SessionItem component**: All session renderers consolidated into one `SessionItem` component ([#5754](https://github.com/agentscope-ai/QwenPaw/pull/5754))
- **Skill UI**: SkillPool/SkillMarket components refactored; removed dead CSS ([#5753](https://github.com/agentscope-ai/QwenPaw/pull/5753), [#5532](https://github.com/agentscope-ai/QwenPaw/pull/5532))
- **Plan Mode removed**: Agent config no longer includes plan_mode; UI references cleaned up ([#5605](https://github.com/agentscope-ai/QwenPaw/pull/5605), [#5618](https://github.com/agentscope-ai/QwenPaw/pull/5618))
- **Plugin version retention**: Old plugin versions kept on disk after update; failed-load state cleaned up on next boot ([#5695](https://github.com/agentscope-ai/QwenPaw/pull/5695))
## 🐛 Fixed
**Context & Memory**
- Eviction no longer removes the active turn; graduated pressure relief prevents OOM on large tool outputs ([#5765](https://github.com/agentscope-ai/QwenPaw/pull/5765))
- Live turn anchored with a seam banner so the model knows where eviction ends ([#5871](https://github.com/agentscope-ai/QwenPaw/pull/5871))
- Evicted spans without headlines now get auto-generated labels in the index ([#5848](https://github.com/agentscope-ai/QwenPaw/pull/5848))
- Strip headline markers from HTTP history path ([#5672](https://github.com/agentscope-ai/QwenPaw/pull/5672))
- Adjust system prompt wording to stop the model from writing every observation to memory ([#5629](https://github.com/agentscope-ai/QwenPaw/pull/5629))
- Truncate oversized tool results before context insertion to prevent token overflow ([#5510](https://github.com/agentscope-ai/QwenPaw/pull/5510))
**Providers & Tool Schemas**
- OpenAI Responses API formatting and reasoning_content compatibility fixed ([#5920](https://github.com/agentscope-ai/QwenPaw/pull/5920))
- Responses API function_call names preserved correctly ([#5913](https://github.com/agentscope-ai/QwenPaw/pull/5913))
- Fix reasoning_content alignment by improving base formatter drop prediction ([#5865](https://github.com/agentscope-ai/QwenPaw/pull/5865))
- Fix provider-aware context threshold display ([#5902](https://github.com/agentscope-ai/QwenPaw/pull/5902))
- Retry on OpenAI streaming errors that include a body status code ([#5799](https://github.com/agentscope-ai/QwenPaw/pull/5799))
- Restore OpenRouter OAuth route accidentally dropped during Runtime 2.0 migration ([#5806](https://github.com/agentscope-ai/QwenPaw/pull/5806))
- `reasoning_content` field errors in streaming no longer crash the response ([#5582](https://github.com/agentscope-ai/QwenPaw/pull/5582))
- Tool schema sanitization: nullable fields, Gemini `const`, standalone `type:null` all handled ([#5549](https://github.com/agentscope-ai/QwenPaw/pull/5549), [#5827](https://github.com/agentscope-ai/QwenPaw/pull/5827), [#5545](https://github.com/agentscope-ai/QwenPaw/pull/5545))
- Inline `$ref`/`$defs` for GLM models that don't support JSON Schema references ([#5496](https://github.com/agentscope-ai/QwenPaw/pull/5496))
- Normalize MCP tool names for OpenAI API compliance; gracefully decode malformed tool input JSON ([#5485](https://github.com/agentscope-ai/QwenPaw/pull/5485), [#5486](https://github.com/agentscope-ai/QwenPaw/pull/5486))
- Empty `api_domain` or missing proto descriptors no longer cause hard crashes on Yuanbao ([#5804](https://github.com/agentscope-ai/QwenPaw/pull/5804))
- Only actually configured providers count toward the "online" indicator ([#5537](https://github.com/agentscope-ai/QwenPaw/pull/5537))
- Gemini `format_tools` override to match their expected schema format ([#5517](https://github.com/agentscope-ai/QwenPaw/pull/5517))
**Runtime & Agents**
- Interrupted turns now persist their partial state; empty cancel messages suppressed ([#5838](https://github.com/agentscope-ai/QwenPaw/pull/5838))
- `cancel_envelope` properly yielded on task cancellation ([#5674](https://github.com/agentscope-ai/QwenPaw/pull/5674))
- Workspace prompt files (`.qwenpaw.md`) and skill injection restored in system prompt assembly ([#5396](https://github.com/agentscope-ai/QwenPaw/pull/5396), [#5680](https://github.com/agentscope-ai/QwenPaw/pull/5680))
- Remove stale `language` arg from memory section call ([#5803](https://github.com/agentscope-ai/QwenPaw/pull/5803))
- `spawn_subagent` works again under Runtime 2.0 ([#5660](https://github.com/agentscope-ai/QwenPaw/pull/5660))
- Using `project_dir` without `coding_mode` enabled no longer silently proceeds ([#5640](https://github.com/agentscope-ai/QwenPaw/pull/5640))
- Self-paired tool messages (call + result from same turn) no longer dropped during message sanitation ([#5792](https://github.com/agentscope-ai/QwenPaw/pull/5792))
- SSE envelope events aligned with v1 protocol format for backward compat ([#5495](https://github.com/agentscope-ai/QwenPaw/pull/5495))
- Windows backslash paths converted to `file://` URLs; reverse parsing fixed ([#5635](https://github.com/agentscope-ai/QwenPaw/pull/5635))
- Handle `TextBlock` objects in `offload_tool_result` ([#5831](https://github.com/agentscope-ai/QwenPaw/pull/5831))
- Leading whitespace before JSON objects no longer breaks parsing ([#5766](https://github.com/agentscope-ai/QwenPaw/pull/5766), [#5841](https://github.com/agentscope-ai/QwenPaw/pull/5841))
- Content-safety image rejections no longer treated as "model can't do images" ([#5533](https://github.com/agentscope-ai/QwenPaw/pull/5533))
- Loop gate state reset on new user turn; peer-reset on continuation ([#5916](https://github.com/agentscope-ai/QwenPaw/pull/5916))
- Error envelope uses structured Error object for frontend SDK compatibility ([#5905](https://github.com/agentscope-ai/QwenPaw/pull/5905))
- `/stop` isolated by user_id to prevent cross-user task cancellation ([#5883](https://github.com/agentscope-ai/QwenPaw/pull/5883))
**Desktop**
- Python runtime download pinned to exact release URL ([#5875](https://github.com/agentscope-ai/QwenPaw/pull/5875))
- Plugin dep install no longer cascades into a storm of concurrent pip processes ([#5570](https://github.com/agentscope-ai/QwenPaw/pull/5570))
- Linux browser detection handles `env`-wrapped Exec lines in .desktop files ([#5526](https://github.com/agentscope-ai/QwenPaw/pull/5526))
- PyInstaller spec and Tauri config fixed for release packaging ([#5518](https://github.com/agentscope-ai/QwenPaw/pull/5518))
- Desktop screenshot tool now allowed in workspace governance ([#5641](https://github.com/agentscope-ai/QwenPaw/pull/5641))
**TUI**
- Fix CJK/IME composition on macOS/Linux ([#5671](https://github.com/agentscope-ai/QwenPaw/pull/5671))
- Improve approvals and warmup sessions ([#5892](https://github.com/agentscope-ai/QwenPaw/pull/5892))
**Console & Chat**
- Fix `rootSessionId` assignment in approval request routing ([#5886](https://github.com/agentscope-ai/QwenPaw/pull/5886))
- Mobile chat history drawer renders sessions correctly ([#5744](https://github.com/agentscope-ai/QwenPaw/pull/5744))
- Remove `white-space: pre-wrap` from message bubbles (caused double line breaks) ([#5596](https://github.com/agentscope-ai/QwenPaw/pull/5596))
- Preserve Markdown newlines in assistant messages ([#5538](https://github.com/agentscope-ai/QwenPaw/pull/5538))
- Route plugin market detail links through the link guard ([#5750](https://github.com/agentscope-ai/QwenPaw/pull/5750))
- Show stream completion timestamp ([#5742](https://github.com/agentscope-ai/QwenPaw/pull/5742))
- Timestamp always visible; fix double `/api` prefix in fetch URLs ([#5802](https://github.com/agentscope-ai/QwenPaw/pull/5802))
- Fix MCP access policy page layout ([#5213](https://github.com/agentscope-ai/QwenPaw/pull/5213))
- Push tool-guard approval notifications to IM channels ([#5601](https://github.com/agentscope-ai/QwenPaw/pull/5601))
- Plugin market compatibility labels now display correctly ([#5926](https://github.com/agentscope-ai/QwenPaw/pull/5926))
- Auto-enable preview mode for image files in coding session ([#5878](https://github.com/agentscope-ai/QwenPaw/pull/5878))
**MCP**
- Fix runtime approval level not properly propagated ([#5864](https://github.com/agentscope-ai/QwenPaw/pull/5864))
- Invalid MCP server configs in `agent.json` no longer crash agent startup ([#5755](https://github.com/agentscope-ai/QwenPaw/pull/5755))
**Channels**
- Split multi-segment streaming replies into separate message boxes ([#5487](https://github.com/agentscope-ai/QwenPaw/pull/5487))
- Streaming end event uses event content as text ([#5553](https://github.com/agentscope-ai/QwenPaw/pull/5553))
- Channel instance passed directly to notification path
- Matrix encrypted media downloaded via nio library ([#5059](https://github.com/agentscope-ai/QwenPaw/pull/5059))
- WeCom QR code URL extraction fixed ([#5460](https://github.com/agentscope-ai/QwenPaw/pull/5460))
- DingTalk delivery failures now surfaced to the user ([#5654](https://github.com/agentscope-ai/QwenPaw/pull/5654))
- Matrix token login failure due to duplicate auth parameters ([#5873](https://github.com/agentscope-ai/QwenPaw/pull/5873))
- Telegram typing indicator fires before consume ([#5700](https://github.com/agentscope-ai/QwenPaw/pull/5700))
**Cron**
- Run timestamps stored in the job's configured timezone ([#5783](https://github.com/agentscope-ai/QwenPaw/pull/5783))
- Cron sessions properly isolated ([#5494](https://github.com/agentscope-ai/QwenPaw/pull/5494))
- Sanitize malformed `tool_call` entries in cron history on load ([#5475](https://github.com/agentscope-ai/QwenPaw/pull/5475))
- Heartbeat timeout now configurable ([#5557](https://github.com/agentscope-ai/QwenPaw/pull/5557))
- Enabled cron jobs can be edited/deleted from the UI ([#5483](https://github.com/agentscope-ai/QwenPaw/pull/5483))
**Security & Governance**
- Fix OFF mode incorrectly triggering approval popups ([#5623](https://github.com/agentscope-ai/QwenPaw/pull/5623))
- Strict mode properly overrides ALLOW rules ([#5682](https://github.com/agentscope-ai/QwenPaw/pull/5682))
- External runner hard-block policy strengthened ([#5642](https://github.com/agentscope-ai/QwenPaw/pull/5642))
- Pet plugin approval hook was missing the `scope` param ([#5830](https://github.com/agentscope-ai/QwenPaw/pull/5830))
- Split `rm` detection/extraction to prevent `${HOME}` bypass ([#5866](https://github.com/agentscope-ai/QwenPaw/pull/5866))
- macOS sandbox config had a missing closing bracket ([#5454](https://github.com/agentscope-ai/QwenPaw/pull/5454))
**Memory**
- Heartbeat/cron requests skip auto-memory and search ([#5592](https://github.com/agentscope-ai/QwenPaw/pull/5592))
**Workspace & Tools**
- Workspace detectors cache key updated ([#5500](https://github.com/agentscope-ai/QwenPaw/pull/5500))
- Fix Playwright memory leak ([#5686](https://github.com/agentscope-ai/QwenPaw/pull/5686))
- Skill market install queue cleared between installs ([#5650](https://github.com/agentscope-ai/QwenPaw/pull/5650))
**Packaging & CI**
- Add `project.urls` to pyproject.toml for GitHub dependency graph ([#5839](https://github.com/agentscope-ai/QwenPaw/pull/5839))
- ACP version pinned to 0.3.x ([#5798](https://github.com/agentscope-ai/QwenPaw/pull/5798))
- Empty `extra_flags` expansion guarded for bash 3.2 on macOS ([#5743](https://github.com/agentscope-ai/QwenPaw/pull/5743))
- Dead bootstrap step removed from Tauri CI ([#5578](https://github.com/agentscope-ai/QwenPaw/pull/5578))
- supervisord restart limit added ([#5613](https://github.com/agentscope-ai/QwenPaw/pull/5613))
## ⚡ Performance
- `SidebarSessionList` virtualized (react-window); polling deduplicated; date formatting cached ([#5643](https://github.com/agentscope-ai/QwenPaw/pull/5643))
- Session switching no longer flashes blank; queue alert flicker resolved ([#5559](https://github.com/agentscope-ai/QwenPaw/pull/5559), [#5683](https://github.com/agentscope-ai/QwenPaw/pull/5683))
- Shutdown tasks parallelized — close time cut by ~40% ([#5469](https://github.com/agentscope-ai/QwenPaw/pull/5469))
- `send_file_to_user` caps file size to prevent memory spikes on large attachments ([#5457](https://github.com/agentscope-ai/QwenPaw/pull/5457))
## 🏗️ Infrastructure
- Desktop verification extracted into reusable composite GitHub Actions ([#5681](https://github.com/agentscope-ai/QwenPaw/pull/5681))
- Docker `init: true` added to prevent zombie accumulation ([#5649](https://github.com/agentscope-ai/QwenPaw/pull/5649))
- QwenPaw review bot auto-comments on PRs with lint/style findings ([#5736](https://github.com/agentscope-ai/QwenPaw/pull/5736))
- Windows nightly CI HTTP timeout raised; per-test hang safeguard added ([#5627](https://github.com/agentscope-ai/QwenPaw/pull/5627))
## 🧪 Testing
- Crons module: 51 unit tests covering scheduling, execution, history ([#5423](https://github.com/agentscope-ai/QwenPaw/pull/5423))
- Chats module: 38 unit tests for session CRUD and message handling ([#5422](https://github.com/agentscope-ai/QwenPaw/pull/5422))
- Frontend M2: Stores + Hooks + Control page component tests ([#5409](https://github.com/agentscope-ai/QwenPaw/pull/5409))
- Frontend M3-A: Agent hooks + Settings page tests ([#5434](https://github.com/agentscope-ai/QwenPaw/pull/5434))
- Frontend M3-B: Inbox + API module tests ([#5438](https://github.com/agentscope-ai/QwenPaw/pull/5438))
- E2E adapted for AgentScope 2.0 ([#5542](https://github.com/agentscope-ai/QwenPaw/pull/5542))
- Desktop e2e verification added to release workflow ([#5428](https://github.com/agentscope-ai/QwenPaw/pull/5428))
- Integration tests parallelized via pytest-xdist; coverage gate hardened ([#5531](https://github.com/agentscope-ai/QwenPaw/pull/5531))
- Channels module unit tests ([#5812](https://github.com/agentscope-ai/QwenPaw/pull/5812))
- Approvals module unit tests ([#5811](https://github.com/agentscope-ai/QwenPaw/pull/5811))
- Inbox module unit tests ([#5809](https://github.com/agentscope-ai/QwenPaw/pull/5809))
- Console contract-guard tests for 12 API modules ([#5807](https://github.com/agentscope-ai/QwenPaw/pull/5807))
- Console hooks + stores unit tests ([#5808](https://github.com/agentscope-ai/QwenPaw/pull/5808))
- Large session regression tests ([#5810](https://github.com/agentscope-ai/QwenPaw/pull/5810))
- Integration tests: Sprint 4.1 covering `/api/tool-calls/*` + `/api/console/chat/task` ([#5895](https://github.com/agentscope-ai/QwenPaw/pull/5895))
- Flaky test stabilization: retry decorators, dead `/api/agent` endpoint removed ([#5507](https://github.com/agentscope-ai/QwenPaw/pull/5507))
## 📖 Docs
- Architecture page added (en + zh) explaining Runtime, Driver, Workspace layers ([#5653](https://github.com/agentscope-ai/QwenPaw/pull/5653))
- TUI documentation page ([#5644](https://github.com/agentscope-ai/QwenPaw/pull/5644))
- Security docs: Sandbox and Access Policy sections ([#5621](https://github.com/agentscope-ai/QwenPaw/pull/5621), [#5678](https://github.com/agentscope-ai/QwenPaw/pull/5678))
- Context management rewritten around scroll + episodic memory model ([#5614](https://github.com/agentscope-ai/QwenPaw/pull/5614), [#5631](https://github.com/agentscope-ai/QwenPaw/pull/5631))
- v1→v2 migration guide for plugin authors ([#5752](https://github.com/agentscope-ai/QwenPaw/pull/5752))
- Roadmap and general docs updated for 2.0 ([#5610](https://github.com/agentscope-ai/QwenPaw/pull/5610), [#5461](https://github.com/agentscope-ai/QwenPaw/pull/5461))
- HiClaw renamed to AgentTeams in all practice guides ([#5636](https://github.com/agentscope-ai/QwenPaw/pull/5636))
- Blog section + SEO improvements on the website ([#5697](https://github.com/agentscope-ai/QwenPaw/pull/5697))
- Langfuse docker deployment docs updated ([#5380](https://github.com/agentscope-ai/QwenPaw/pull/5380))
- Whisper installation notes added to console docs ([#5924](https://github.com/agentscope-ai/QwenPaw/pull/5924))
- Multi-language "tools" translations aligned ([#5516](https://github.com/agentscope-ai/QwenPaw/pull/5516))
## New Contributors
- @ustc-mkh made their first contribution in [#5525](https://github.com/agentscope-ai/QwenPaw/pull/5525)
- @wfeng007 made their first contribution in [#4041](https://github.com/agentscope-ai/QwenPaw/pull/4041)
- @biaobiaobiao108 made their first contribution in [#5533](https://github.com/agentscope-ai/QwenPaw/pull/5533)
- @WujunhaoGPU made their first contribution in [#5651](https://github.com/agentscope-ai/QwenPaw/pull/5651)
- @y1y5 made their first contribution in [#5752](https://github.com/agentscope-ai/QwenPaw/pull/5752)
- @VectorPeak made their first contribution in [#5766](https://github.com/agentscope-ai/QwenPaw/pull/5766)
- @Osamaali313 made their first contribution in [#5792](https://github.com/agentscope-ai/QwenPaw/pull/5792)
- @hehuang139 made their first contribution in [#5799](https://github.com/agentscope-ai/QwenPaw/pull/5799)
- @manjieqi made their first contribution in [#5210](https://github.com/agentscope-ai/QwenPaw/pull/5210)
- @RerankerGuo made their first contribution in [#5924](https://github.com/agentscope-ai/QwenPaw/pull/5924)
**Full Changelog**: [v1.1.12.post3...v2.0.0](https://github.com/agentscope-ai/QwenPaw/compare/v1.1.12.post3...v2.0.0)
+293
View File
@@ -0,0 +1,293 @@
## ✨ 新增
**核心架构**
- **Runtime 2.0**:基于 AgentScope 2.0 对内核进行重构 ([#5078](https://github.com/agentscope-ai/QwenPaw/pull/5078), [#4846](https://github.com/agentscope-ai/QwenPaw/pull/4846), [#5018](https://github.com/agentscope-ai/QwenPaw/pull/5018), [#5552](https://github.com/agentscope-ai/QwenPaw/pull/5552))
- **Agent OS 驱动**:统一管理 MCP/A2A/ACP 连接、加密凭据存储、逐次调用审批策略 ([#5067](https://github.com/agentscope-ai/QwenPaw/pull/5067))
- **Loop Engineering**:新增 Loop 门控设计以及三个 Loop 模板:普通模式 / 任务模式 / 目标模式 ([#5665](https://github.com/agentscope-ai/QwenPaw/pull/5665), [#5727](https://github.com/agentscope-ai/QwenPaw/pull/5727))
- **治理与沙箱**:策略引擎支持 allow/deny/ask 规则,ToolGuard 检测器合并进单一策略评估路径,泛化的 governance pattern 供插件使用 ([#5088](https://github.com/agentscope-ai/QwenPaw/pull/5088), [#5546](https://github.com/agentscope-ai/QwenPaw/pull/5546), [#5301](https://github.com/agentscope-ai/QwenPaw/pull/5301))
**上下文管理**
- **Scroll Context**:SQLite 支撑的工作历史(history.db),FTS5 全文搜索、eviction index、逐轮持久化,以及沙箱内的 `recall_history_python` REPL 按需回溯旧轮次。默认 30 天保留期,启动时自动导入已有 session ([#5321](https://github.com/agentscope-ai/QwenPaw/pull/5321))
- **原生压缩**:使用 AgentScope 2.0 内置上下文压缩策略进行重构 ([#5309](https://github.com/agentscope-ai/QwenPaw/pull/5309))
**长期记忆**
- **ReMe v0.4.0 后端**:用 ReMe v0.4.0 替换自研记忆运行时 — 向量存储、自动追踪、检索统一由 ReMe v0.4.0 库处理 ([#5349](https://github.com/agentscope-ai/QwenPaw/pull/5349))
- **按轮写入**:记忆写入改为 per-turn 中间件触发,不再绑定 session 关闭 ([#5540](https://github.com/agentscope-ai/QwenPaw/pull/5540))
- **使用感知搜索**:搜索结果权重考虑时效和频次;config UI 新增 backend-specific embedding 模型选择 ([#5820](https://github.com/agentscope-ai/QwenPaw/pull/5820))
- **ADBPG REST 模式**:ADBPG 后端切换为纯 REST,支持 auto search ([#5296](https://github.com/agentscope-ai/QwenPaw/pull/5296))
- **搜索 UI 精简**:记忆搜索显示更简洁,metadata 字段裁减至关键项 ([#5482](https://github.com/agentscope-ai/QwenPaw/pull/5482))
- **'none' 后端**:配置项可完全禁用记忆系统,适用于轻量部署 ([#5732](https://github.com/agentscope-ai/QwenPaw/pull/5732))
**终端界面(TUI)**
- **全屏 TUI**:基于 textual 的终端聊天应用(`qwenpaw tui`)— 流式输出、tool-call 渲染、状态栏、session 管理全在终端完成 ([#5032](https://github.com/agentscope-ai/QwenPaw/pull/5032))
- **项目级会话**:TUI 可启动绑定特定项目目录的 Coding Mode session ([#5448](https://github.com/agentscope-ai/QwenPaw/pull/5448))
- **上下文用量条**:TUI 状态栏实时显示 token/context 用量 ([#5673](https://github.com/agentscope-ai/QwenPaw/pull/5673))
- **ACP 命令**:TUI 中 `/approve`、`/deny` 内联审批命令 + transcript 面板改进 ([#5443](https://github.com/agentscope-ai/QwenPaw/pull/5443), [#5714](https://github.com/agentscope-ai/QwenPaw/pull/5714))
**控制台与 UI**
- **审批卡片**:更大的操作按钮、更清晰的 diff 预览、一键 approve/deny ([#5855](https://github.com/agentscope-ai/QwenPaw/pull/5855))
- **长文本上传**:可在聊天输入框直接粘贴或上传大段文本 ([#5854](https://github.com/agentscope-ai/QwenPaw/pull/5854))
- **会话级工具审批**:可按 session 覆盖全局 tool policy ([#5685](https://github.com/agentscope-ai/QwenPaw/pull/5685), [#5832](https://github.com/agentscope-ai/QwenPaw/pull/5832))
- **非所有者横幅**:查看他人 session 时显示 "view-only" 提示 ([#5664](https://github.com/agentscope-ai/QwenPaw/pull/5664))
- **移动端适配**:响应式 CSS + 抽屉式导航覆盖所有控制台页面 ([#5444](https://github.com/agentscope-ai/QwenPaw/pull/5444)–[#5470](https://github.com/agentscope-ai/QwenPaw/pull/5470))
- **工具页面分栏**:已启用 vs 可用工具分两列展示;每个工具带独立配置开关 ([#5509](https://github.com/agentscope-ai/QwenPaw/pull/5509), [#5604](https://github.com/agentscope-ai/QwenPaw/pull/5604))
- **技能市场改进**:星标/下载数、启用/禁用分区、CDN 自动同步 ([#5521](https://github.com/agentscope-ai/QwenPaw/pull/5521), [#5706](https://github.com/agentscope-ai/QwenPaw/pull/5706), [#5639](https://github.com/agentscope-ai/QwenPaw/pull/5639))
- **频道页面双区域**:已启用频道在上,可用频道在下 ([#5504](https://github.com/agentscope-ai/QwenPaw/pull/5504))
- **Coding Mode 50/50 分屏**:聊天面板占一半视口 ([#5473](https://github.com/agentscope-ai/QwenPaw/pull/5473))
- **项目浏览器隐藏目录**:`.` 前缀的目录现在可选择 ([#5828](https://github.com/agentscope-ai/QwenPaw/pull/5828))
- **会话抽屉**:日期分组 + 内联搜索 ([#5728](https://github.com/agentscope-ai/QwenPaw/pull/5728))
- **Token 用量弹窗**:环形图展示每轮 token/context 用量,为 Runtime 2.0 恢复 ([#5493](https://github.com/agentscope-ai/QwenPaw/pull/5493), [#5544](https://github.com/agentscope-ai/QwenPaw/pull/5544))
- **收件箱筛选**:按来源类型过滤推送通知 ([#5522](https://github.com/agentscope-ai/QwenPaw/pull/5522))
- **消息锚点**:用户轮次跳转导航器 ([#5515](https://github.com/agentscope-ai/QwenPaw/pull/5515))
- **请求超时**:可配置 HTTP timeout + AbortSignal 传播到后端调用 ([#5764](https://github.com/agentscope-ai/QwenPaw/pull/5764))
**模型提供商**
- **OpenAI Response API**:新增 OpenAI Response API 格式的 provider ([#5519](https://github.com/agentscope-ai/QwenPaw/pull/5519))
- **DashScope 更新**:内置模型列表加入 Qwen3.7 + DeepSeek V4;`extra_body` 透传 `generate_kwargs`;按模型 thinking relay 开关 ([#5646](https://github.com/agentscope-ai/QwenPaw/pull/5646), [#5491](https://github.com/agentscope-ai/QwenPaw/pull/5491), [#5687](https://github.com/agentscope-ai/QwenPaw/pull/5687), [#5730](https://github.com/agentscope-ai/QwenPaw/pull/5730))
- **GitHub Models**:迁移到新 API endpoint;支持 fine-grained PATs ([#5735](https://github.com/agentscope-ai/QwenPaw/pull/5735))
- **Telegram 自定义 base URL**:`api_base_url` 配置项支持自建 Telegram Bot API 服务 ([#5651](https://github.com/agentscope-ai/QwenPaw/pull/5651))
**频道**
- **Matrix 流式**:edit-in-place 流式,不再每个 chunk 发新消息 ([#5585](https://github.com/agentscope-ai/QwenPaw/pull/5585))
- **插件注册频道**:插件可注册自定义 channel 类型,JSON schema 自动生成配置 UI ([#4693](https://github.com/agentscope-ai/QwenPaw/pull/4693))
- **按频道防抖开关**:`no_text_debounce` flag 让快速频道不合并消息 ([#5617](https://github.com/agentscope-ai/QwenPaw/pull/5617))
- **Slack**:完整 channel 实现,多模态附件、thread 回复、流式输出 ([#5193](https://github.com/agentscope-ai/QwenPaw/pull/5193))
- **钉钉私有部署**:`api_endpoint` 配置项支持内网钉钉实例 ([#5111](https://github.com/agentscope-ai/QwenPaw/pull/5111))
- **Azure Bot 频道**:以插件形式新增 Azure Bot 频道,支持 i18n/自定义图标/doc_url ([#5849](https://github.com/agentscope-ai/QwenPaw/pull/5849))
- **Discord 附件**:下载到本地 `media_dir`,通过 static file route 提供访问 ([#5468](https://github.com/agentscope-ai/QwenPaw/pull/5468))
**桌面端**
- **Tauri 迁移**:桌面构建从 Electron 切换到 Tauri — 更小 binary、native webview、Windows NSIS 安装包 ([#5734](https://github.com/agentscope-ai/QwenPaw/pull/5734), [#4669](https://github.com/agentscope-ai/QwenPaw/pull/4669), [#4041](https://github.com/agentscope-ai/QwenPaw/pull/4041))
- **捆绑 ACP 运行时**:Node.js runtime + ACP 模块打包进桌面包,开箱即用 agent 通信 ([#5814](https://github.com/agentscope-ai/QwenPaw/pull/5814), [#5794](https://github.com/agentscope-ai/QwenPaw/pull/5794))
- **DevTools 手势**:连击 8 次 Logo 打开 Chromium DevTools 调试 ([#5805](https://github.com/agentscope-ai/QwenPaw/pull/5805))
**安全与沙箱**
- **Windows AppContainer 沙箱**:代码执行通过 Windows 原生 AppContainer API 隔离 ([#5525](https://github.com/agentscope-ai/QwenPaw/pull/5525))
- **Linux bubblewrap 沙箱**:通过 bwrap mount namespace 隔离 Linux 代码执行 ([#5310](https://github.com/agentscope-ai/QwenPaw/pull/5310))
- **定时任务安全开关**:per-job flag 控制是否需要/跳过工具审批 ([#5847](https://github.com/agentscope-ai/QwenPaw/pull/5847))
- **危险命令检测**:ToolGuard 检测 `find -delete` 等破坏性 shell 命令 ([#5843](https://github.com/agentscope-ai/QwenPaw/pull/5843))
- **访问策略**:声明式 allow/deny/ask 规则,per capability call 评估
**插件**
- **AgentScope 中间件 hook**:插件可注册 AgentScope 兼容的 middleware,带 semver 版本管理 ([#5221](https://github.com/agentscope-ai/QwenPaw/pull/5221))
- **版本门控目录**:插件市场和 CDN 仅展示与当前 QwenPaw 版本兼容的插件 ([#5661](https://github.com/agentscope-ai/QwenPaw/pull/5661))
- **生命周期 hook**:`on_uninstall` hook、validator 修复、公开 skill-provider API 给插件作者 ([#5008](https://github.com/agentscope-ai/QwenPaw/pull/5008))
**工具**
- **`web_search` 和 `web_fetch`**:内置 web 搜索和网页抓取工具 ([#5890](https://github.com/agentscope-ai/QwenPaw/pull/5890))
- **`grep_search` show_file 选项**:新增 `show_file` 参数展示匹配文件内容 ([#5840](https://github.com/agentscope-ai/QwenPaw/pull/5840))
- **工具错误透传**:工具执行的错误状态透传至前端 ([#5912](https://github.com/agentscope-ai/QwenPaw/pull/5912))
**CLI**
- **`cron update`**:编辑已有 cron job 的 schedule/prompt/config,无需 delete+recreate ([#5210](https://github.com/agentscope-ai/QwenPaw/pull/5210))
**可观测性**
- **Langfuse 2.0**:通过 hook 集成恢复 trace 分组;每个 agent loop 对应一个 Langfuse generation span ([#5511](https://github.com/agentscope-ai/QwenPaw/pull/5511))
## 🔄 变更
- **relay_reasoning**:`preserve_thinking` 更名为 `relay_reasoning`;DashScope 默认关闭以避免输出重复 reasoning ([#5876](https://github.com/agentscope-ai/QwenPaw/pull/5876))
- **限流**:多维度(IP + user + endpoint)限流,窗口可配置 ([#5738](https://github.com/agentscope-ai/QwenPaw/pull/5738))
- **记忆生命周期**:`/compact` 命令重做;新增 `/system_prompt` 命令;搜索状态精简以避免过期 embedding ([#5450](https://github.com/agentscope-ai/QwenPaw/pull/5450), [#5815](https://github.com/agentscope-ai/QwenPaw/pull/5815))
- **SessionItem 组件**:所有 session 渲染器合并为一个 `SessionItem` 组件 ([#5754](https://github.com/agentscope-ai/QwenPaw/pull/5754))
- **技能 UI**:SkillPool/SkillMarket 组件重构;清理无用 CSS ([#5753](https://github.com/agentscope-ai/QwenPaw/pull/5753), [#5532](https://github.com/agentscope-ai/QwenPaw/pull/5532))
- **移除 Plan Mode**:agent config 不再包含 plan_mode;UI 引用已清理 ([#5605](https://github.com/agentscope-ai/QwenPaw/pull/5605), [#5618](https://github.com/agentscope-ai/QwenPaw/pull/5618))
- **插件版本保留**:更新后旧版本保留在磁盘上;加载失败状态下次启动时清理 ([#5695](https://github.com/agentscope-ai/QwenPaw/pull/5695))
## 🐛 修复
**上下文与记忆**
- Eviction 不再移除活跃轮次;graduated pressure relief 防止大 tool output 时 OOM ([#5765](https://github.com/agentscope-ai/QwenPaw/pull/5765))
- 活跃轮次用 seam banner 锚定,让模型知道 eviction 边界 ([#5871](https://github.com/agentscope-ai/QwenPaw/pull/5871))
- 无 headline 的 evicted span 自动生成标签写入 index ([#5848](https://github.com/agentscope-ai/QwenPaw/pull/5848))
- HTTP history 路径中去除 headline marker([#5672](https://github.com/agentscope-ai/QwenPaw/pull/5672))
- 调整系统提示措辞,阻止模型把每条观察都写入记忆 ([#5629](https://github.com/agentscope-ai/QwenPaw/pull/5629))
- 大 tool result 在插入 context 前截断,防止 token 溢出 ([#5510](https://github.com/agentscope-ai/QwenPaw/pull/5510))
**Provider 与工具 Schema**
- OpenAI Responses API 格式化和 reasoning_content 兼容性修复 ([#5920](https://github.com/agentscope-ai/QwenPaw/pull/5920))
- Responses API function_call 名称正确保留 ([#5913](https://github.com/agentscope-ai/QwenPaw/pull/5913))
- 修复 reasoning_content 对齐问题 ([#5865](https://github.com/agentscope-ai/QwenPaw/pull/5865))
- 修复 provider 感知的 context threshold 显示 ([#5902](https://github.com/agentscope-ai/QwenPaw/pull/5902))
- OpenAI 流式错误带 body status code 时正确重试 ([#5799](https://github.com/agentscope-ai/QwenPaw/pull/5799))
- Runtime 2.0 迁移中误删的 OpenRouter OAuth route 已恢复 ([#5806](https://github.com/agentscope-ai/QwenPaw/pull/5806))
- 流式中 `reasoning_content` 字段错误不再 crash response ([#5582](https://github.com/agentscope-ai/QwenPaw/pull/5582))
- Tool schema 清理:nullable 字段、Gemini `const`、独立 `type:null` 均已处理 ([#5549](https://github.com/agentscope-ai/QwenPaw/pull/5549), [#5827](https://github.com/agentscope-ai/QwenPaw/pull/5827), [#5545](https://github.com/agentscope-ai/QwenPaw/pull/5545))
- 为不支持 JSON Schema `$ref` 的 GLM 模型内联 `$ref`/`$defs` ([#5496](https://github.com/agentscope-ai/QwenPaw/pull/5496))
- MCP tool name 规范化以符合 OpenAI API;畸形 tool input JSON 优雅降级 ([#5485](https://github.com/agentscope-ai/QwenPaw/pull/5485), [#5486](https://github.com/agentscope-ai/QwenPaw/pull/5486))
- 空 `api_domain` 或缺失 proto descriptors 不再导致元宝崩溃 ([#5804](https://github.com/agentscope-ai/QwenPaw/pull/5804))
- 仅实际配置的 provider 计入"在线"指示器 ([#5537](https://github.com/agentscope-ai/QwenPaw/pull/5537))
- Gemini `format_tools` override 以匹配其 schema 格式要求 ([#5517](https://github.com/agentscope-ai/QwenPaw/pull/5517))
**运行时与 Agent**
- 中断的 turn 现在持久化 partial state;空 cancel 消息被抑制 ([#5838](https://github.com/agentscope-ai/QwenPaw/pull/5838))
- task 取消时 `cancel_envelope` 正确 yield([#5674](https://github.com/agentscope-ai/QwenPaw/pull/5674))
- Workspace prompt 文件(`.qwenpaw.md`)和 skill 注入在系统提示组装中恢复 ([#5396](https://github.com/agentscope-ai/QwenPaw/pull/5396), [#5680](https://github.com/agentscope-ai/QwenPaw/pull/5680))
- 移除 memory section 调用中过时的 `language` 参数([#5803](https://github.com/agentscope-ai/QwenPaw/pull/5803))
- `spawn_subagent` 在 Runtime 2.0 下恢复工作 ([#5660](https://github.com/agentscope-ai/QwenPaw/pull/5660))
- 未启用 `coding_mode` 时使用 `project_dir` 不再静默跳过 ([#5640](https://github.com/agentscope-ai/QwenPaw/pull/5640))
- 同轮自配对 tool messages(call + result)在消息清理时不再被丢弃 ([#5792](https://github.com/agentscope-ai/QwenPaw/pull/5792))
- SSE envelope 事件与 v1 协议格式对齐以保持向后兼容 ([#5495](https://github.com/agentscope-ai/QwenPaw/pull/5495))
- Windows 反斜杠路径转换为 `file://` URL;反向解析修复 ([#5635](https://github.com/agentscope-ai/QwenPaw/pull/5635))
- `offload_tool_result` 中的 `TextBlock` 对象已处理([#5831](https://github.com/agentscope-ai/QwenPaw/pull/5831))
- JSON 对象前的前导空白不再导致解析失败 ([#5766](https://github.com/agentscope-ai/QwenPaw/pull/5766), [#5841](https://github.com/agentscope-ai/QwenPaw/pull/5841))
- 内容安全拒绝的图片不再被当作"模型不支持图片" ([#5533](https://github.com/agentscope-ai/QwenPaw/pull/5533))
- Loop gate 在新用户轮次时重置状态;continuation 时 peer-reset ([#5916](https://github.com/agentscope-ai/QwenPaw/pull/5916))
- Error envelope 使用结构化 Error 对象以兼容前端 SDK ([#5905](https://github.com/agentscope-ai/QwenPaw/pull/5905))
- `/stop` 按 user_id 隔离,防止跨用户取消任务 ([#5883](https://github.com/agentscope-ai/QwenPaw/pull/5883))
**桌面端**
- Python 运行时下载固定到精确 release URL([#5875](https://github.com/agentscope-ai/QwenPaw/pull/5875))
- 插件依赖安装不再级联出大量并发 pip 进程 ([#5570](https://github.com/agentscope-ai/QwenPaw/pull/5570))
- Linux 浏览器检测处理 .desktop 文件中 `env` 包裹的 Exec 行 ([#5526](https://github.com/agentscope-ai/QwenPaw/pull/5526))
- PyInstaller spec 和 Tauri config 修复以适配 release 打包 ([#5518](https://github.com/agentscope-ai/QwenPaw/pull/5518))
- 桌面端截图工具在 workspace governance 中被允许 ([#5641](https://github.com/agentscope-ai/QwenPaw/pull/5641))
**TUI**
- 修复 macOS/Linux 下 CJK/IME 组合输入([#5671](https://github.com/agentscope-ai/QwenPaw/pull/5671))
- 改进审批流程和 warmup sessions ([#5892](https://github.com/agentscope-ai/QwenPaw/pull/5892))
**控制台与聊天**
- 审批请求路由中 `rootSessionId` 赋值修正 ([#5886](https://github.com/agentscope-ai/QwenPaw/pull/5886))
- 移动端聊天历史抽屉正确渲染 session([#5744](https://github.com/agentscope-ai/QwenPaw/pull/5744))
- 移除消息气泡的 `white-space: pre-wrap`(导致双重换行)([#5596](https://github.com/agentscope-ai/QwenPaw/pull/5596))
- assistant 消息中的 Markdown 换行保留([#5538](https://github.com/agentscope-ai/QwenPaw/pull/5538))
- 插件市场详情链接通过 link guard 路由([#5750](https://github.com/agentscope-ai/QwenPaw/pull/5750))
- 显示流式完成时间戳([#5742](https://github.com/agentscope-ai/QwenPaw/pull/5742))
- 时间戳始终可见;修复 fetch URL 中的双 `/api` 前缀 ([#5802](https://github.com/agentscope-ai/QwenPaw/pull/5802))
- MCP 访问策略页面布局修复([#5213](https://github.com/agentscope-ai/QwenPaw/pull/5213))
- 工具审批通知推送到 IM 频道 ([#5601](https://github.com/agentscope-ai/QwenPaw/pull/5601))
- 插件市场兼容性标签显示正确 ([#5926](https://github.com/agentscope-ai/QwenPaw/pull/5926))
- Coding session 中图片文件自动启用预览模式 ([#5878](https://github.com/agentscope-ai/QwenPaw/pull/5878))
**MCP**
- 修复运行时审批级未正确传播的问题 ([#5864](https://github.com/agentscope-ai/QwenPaw/pull/5864))
- `agent.json` 中无效 MCP server config 不再导致 agent 启动 crash ([#5755](https://github.com/agentscope-ai/QwenPaw/pull/5755))
**频道**
- 多段流式回复拆分为独立消息框([#5487](https://github.com/agentscope-ai/QwenPaw/pull/5487))
- 流式结束事件使用 event content 作为文本([#5553](https://github.com/agentscope-ai/QwenPaw/pull/5553))
- Channel 实例直接传入通知路径
- Matrix 加密媒体通过 nio 库下载([#5059](https://github.com/agentscope-ai/QwenPaw/pull/5059))
- WeCom 二维码 URL 提取修复([#5460](https://github.com/agentscope-ai/QwenPaw/pull/5460))
- 钉钉发送失败现在向用户暴露错误信息 ([#5654](https://github.com/agentscope-ai/QwenPaw/pull/5654))
- Matrix token 登录因重复 auth 参数失败 ([#5873](https://github.com/agentscope-ai/QwenPaw/pull/5873))
- Telegram typing 指示器在 consume 之前触发([#5700](https://github.com/agentscope-ai/QwenPaw/pull/5700))
**定时任务**
- 运行时间戳按 job 配置的时区存储([#5783](https://github.com/agentscope-ai/QwenPaw/pull/5783))
- 定时任务 session 正确隔离([#5494](https://github.com/agentscope-ai/QwenPaw/pull/5494))
- 加载时清理 cron history 中畸形的 `tool_call` 条目 ([#5475](https://github.com/agentscope-ai/QwenPaw/pull/5475))
- 心跳超时现可配置([#5557](https://github.com/agentscope-ai/QwenPaw/pull/5557))
- 已启用的 cron job 可从 UI 编辑/删除([#5483](https://github.com/agentscope-ai/QwenPaw/pull/5483))
**安全与治理**
- 修复 OFF 模式异常触发审批弹窗 ([#5623](https://github.com/agentscope-ai/QwenPaw/pull/5623))
- Strict 模式正确 override ALLOW 规则([#5682](https://github.com/agentscope-ai/QwenPaw/pull/5682))
- 外部 runner 的 hard-block 策略加强([#5642](https://github.com/agentscope-ai/QwenPaw/pull/5642))
- Pet 插件审批 hook 缺失 `scope` 参数 ([#5830](https://github.com/agentscope-ai/QwenPaw/pull/5830))
- 拆分 `rm` 检测/提取逻辑以防止 `${HOME}` 绕过 ([#5866](https://github.com/agentscope-ai/QwenPaw/pull/5866))
- macOS sandbox config 缺少闭合括号 ([#5454](https://github.com/agentscope-ai/QwenPaw/pull/5454))
**记忆**
- 心跳/定时请求跳过 auto-memory 和 search([#5592](https://github.com/agentscope-ai/QwenPaw/pull/5592))
**工作区与工具**
- Workspace detectors 缓存 key 更新([#5500](https://github.com/agentscope-ai/QwenPaw/pull/5500))
- 修复 Playwright 内存泄漏的问题 ([#5686](https://github.com/agentscope-ai/QwenPaw/pull/5686))
- 技能市场安装队列在安装间清理([#5650](https://github.com/agentscope-ai/QwenPaw/pull/5650))
**打包与 CI**
- pyproject.toml 添加 `project.urls` 以支持 GitHub 依赖图 ([#5839](https://github.com/agentscope-ai/QwenPaw/pull/5839))
- ACP 版本固定到 0.3.x([#5798](https://github.com/agentscope-ai/QwenPaw/pull/5798))
- macOS bash 3.2 下空 `extra_flags` 扩展加防护 ([#5743](https://github.com/agentscope-ai/QwenPaw/pull/5743))
- Tauri CI 中移除已废弃的 bootstrap step ([#5578](https://github.com/agentscope-ai/QwenPaw/pull/5578))
- supervisord 添加重启次数限制([#5613](https://github.com/agentscope-ai/QwenPaw/pull/5613))
## ⚡ 性能
- `SidebarSessionList` 虚拟化(react-window);轮询去重;日期格式化结果缓存 ([#5643](https://github.com/agentscope-ai/QwenPaw/pull/5643))
- Session 切换不再闪白屏;队列提醒闪烁修复 ([#5559](https://github.com/agentscope-ai/QwenPaw/pull/5559), [#5683](https://github.com/agentscope-ai/QwenPaw/pull/5683))
- 关闭流程并行化 — 关闭时间减少约 40% ([#5469](https://github.com/agentscope-ai/QwenPaw/pull/5469))
- `send_file_to_user` 限制文件大小以防大附件内存峰值 ([#5457](https://github.com/agentscope-ai/QwenPaw/pull/5457))
## 🏗️ 基础设施
- 桌面验证提取为可复用的 composite GitHub Actions ([#5681](https://github.com/agentscope-ai/QwenPaw/pull/5681))
- Docker `init: true` 防止僵尸进程累积 ([#5649](https://github.com/agentscope-ai/QwenPaw/pull/5649))
- QwenPaw review bot 自动在 PR 上评论 lint/style 发现 ([#5736](https://github.com/agentscope-ai/QwenPaw/pull/5736))
- Windows nightly CI HTTP timeout 提高;添加 per-test hang safeguard ([#5627](https://github.com/agentscope-ai/QwenPaw/pull/5627))
## 🧪 测试
- Crons 模块:51 个单元测试覆盖 scheduling、execution、history ([#5423](https://github.com/agentscope-ai/QwenPaw/pull/5423))
- Chats 模块:38 个单元测试覆盖 session CRUD 和消息处理 ([#5422](https://github.com/agentscope-ai/QwenPaw/pull/5422))
- 前端 M2:Stores + Hooks + Control 页面组件测试 ([#5409](https://github.com/agentscope-ai/QwenPaw/pull/5409))
- 前端 M3-A:Agent hooks + Settings 页面测试 ([#5434](https://github.com/agentscope-ai/QwenPaw/pull/5434))
- 前端 M3-B:Inbox + API 模块测试 ([#5438](https://github.com/agentscope-ai/QwenPaw/pull/5438))
- E2E 适配 AgentScope 2.0([#5542](https://github.com/agentscope-ai/QwenPaw/pull/5542))
- 桌面 e2e 验证加入 release workflow ([#5428](https://github.com/agentscope-ai/QwenPaw/pull/5428))
- 集成测试通过 pytest-xdist 并行化;覆盖率 gate 加严 ([#5531](https://github.com/agentscope-ai/QwenPaw/pull/5531))
- Channels 模块单元测试 ([#5812](https://github.com/agentscope-ai/QwenPaw/pull/5812))
- Approvals 模块单元测试 ([#5811](https://github.com/agentscope-ai/QwenPaw/pull/5811))
- Inbox 模块单元测试 ([#5809](https://github.com/agentscope-ai/QwenPaw/pull/5809))
- 控制台 12 个 API 模块的 contract-guard 测试 ([#5807](https://github.com/agentscope-ai/QwenPaw/pull/5807))
- 控制台 hooks + stores 单元测试 ([#5808](https://github.com/agentscope-ai/QwenPaw/pull/5808))
- 大 session 回归测试 ([#5810](https://github.com/agentscope-ai/QwenPaw/pull/5810))
- 集成测试 Sprint 4.1:覆盖 `/api/tool-calls/*` + `/api/console/chat/task` ([#5895](https://github.com/agentscope-ai/QwenPaw/pull/5895))
- Flaky test 稳定化:retry decorator、移除废弃 `/api/agent` endpoint ([#5507](https://github.com/agentscope-ai/QwenPaw/pull/5507))
## 📖 文档
- 新增架构页面(en + zh),介绍 Runtime、Driver、Workspace 各层 ([#5653](https://github.com/agentscope-ai/QwenPaw/pull/5653))
- TUI 文档页面 ([#5644](https://github.com/agentscope-ai/QwenPaw/pull/5644))
- 安全文档:Sandbox 和 Access Policy 章节 ([#5621](https://github.com/agentscope-ai/QwenPaw/pull/5621), [#5678](https://github.com/agentscope-ai/QwenPaw/pull/5678))
- 上下文管理文档围绕 scroll + episodic memory 模型重写 ([#5614](https://github.com/agentscope-ai/QwenPaw/pull/5614), [#5631](https://github.com/agentscope-ai/QwenPaw/pull/5631))
- v1→v2 插件作者迁移指南 ([#5752](https://github.com/agentscope-ai/QwenPaw/pull/5752))
- 路线图和通用文档更新至 2.0 ([#5610](https://github.com/agentscope-ai/QwenPaw/pull/5610), [#5461](https://github.com/agentscope-ai/QwenPaw/pull/5461))
- 实践指南中 HiClaw 更名为 AgentTeams ([#5636](https://github.com/agentscope-ai/QwenPaw/pull/5636))
- 网站新增博客区域 + SEO 优化 ([#5697](https://github.com/agentscope-ai/QwenPaw/pull/5697))
- Langfuse docker 部署文档更新 ([#5380](https://github.com/agentscope-ai/QwenPaw/pull/5380))
- Whisper 安装说明文档 ([#5924](https://github.com/agentscope-ai/QwenPaw/pull/5924))
- 多语言 "tools" 翻译对齐 ([#5516](https://github.com/agentscope-ai/QwenPaw/pull/5516))
## 新贡献者
- @ustc-mkh 在 [#5525](https://github.com/agentscope-ai/QwenPaw/pull/5525) 中首次贡献
- @wfeng007 在 [#4041](https://github.com/agentscope-ai/QwenPaw/pull/4041) 中首次贡献
- @biaobiaobiao108 在 [#5533](https://github.com/agentscope-ai/QwenPaw/pull/5533) 中首次贡献
- @WujunhaoGPU 在 [#5651](https://github.com/agentscope-ai/QwenPaw/pull/5651) 中首次贡献
- @y1y5 在 [#5752](https://github.com/agentscope-ai/QwenPaw/pull/5752) 中首次贡献
- @VectorPeak 在 [#5766](https://github.com/agentscope-ai/QwenPaw/pull/5766) 中首次贡献
- @Osamaali313 在 [#5792](https://github.com/agentscope-ai/QwenPaw/pull/5792) 中首次贡献
- @hehuang139 在 [#5799](https://github.com/agentscope-ai/QwenPaw/pull/5799) 中首次贡献
- @manjieqi 在 [#5210](https://github.com/agentscope-ai/QwenPaw/pull/5210) 中首次贡献
- @RerankerGuo 在 [#5924](https://github.com/agentscope-ai/QwenPaw/pull/5924) 中首次贡献
**完整变更日志**:[v1.1.12.post3...v2.0.0](https://github.com/agentscope-ai/QwenPaw/compare/v1.1.12.post3...v2.0.0)
+189
View File
@@ -0,0 +1,189 @@
## ✨ Added
**PawApp Platform**
- **PawApp SDK & Kanban App**: A new mini-app platform that lets plugins build rich interactive UIs on top of QwenPaw. Ships with a built-in Kanban task board app for project management ([#6150](https://github.com/agentscope-ai/QwenPaw/pull/6150))
**Custom Agent Modes**
- **User-editable Agent Mode**: Create and edit custom agent loop modes directly from the console — define iteration limits, stop conditions, and approval gates without touching code ([#6270](https://github.com/agentscope-ai/QwenPaw/pull/6270))
- **Oh-My-Paw Plugin**: Five ready-to-use Agent Loops (UltraQA, Ralph, Ultrawork, Autopilot, Team) for multi-agent collaboration and long-running tasks ([#5882](https://github.com/agentscope-ai/QwenPaw/pull/5882))
**Memory & Observability**
- **ReMe Light index maintenance**: Explicit index rebuild via console button or API, improved startup self-repair, and optimized Markdown chunking for large documents ([#6235](https://github.com/agentscope-ai/QwenPaw/pull/6235))
- **ReMe reliability improvements**: Runtime memory stats inspection, CJK embedding safety, and background summarizer graceful shutdown ([#6098](https://github.com/agentscope-ai/QwenPaw/pull/6098))
- **ReMe indexing safeguards**: Enhanced configuration validation and indexing stability ([#6153](https://github.com/agentscope-ai/QwenPaw/pull/6153))
- **Langfuse trace enrichment**: Traces now carry user ID, session ID, and package version for better filtering and analysis ([#5922](https://github.com/agentscope-ai/QwenPaw/pull/5922))
- **History retention config**: Scroll context retention days now configurable from the console ([#6214](https://github.com/agentscope-ai/QwenPaw/pull/6214))
**Console & Desktop**
- **Chat archiving**: Archive old conversations to keep the session list clean ([#6078](https://github.com/agentscope-ai/QwenPaw/pull/6078))
- **Drag-and-drop file upload**: Drop files directly into the chat input area in the desktop app ([#6327](https://github.com/agentscope-ai/QwenPaw/pull/6327))
- **Plugin market sorting**: Sort plugins by downloads, update time, or favorites ([#6349](https://github.com/agentscope-ai/QwenPaw/pull/6349))
- **One-click agent config copy**: Duplicate an agent configuration with a single click ([#6262](https://github.com/agentscope-ai/QwenPaw/pull/6262))
- **Configurable log rotation**: Set log file rotation limits from the configuration ([#6183](https://github.com/agentscope-ai/QwenPaw/pull/6183))
**Security & Governance**
- **Windows restricted-token sandbox**: Code execution isolated via Windows restricted tokens for an additional sandbox option ([#5931](https://github.com/agentscope-ai/QwenPaw/pull/5931))
- **Governance rules**: New governance rule definitions for finer-grained access control ([#6215](https://github.com/agentscope-ai/QwenPaw/pull/6215))
- **Sensitive file detection**: More file types detected as sensitive; global file reads now allowed by default for non-sensitive paths ([#6067](https://github.com/agentscope-ai/QwenPaw/pull/6067))
**Runtime & Multi-Agent**
- **Multi-agent startup control**: Bounded startup concurrency with partial-readiness indicator in the console ([#6198](https://github.com/agentscope-ai/QwenPaw/pull/6198))
- **Silent cron delivery**: Scheduled tasks can deliver results silently without notifications ([#6080](https://github.com/agentscope-ai/QwenPaw/pull/6080))
- **Event metadata preservation**: Plugin and extension metadata is now carried through real-time output envelopes ([#6224](https://github.com/agentscope-ai/QwenPaw/pull/6224))
- **Readiness probe**: New `/api/healthz` endpoint for health-check and container orchestration ([#6028](https://github.com/agentscope-ai/QwenPaw/pull/6028))
- **Trusted proxy auth**: Verify trusted proxies and resolve real client IPs for deployments behind load balancers ([#6030](https://github.com/agentscope-ai/QwenPaw/pull/6030))
**CLI**
- **`gh` CLI allowed in governance**: GitHub CLI commands are now permitted by the governance policy ([#6031](https://github.com/agentscope-ai/QwenPaw/pull/6031))
## 🔄 Changed
- The default ReAct loop is now modeled as a first-class `DefaultMode`, giving each mode explicit ownership of its lifecycle and gates ([#6210](https://github.com/agentscope-ai/QwenPaw/pull/6210))
- ACP slash commands decoupled from core, safety checks extracted into a standalone module, and bootstrap flow unified ([#5796](https://github.com/agentscope-ai/QwenPaw/pull/5796))
- Channel tool-call and tool-result display now have separate toggle controls ([#6233](https://github.com/agentscope-ai/QwenPaw/pull/6233))
- ToolGuard detection rules are now bridged into the governance policy engine for unified evaluation ([#6390](https://github.com/agentscope-ai/QwenPaw/pull/6390))
- `DEFAULT_USER_RULES` auto-sync no longer requires a manual whitelist ([#6025](https://github.com/agentscope-ai/QwenPaw/pull/6025))
- Tool approval button now uses `toolSource` instead of `executionLevel` for the "Always Allow" control ([#6095](https://github.com/agentscope-ai/QwenPaw/pull/6095))
- Agent reasoning optimized to reduce redundant thinking loops and duplicate tool invocations (v2.0.0.post4)
## 🐛 Fixed
**Desktop**
- Desktop app now gracefully shuts down the backend before exit, preventing lost memory and incomplete cleanup ([#6225](https://github.com/agentscope-ai/QwenPaw/pull/6225))
- Markdown links in desktop now open in the system browser instead of navigating the app window ([#6300](https://github.com/agentscope-ai/QwenPaw/pull/6300))
- Monaco editor loads from a local bundle for offline coding preview ([#6291](https://github.com/agentscope-ai/QwenPaw/pull/6291))
- WKWebView no longer pins a stale console frontend version ([#6107](https://github.com/agentscope-ai/QwenPaw/pull/6107))
- Tauri updates restricted to OSS builds only ([#6071](https://github.com/agentscope-ai/QwenPaw/pull/6071))
**Runtime & Agents**
- Reasoning content now correctly rotates on new reasoning blocks during streaming ([#6310](https://github.com/agentscope-ai/QwenPaw/pull/6310))
- Tool call arguments are streamed incrementally instead of buffering the complete response ([#6343](https://github.com/agentscope-ai/QwenPaw/pull/6343))
- Sub-agent approvals now route and resolve from the root session correctly ([#6295](https://github.com/agentscope-ai/QwenPaw/pull/6295))
- Fixed input validation failures that blocked Oh-My-Paw parallel workflows ([#6395](https://github.com/agentscope-ai/QwenPaw/pull/6395))
- Stopped tasks now wait for proper cleanup before signaling completion ([#6347](https://github.com/agentscope-ai/QwenPaw/pull/6347))
- Background chats are properly registered; legacy runner removed ([#6272](https://github.com/agentscope-ai/QwenPaw/pull/6272))
- Reasoning output and tool segments are now correctly aligned ([#6280](https://github.com/agentscope-ai/QwenPaw/pull/6280))
- Per-request model override now properly honored ([#5731](https://github.com/agentscope-ai/QwenPaw/pull/5731))
- Malformed tool-call input is surfaced to the model for self-correction ([#5761](https://github.com/agentscope-ai/QwenPaw/pull/5761))
- Doom loop thresholds fine-tuned to reduce false positives ([#6184](https://github.com/agentscope-ai/QwenPaw/pull/6184))
- Use `max_completion_tokens` for reasoning models ([#6015](https://github.com/agentscope-ai/QwenPaw/pull/6015))
- Whitespace in streaming thinking/text deltas preserved correctly ([#6166](https://github.com/agentscope-ai/QwenPaw/pull/6166))
- Images no longer stripped for multimodal models when model info lookup fails ([#6154](https://github.com/agentscope-ai/QwenPaw/pull/6154), [#6217](https://github.com/agentscope-ai/QwenPaw/pull/6217))
**Console & UI**
- Tool output copy works in all browser contexts including non-HTTPS ([#6275](https://github.com/agentscope-ai/QwenPaw/pull/6275))
- Skills list refreshes automatically after installing from the market ([#6296](https://github.com/agentscope-ai/QwenPaw/pull/6296))
- One-time tool approval is now prioritized over session-level settings ([#6357](https://github.com/agentscope-ai/QwenPaw/pull/6357))
- Inbox badge shows count for all pending approvals, not just high/critical ones ([#6391](https://github.com/agentscope-ai/QwenPaw/pull/6391))
- Stale media preview errors are cleared; relative-path images handled correctly ([#6385](https://github.com/agentscope-ai/QwenPaw/pull/6385))
- Dark mode text contrast improved for loop templates and chat history ([#5975](https://github.com/agentscope-ai/QwenPaw/pull/5975))
- Browser autofill no longer triggers on provider search input ([#6011](https://github.com/agentscope-ai/QwenPaw/pull/6011))
- Chat message queue clears correctly when a session is deleted ([#6045](https://github.com/agentscope-ai/QwenPaw/pull/6045))
- Skills page scroll loading no longer stops after the first batch ([#5968](https://github.com/agentscope-ai/QwenPaw/pull/5968))
**Governance & Security**
- Disabled audit logging is now properly honored ([#6369](https://github.com/agentscope-ai/QwenPaw/pull/6369))
- Plugin tools are unregistered on unload; ToolGuard safety checks shared correctly across contexts ([#6311](https://github.com/agentscope-ai/QwenPaw/pull/6311))
- Oh-My-Paw workflow mode isolation hardened with per-workspace instances and fork/deny-all gate fixes ([#6317](https://github.com/agentscope-ai/QwenPaw/pull/6317))
- Plugin tool defaults refresh on registration; tool type validation added ([#6313](https://github.com/agentscope-ai/QwenPaw/pull/6313))
- Tools auto-register via `@tool_descriptor` and PluginApi ([#6190](https://github.com/agentscope-ai/QwenPaw/pull/6190))
- Stale OFF-mode sandbox state properly cleared ([#6122](https://github.com/agentscope-ai/QwenPaw/pull/6122))
- Frontend tool-guard rules now bridge into policy deep scan ([#6063](https://github.com/agentscope-ai/QwenPaw/pull/6063))
- Sandbox preserves venv PATH in shell execution ([#6081](https://github.com/agentscope-ai/QwenPaw/pull/6081))
- `sandbox_enabled` switch honored in OFF-mode sandbox path ([#6109](https://github.com/agentscope-ai/QwenPaw/pull/6109))
- Sudo commands now properly ask user for permission ([#6079](https://github.com/agentscope-ai/QwenPaw/pull/6079))
**Memory**
- Automatic memory restricted to external user queries only ([#6120](https://github.com/agentscope-ai/QwenPaw/pull/6120))
- `auto_memory_interval` can be set to 0 to disable auto memory ([#6135](https://github.com/agentscope-ai/QwenPaw/pull/6135))
- Dream schedule toggle added ([#6171](https://github.com/agentscope-ai/QwenPaw/pull/6171))
- Memory summary task history properly bounded ([#6206](https://github.com/agentscope-ai/QwenPaw/pull/6206))
- Windows-safe session ID encoding for ReMe file storage ([#6022](https://github.com/agentscope-ai/QwenPaw/pull/6022))
**MCP**
- `${VAR}` headers migrated to env credential refs during driver migration ([#6091](https://github.com/agentscope-ai/QwenPaw/pull/6091))
- Legacy MCP migration made one-shot via schema watermark ([#6133](https://github.com/agentscope-ai/QwenPaw/pull/6133))
- MCP access policy updates apply immediately ([#5949](https://github.com/agentscope-ai/QwenPaw/pull/5949))
- Workspace startup no longer blocked by MCP connection timeout ([#6174](https://github.com/agentscope-ai/QwenPaw/pull/6174))
- Fallback namespace in MCP tool name sanitized for OpenAI compliance ([#6209](https://github.com/agentscope-ai/QwenPaw/pull/6209))
**CLI & Channels**
- `cron update` now preserves untouched runtime and request fields ([#6236](https://github.com/agentscope-ai/QwenPaw/pull/6236))
- SIP, Matrix, and Slack channel state properly bounded to prevent memory leaks ([#6207](https://github.com/agentscope-ai/QwenPaw/pull/6207))
- Telegram polling no longer enters 409 conflict loop ([#6005](https://github.com/agentscope-ai/QwenPaw/pull/6005))
- Bounded channel state and fire-and-forget task tracking to prevent memory leaks ([#6168](https://github.com/agentscope-ai/QwenPaw/pull/6168))
- TUI crash fixed when clicking streaming output ([#6069](https://github.com/agentscope-ai/QwenPaw/pull/6069))
**Observability**
- Langfuse trace IDs now use valid hex format ([#6277](https://github.com/agentscope-ai/QwenPaw/pull/6277))
**Other**
- Model slot override passes correctly through the console channel to the model factory ([#6304](https://github.com/agentscope-ai/QwenPaw/pull/6304))
- Local model GGUF check adapted to ModelScope SDK key change ([#6290](https://github.com/agentscope-ai/QwenPaw/pull/6290))
- Tauri entry point uses absolute imports ([#6234](https://github.com/agentscope-ai/QwenPaw/pull/6234))
- File reference check no longer crashes on OSError ([#6247](https://github.com/agentscope-ai/QwenPaw/pull/6247))
- Stale session cleaned up after goal completion ([#6086](https://github.com/agentscope-ai/QwenPaw/pull/6086))
- Stop gates reset on `/new` and `/clear` commands ([#6094](https://github.com/agentscope-ai/QwenPaw/pull/6094))
- Context limits hardened with recoverable tool-result compaction ([#6123](https://github.com/agentscope-ai/QwenPaw/pull/6123))
- GBK encoding compatibility in command execution on Windows ([#6140](https://github.com/agentscope-ai/QwenPaw/pull/6140))
- Multi-layer orphan tool-result message defense ([#5989](https://github.com/agentscope-ai/QwenPaw/pull/5989))
- Regex shorthands in tool schema patterns expanded for GBNF compatibility ([#6216](https://github.com/agentscope-ai/QwenPaw/pull/6216))
- Browser use now has a maximum wait time to prevent indefinite hangs ([#6170](https://github.com/agentscope-ai/QwenPaw/pull/6170))
- Token usage cache no longer persisted when unseeded ([#6220](https://github.com/agentscope-ai/QwenPaw/pull/6220))
- Skill-hub related memory leakage fixed ([#6208](https://github.com/agentscope-ai/QwenPaw/pull/6208))
- Redundant nvidia-smi probe removed from VRAM detection ([#6204](https://github.com/agentscope-ai/QwenPaw/pull/6204))
- Windows VBS headless launchers stay windowless with conditional UAC elevation ([#6127](https://github.com/agentscope-ai/QwenPaw/pull/6127))
- `file://` URIs in DataBlock resolved to local paths before formatting ([#6191](https://github.com/agentscope-ai/QwenPaw/pull/6191))
- Gzip-encoded JSON responses handled in download catalog ([#6106](https://github.com/agentscope-ai/QwenPaw/pull/6106))
## ⚡ Performance
- Tool call argument fragments are joined once instead of per-token reassembly ([#6346](https://github.com/agentscope-ai/QwenPaw/pull/6346))
- Synchronous I/O operations no longer block the async event loop ([#6378](https://github.com/agentscope-ai/QwenPaw/pull/6378))
- Session history migration writes batched for faster startup ([#6021](https://github.com/agentscope-ai/QwenPaw/pull/6021))
## 🧪 Testing
- E2E: tool-approval level cases added ([#6334](https://github.com/agentscope-ai/QwenPaw/pull/6334))
- E2E: agent cases adapted to the actions redesign ([#6333](https://github.com/agentscope-ai/QwenPaw/pull/6333))
- E2E: selectors adapted for v2.0.0 UI redesigns ([#6185](https://github.com/agentscope-ai/QwenPaw/pull/6185))
- Integration: access-control, fork, coding-mode, and agent-status coverage ([#6213](https://github.com/agentscope-ai/QwenPaw/pull/6213))
- Runtime/security/install regression tests ([#5813](https://github.com/agentscope-ai/QwenPaw/pull/5813))
- Console vitest with coverage in nightly full sweep ([#6194](https://github.com/agentscope-ai/QwenPaw/pull/6194))
## 🏗️ Infrastructure
- Unified release orchestrator: web release now gates on desktop build completion ([#6329](https://github.com/agentscope-ai/QwenPaw/pull/6329))
- Desktop workflows hardened with legacy dead code removed ([#6110](https://github.com/agentscope-ai/QwenPaw/pull/6110))
- CodeQL 2-shard security scan and Dependabot added ([#6027](https://github.com/agentscope-ai/QwenPaw/pull/6027))
## New Contributors
- @alvinlee518 made their first contribution in [#5922](https://github.com/agentscope-ai/QwenPaw/pull/5922)
- @Gmgge made their first contribution in [#6296](https://github.com/agentscope-ai/QwenPaw/pull/6296)
- @patrick-andstar made their first contribution in [#6357](https://github.com/agentscope-ai/QwenPaw/pull/6357)
- @splash-li made their first contribution in [#6277](https://github.com/agentscope-ai/QwenPaw/pull/6277)
- @liu6yi1 made their first contribution in [#6140](https://github.com/agentscope-ai/QwenPaw/pull/6140)
- @AaronZ345 made their first contribution in [#6080](https://github.com/agentscope-ai/QwenPaw/pull/6080)
- @Yigtwxx made their first contribution in [#6204](https://github.com/agentscope-ai/QwenPaw/pull/6204)
- @Marlin-Phone made their first contribution in [#5975](https://github.com/agentscope-ai/QwenPaw/pull/5975)
- @feng183043996 made their first contribution in [#5968](https://github.com/agentscope-ai/QwenPaw/pull/5968)
- @tadebao made their first contribution in [#5989](https://github.com/agentscope-ai/QwenPaw/pull/5989)
**Full Changelog**: [v2.0.0...v2.0.1](https://github.com/agentscope-ai/QwenPaw/compare/v2.0.0...v2.0.1)
+189
View File
@@ -0,0 +1,189 @@
## ✨ 新增
**PawApp 平台**
- **PawApp SDK 与看板应用**:全新小程序平台,允许插件在 QwenPaw 之上构建丰富的交互式 UI。内置看板任务管理应用 ([#6150](https://github.com/agentscope-ai/QwenPaw/pull/6150))
**自定义智能体模式**
- **用户可编辑 Agent Mode**:在控制台中直接创建和编辑自定义智能体循环模式 — 无需改代码即可定义迭代限制、停止条件和审批门控 ([#6270](https://github.com/agentscope-ai/QwenPaw/pull/6270))
- **Oh-My-Paw 插件**:五个开箱即用的 Agent Loop(UltraQA、Ralph、Ultrawork、Autopilot、Team),用于多智能体协作与长程任务 ([#5882](https://github.com/agentscope-ai/QwenPaw/pull/5882))
**记忆与可观测性**
- **ReMe Light 索引维护**:新增控制台按钮和 API 手动触发索引重建,改进启动自修复,优化大文档的 Markdown 分块 ([#6235](https://github.com/agentscope-ai/QwenPaw/pull/6235))
- **ReMe 可靠性改进**:运行时内存统计查看、CJK 嵌入安全、后台摘要器优雅关闭 ([#6098](https://github.com/agentscope-ai/QwenPaw/pull/6098))
- **ReMe 索引防护**:增强配置校验与索引稳定性 ([#6153](https://github.com/agentscope-ai/QwenPaw/pull/6153))
- **Langfuse 追踪增强**:追踪链路现在携带用户 ID、会话 ID 和包版本,方便过滤和分析 ([#5922](https://github.com/agentscope-ai/QwenPaw/pull/5922))
- **历史保留配置**:Scroll 上下文保留天数现可在控制台中配置 ([#6214](https://github.com/agentscope-ai/QwenPaw/pull/6214))
**控制台与桌面端**
- **对话归档**:可归档旧对话,保持会话列表整洁 ([#6078](https://github.com/agentscope-ai/QwenPaw/pull/6078))
- **拖放上传文件**:在桌面端直接拖放文件到聊天输入区域即可上传 ([#6327](https://github.com/agentscope-ai/QwenPaw/pull/6327))
- **插件市场排序**:支持按下载量、更新时间或收藏数排序插件 ([#6349](https://github.com/agentscope-ai/QwenPaw/pull/6349))
- **一键复制智能体配置**:点击即可快速复制整套 Agent 配置 ([#6262](https://github.com/agentscope-ai/QwenPaw/pull/6262))
- **可配置日志轮转**:日志文件轮转限制可在配置中设定 ([#6183](https://github.com/agentscope-ai/QwenPaw/pull/6183))
**安全与治理**
- **Windows 受限令牌沙箱**:通过 Windows 受限令牌隔离代码执行,提供额外沙箱选项 ([#5931](https://github.com/agentscope-ai/QwenPaw/pull/5931))
- **治理规则**:新增治理规则定义,实现更细粒度的访问控制 ([#6215](https://github.com/agentscope-ai/QwenPaw/pull/6215))
- **敏感文件检测**:更多文件类型被识别为敏感文件;非敏感路径默认允许全局读取 ([#6067](https://github.com/agentscope-ai/QwenPaw/pull/6067))
**运行时与多智能体**
- **多智能体启动控制**:限制启动并发数,控制台显示部分就绪指示 ([#6198](https://github.com/agentscope-ai/QwenPaw/pull/6198))
- **定时任务静默投递**:计划任务可静默投递结果,不发送通知 ([#6080](https://github.com/agentscope-ai/QwenPaw/pull/6080))
- **事件元数据传递**:插件和扩展的元数据现在可通过实时输出信封传递 ([#6224](https://github.com/agentscope-ai/QwenPaw/pull/6224))
- **就绪探针**:新增 `/api/healthz` 端点,用于健康检查和容器编排 ([#6028](https://github.com/agentscope-ai/QwenPaw/pull/6028))
- **可信代理认证**:验证可信代理并解析真实客户端 IP,适用于负载均衡部署 ([#6030](https://github.com/agentscope-ai/QwenPaw/pull/6030))
**CLI**
- **治理中允许 `gh` CLI**:GitHub CLI 命令现在被治理策略允许 ([#6031](https://github.com/agentscope-ai/QwenPaw/pull/6031))
## 🔄 变更
- 默认 ReAct 循环现在建模为一等公民 `DefaultMode`,每个模式拥有其生命周期和门控的所有权 ([#6210](https://github.com/agentscope-ai/QwenPaw/pull/6210))
- ACP 斜杠命令与核心解耦,安全检查抽离为独立模块,引导流程统一 ([#5796](https://github.com/agentscope-ai/QwenPaw/pull/5796))
- 频道中工具调用和工具结果的显示现在有独立的开关控制 ([#6233](https://github.com/agentscope-ai/QwenPaw/pull/6233))
- ToolGuard 检测规则桥接进治理策略引擎,实现统一评估 ([#6390](https://github.com/agentscope-ai/QwenPaw/pull/6390))
- `DEFAULT_USER_RULES` 自动同步不再需要手动白名单 ([#6025](https://github.com/agentscope-ai/QwenPaw/pull/6025))
- 工具审批按钮使用 `toolSource` 代替 `executionLevel` 来控制"始终允许" ([#6095](https://github.com/agentscope-ai/QwenPaw/pull/6095))
- 优化智能体推理过程,减少冗余思考循环和重复工具调用 (v2.0.0.post4)
## 🐛 修复
**桌面端**
- 桌面应用退出前现在会优雅关闭后端,避免记忆丢失和清理不完整 ([#6225](https://github.com/agentscope-ai/QwenPaw/pull/6225))
- 桌面端 Markdown 链接现在在系统浏览器中打开,而非在应用窗口内跳转 ([#6300](https://github.com/agentscope-ai/QwenPaw/pull/6300))
- Monaco 编辑器从本地包加载,支持离线代码预览 ([#6291](https://github.com/agentscope-ai/QwenPaw/pull/6291))
- WKWebView 不再固定使用过期的控制台前端版本 ([#6107](https://github.com/agentscope-ai/QwenPaw/pull/6107))
- Tauri 更新限制为仅 OSS 构建 ([#6071](https://github.com/agentscope-ai/QwenPaw/pull/6071))
**运行时与智能体**
- 流式输出中推理内容在新推理块开始时正确轮转 ([#6310](https://github.com/agentscope-ai/QwenPaw/pull/6310))
- 工具调用参数改为增量流式传输,不再缓冲完整响应 ([#6343](https://github.com/agentscope-ai/QwenPaw/pull/6343))
- 子智能体审批请求现在正确路由到根会话并解析 ([#6295](https://github.com/agentscope-ai/QwenPaw/pull/6295))
- 修复了因输入校验失败导致 Oh-My-Paw 并行工作流无法启动的问题 ([#6395](https://github.com/agentscope-ai/QwenPaw/pull/6395))
- 停止的任务现在等待清理完成后再发出完成信号 ([#6347](https://github.com/agentscope-ai/QwenPaw/pull/6347))
- 后台对话现在正确注册;移除遗留 runner ([#6272](https://github.com/agentscope-ai/QwenPaw/pull/6272))
- 推理输出和工具段现在正确对齐 ([#6280](https://github.com/agentscope-ai/QwenPaw/pull/6280))
- 按请求的模型覆盖现在正确执行 ([#5731](https://github.com/agentscope-ai/QwenPaw/pull/5731))
- 畸形的工具调用输入现在会回传给模型自行修正 ([#5761](https://github.com/agentscope-ai/QwenPaw/pull/5761))
- 死循环检测阈值微调,减少误报 ([#6184](https://github.com/agentscope-ai/QwenPaw/pull/6184))
- 推理模型使用 `max_completion_tokens` ([#6015](https://github.com/agentscope-ai/QwenPaw/pull/6015))
- 流式 thinking/text 增量中的空白正确保留 ([#6166](https://github.com/agentscope-ai/QwenPaw/pull/6166))
- 多模态模型在模型信息查询失败时不再错误剥离图片 ([#6154](https://github.com/agentscope-ai/QwenPaw/pull/6154), [#6217](https://github.com/agentscope-ai/QwenPaw/pull/6217))
**控制台与 UI**
- 工具输出复制在所有浏览器环境下均可用,包括非 HTTPS ([#6275](https://github.com/agentscope-ai/QwenPaw/pull/6275))
- 从市场安装技能后,技能列表自动刷新 ([#6296](https://github.com/agentscope-ai/QwenPaw/pull/6296))
- 一次性工具审批优先于会话级设置 ([#6357](https://github.com/agentscope-ai/QwenPaw/pull/6357))
- 收件箱徽章显示所有待处理审批的数量,而不仅是高/关键级别 ([#6391](https://github.com/agentscope-ai/QwenPaw/pull/6391))
- 过期的媒体预览错误被正确清除;相对路径图片正确处理 ([#6385](https://github.com/agentscope-ai/QwenPaw/pull/6385))
- 暗色模式下循环模板和聊天历史的文本对比度改善 ([#5975](https://github.com/agentscope-ai/QwenPaw/pull/5975))
- 模型提供商搜索框不再被浏览器自动填充 ([#6011](https://github.com/agentscope-ai/QwenPaw/pull/6011))
- 删除会话时消息队列正确清理 ([#6045](https://github.com/agentscope-ai/QwenPaw/pull/6045))
- 技能页面滚动加载不再在首批后停止 ([#5968](https://github.com/agentscope-ai/QwenPaw/pull/5968))
**治理与安全**
- 禁用的审计日志现在被正确执行 ([#6369](https://github.com/agentscope-ai/QwenPaw/pull/6369))
- 插件卸载时工具正确注销;ToolGuard 安全检查在各上下文间正确共享 ([#6311](https://github.com/agentscope-ai/QwenPaw/pull/6311))
- Oh-My-Paw 工作流模式隔离加固,修复了 per-workspace 实例化和 fork/deny-all 门控问题 ([#6317](https://github.com/agentscope-ai/QwenPaw/pull/6317))
- 插件工具默认值在注册时刷新;新增工具类型校验 ([#6313](https://github.com/agentscope-ai/QwenPaw/pull/6313))
- 工具可通过 `@tool_descriptor` 和 PluginApi 自动注册 ([#6190](https://github.com/agentscope-ai/QwenPaw/pull/6190))
- OFF 模式下过期沙箱状态正确清除 ([#6122](https://github.com/agentscope-ai/QwenPaw/pull/6122))
- 前端 tool-guard 规则桥接进策略深度扫描 ([#6063](https://github.com/agentscope-ai/QwenPaw/pull/6063))
- 沙箱执行中正确保留 venv PATH ([#6081](https://github.com/agentscope-ai/QwenPaw/pull/6081))
- OFF 模式沙箱路径正确执行 `sandbox_enabled` 开关 ([#6109](https://github.com/agentscope-ai/QwenPaw/pull/6109))
- sudo 命令现在正确询问用户权限 ([#6079](https://github.com/agentscope-ai/QwenPaw/pull/6079))
**记忆**
- 自动记忆仅对外部用户查询触发 ([#6120](https://github.com/agentscope-ai/QwenPaw/pull/6120))
- `auto_memory_interval` 可设为 0 以禁用自动记忆 ([#6135](https://github.com/agentscope-ai/QwenPaw/pull/6135))
- 新增 Dream 计划开关 ([#6171](https://github.com/agentscope-ai/QwenPaw/pull/6171))
- 记忆摘要任务历史正确限制边界 ([#6206](https://github.com/agentscope-ai/QwenPaw/pull/6206))
- ReMe 文件存储的 Windows 安全会话 ID 编码 ([#6022](https://github.com/agentscope-ai/QwenPaw/pull/6022))
**MCP**
- `${VAR}` 头在驱动迁移期间迁移为 env 凭据引用 ([#6091](https://github.com/agentscope-ai/QwenPaw/pull/6091))
- 遗留 MCP 迁移通过 schema 水印改为一次性执行 ([#6133](https://github.com/agentscope-ai/QwenPaw/pull/6133))
- MCP 访问策略更新立即生效 ([#5949](https://github.com/agentscope-ai/QwenPaw/pull/5949))
- MCP 连接超时不再阻塞工作区启动 ([#6174](https://github.com/agentscope-ai/QwenPaw/pull/6174))
- MCP 工具名回退命名空间消毒以符合 OpenAI 约束 ([#6209](https://github.com/agentscope-ai/QwenPaw/pull/6209))
**CLI 与频道**
- `cron update` 现在保留未修改的运行时和请求字段 ([#6236](https://github.com/agentscope-ai/QwenPaw/pull/6236))
- SIP、Matrix 和 Slack 频道状态正确限制边界,防止内存泄漏 ([#6207](https://github.com/agentscope-ai/QwenPaw/pull/6207))
- Telegram 轮询不再进入 409 冲突循环 ([#6005](https://github.com/agentscope-ai/QwenPaw/pull/6005))
- 频道状态绑定和后台任务跟踪防止内存泄漏 ([#6168](https://github.com/agentscope-ai/QwenPaw/pull/6168))
- TUI 点击流式输出不再崩溃 ([#6069](https://github.com/agentscope-ai/QwenPaw/pull/6069))
**可观测性**
- Langfuse trace ID 现在使用合法的 hex 格式 ([#6277](https://github.com/agentscope-ai/QwenPaw/pull/6277))
**其他**
- 模型槽位覆盖正确通过控制台频道传递到模型工厂 ([#6304](https://github.com/agentscope-ai/QwenPaw/pull/6304))
- 本地模型 GGUF 检测适配 ModelScope SDK 字段变更 ([#6290](https://github.com/agentscope-ai/QwenPaw/pull/6290))
- Tauri 入口改为绝对导入 ([#6234](https://github.com/agentscope-ai/QwenPaw/pull/6234))
- 文件引用检查不再因 OSError 崩溃 ([#6247](https://github.com/agentscope-ai/QwenPaw/pull/6247))
- 目标完成后过期会话正确清理 ([#6086](https://github.com/agentscope-ai/QwenPaw/pull/6086))
- `/new` 和 `/clear` 命令时停止门控正确重置 ([#6094](https://github.com/agentscope-ai/QwenPaw/pull/6094))
- 上下文限制加固,可恢复的工具结果压缩 ([#6123](https://github.com/agentscope-ai/QwenPaw/pull/6123))
- Windows 下命令执行 GBK 编码兼容 ([#6140](https://github.com/agentscope-ai/QwenPaw/pull/6140))
- 多层孤儿 tool-result 消息防御 ([#5989](https://github.com/agentscope-ai/QwenPaw/pull/5989))
- 工具 schema 中的正则简写展开以兼容 GBNF ([#6216](https://github.com/agentscope-ai/QwenPaw/pull/6216))
- 浏览器操作新增最大等待时间,防止无限挂起 ([#6170](https://github.com/agentscope-ai/QwenPaw/pull/6170))
- 未初始化的 token 使用缓存不再在关闭时持久化 ([#6220](https://github.com/agentscope-ai/QwenPaw/pull/6220))
- Skill-hub 相关内存泄漏修复 ([#6208](https://github.com/agentscope-ai/QwenPaw/pull/6208))
- VRAM 检测移除冗余的 nvidia-smi 探测 ([#6204](https://github.com/agentscope-ai/QwenPaw/pull/6204))
- Windows VBS headless launcher 在条件性 UAC 提升下保持无窗口 ([#6127](https://github.com/agentscope-ai/QwenPaw/pull/6127))
- DataBlock 中的 `file://` URI 在格式化前解析为本地路径 ([#6191](https://github.com/agentscope-ai/QwenPaw/pull/6191))
- 下载目录正确处理 gzip 编码的 JSON 响应 ([#6106](https://github.com/agentscope-ai/QwenPaw/pull/6106))
## ⚡ 性能
- 工具调用参数片段一次性拼接,避免逐 token 重新组装 ([#6346](https://github.com/agentscope-ai/QwenPaw/pull/6346))
- 同步 I/O 操作不再阻塞异步事件循环 ([#6378](https://github.com/agentscope-ai/QwenPaw/pull/6378))
- 会话历史迁移写入批量化,加速启动 ([#6021](https://github.com/agentscope-ai/QwenPaw/pull/6021))
## 🧪 测试
- E2E:新增工具审批级别测试用例 ([#6334](https://github.com/agentscope-ai/QwenPaw/pull/6334))
- E2E:智能体用例适配 actions 重新设计 ([#6333](https://github.com/agentscope-ai/QwenPaw/pull/6333))
- E2E:选择器适配 v2.0.0 UI 重新设计 ([#6185](https://github.com/agentscope-ai/QwenPaw/pull/6185))
- 集成测试:覆盖访问控制、fork、编码模式和智能体状态 ([#6213](https://github.com/agentscope-ai/QwenPaw/pull/6213))
- 运行时/安全/安装回归测试 ([#5813](https://github.com/agentscope-ai/QwenPaw/pull/5813))
- 控制台 vitest 覆盖率纳入夜间全量扫描 ([#6194](https://github.com/agentscope-ai/QwenPaw/pull/6194))
## 🏗️ 基础设施
- 统一发布编排器:Web 发布现在等待桌面端构建完成后再执行 ([#6329](https://github.com/agentscope-ai/QwenPaw/pull/6329))
- 桌面端工作流加固,移除遗留死代码 ([#6110](https://github.com/agentscope-ai/QwenPaw/pull/6110))
- 新增 CodeQL 双分片安全扫描和 Dependabot ([#6027](https://github.com/agentscope-ai/QwenPaw/pull/6027))
## 新贡献者
- @alvinlee518 在 [#5922](https://github.com/agentscope-ai/QwenPaw/pull/5922) 中首次贡献
- @Gmgge 在 [#6296](https://github.com/agentscope-ai/QwenPaw/pull/6296) 中首次贡献
- @patrick-andstar 在 [#6357](https://github.com/agentscope-ai/QwenPaw/pull/6357) 中首次贡献
- @splash-li 在 [#6277](https://github.com/agentscope-ai/QwenPaw/pull/6277) 中首次贡献
- @liu6yi1 在 [#6140](https://github.com/agentscope-ai/QwenPaw/pull/6140) 中首次贡献
- @AaronZ345 在 [#6080](https://github.com/agentscope-ai/QwenPaw/pull/6080) 中首次贡献
- @Yigtwxx 在 [#6204](https://github.com/agentscope-ai/QwenPaw/pull/6204) 中首次贡献
- @Marlin-Phone 在 [#5975](https://github.com/agentscope-ai/QwenPaw/pull/5975) 中首次贡献
- @feng183043996 在 [#5968](https://github.com/agentscope-ai/QwenPaw/pull/5968) 中首次贡献
- @tadebao 在 [#5989](https://github.com/agentscope-ai/QwenPaw/pull/5989) 中首次贡献
**完整变更**: [v2.0.0...v2.0.1](https://github.com/agentscope-ai/QwenPaw/compare/v2.0.0...v2.0.1)