github agentscope-ai/CoPaw v0.0.7

9 hours ago

✨ 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)

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)
  • Matrix Channel: New Matrix protocol channel integration using matrix-nio, supporting text, images, video, audio, and file messages (#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)
  • 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)
  • Feishu Emoji Reaction: Automatically adds a "DONE" emoji reaction to the last Feishu reply when processing completes successfully (#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)
  • QQ Image Messages: Support for sending image messages via [Image: url] tags in agent output for both DM and group chats (#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)
  • LM Studio Provider: LM Studio added as a built-in model provider with configuration UI and documentation (#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, #1349, #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)

Console & UI

  • Workspace Drag-and-Drop: Drag-and-drop reordering for enabled system prompt files in Agent Workspace, controlling prompt file precedence (#1121)
  • Chat Model Selection: Model selector dropdown on the Chat page for switching models during conversation (#1140)
  • Agent Language Selector: Change the agent's language directly from the console Agent Config page (#1251)
  • Tool Batch Toggle: "Enable All" and "Disable All" buttons on the Tools page for batch tool management (#1112)
  • Chat URL Routing: Direct URL access to specific chat sessions via /chat/:chatId with automatic URL synchronization (#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)
  • Preserve Chat on Navigate: Chat stays mounted when switching to other pages, preserving in-progress messages, cursor position, and running state (#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)
  • 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)

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, #1330)
  • Docker Secret Directory: Added /app/working.secret to Docker layout for persistent provider settings and API keys (#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)
  • ModelScope Defaults: Updated default models to Qwen3.5-122B-A10B and GLM-5 (#1154)
  • Provider ID Conflict Resolution: Duplicate provider IDs now auto-resolve (e.g., openaiopenai-custom) instead of raising errors; connection testing disabled for custom providers (#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)

Performance

  • Async Zip Operations: Workspace zip/unzip operations now run asynchronously to prevent blocking during download and upload (#1128)
  • Async Session Load: Session load converted to async function, preventing disk operations from blocking the server (#1236)

Console, Skills & System

  • Tools Page Styling: Updated tool card hover effects, enabled/disabled states, and status indicators (#1092)
  • Container Detection: Simplified container detection logic for more reliable environment variable handling (#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)
  • Himalaya Email Skill: Updated with send/compose support via template write | template send, attachment handling documentation, and 163 mail configuration notes (#1279)
  • Memory Docs Refactor: Reorganized memory and context documentation structure, updated README links, and bumped reme-ai to 0.3.0.6b3 (#1190)
  • Model Selector Styling: Fixed model selector alignment in the chat header for consistent layout (#1309)
  • Config & Security Page Refactor: Restructured Agent Config and Security settings pages with clearer layout, improved styling, and better responsiveness (#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)
  • Discord Message Splitting: Messages exceeding Discord's 2000-character limit are automatically split at line breaks, preserving markdown code fences (#1001)
  • Channel Config Type Alignment: Matrix, Mattermost, and MQTT channel configs are now correctly typed and validated via the API (#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)
  • 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)
  • 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, #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)

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)
  • Ollama Modal Re-renders: Fixed unnecessary child component re-renders when opening the Ollama model manage modal (#1242)
  • Chat Request Deduplication: Prevented duplicate API calls when multiple components request the same chat session simultaneously (#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, #1110)
  • Contributing Guide: Fixed grammar and clarity in CONTRIBUTING_zh.md (#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)
  • Test CI: Added GitHub Actions workflow for unit and integrated tests with scripts/run_tests.py for local runs (#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)

New Contributors

Full Changelog: v0.0.6...v0.0.7

Don't miss a new CoPaw release

NewReleases is sending notifications on new releases.