feat: PineAgentsWeb 官网前端应用(Vite+React SPA)
- src/ 页面与组件、public/ 静态资源 - 工程配置:vite/tsconfig/package 依赖
This commit is contained in:
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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)).
|
||||
@@ -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))。
|
||||
@@ -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.
|
||||
@@ -0,0 +1,18 @@
|
||||
## CoPaw 正式更名为 QwenPaw
|
||||
|
||||
这是一次品牌名称焕新,也是我们迈向下一阶段开源的重要一步。
|
||||
|
||||
新的名字,更好地体现了我们正在构建的开源生态,以及我们持续推进的整体开源方向:
|
||||
|
||||
_Qwen_ — 代表和 Qwen 开源生态的融合,以及对模型侧的对焦,包括本地化模型、大小模型协同。
|
||||
|
||||
_Paw_ — 是我们初心的延续,目标是陪伴用户、成为用户可以信任的个人助手。
|
||||
|
||||
名称焕新,但在开源社区的愿景和目标始终不变:
|
||||
|
||||
- 继续打造更实用、更安全、更个性化的个人 AI 体验;
|
||||
- 继续坚持开源共建、和社区一同前行!
|
||||
|
||||
感谢大家一直以来的支持。从今天起,请大家叫我们 QwenPaw。
|
||||
|
||||
更多新进展,敬请期待。
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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)
|
||||
@@ -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) 中首次贡献
|
||||
@@ -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)
|
||||
@@ -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) 中首次贡献
|
||||
@@ -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)
|
||||
@@ -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) 中完成了首次贡献
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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))
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user