github agentscope-ai/QwenPaw v1.1.6

7 hours ago

✨ 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)
  • Agent Status API: New GET /agents/{agentId}/agent-status endpoint reporting agent runtime status, running task count, and task timestamps (#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)
  • GPT Image 2 Plugin: New tool plugin for generating images via OpenAI's GPT Image 2 API (#3911)
  • Config-Driven Agent Name: Use the configured agent profile name instead of a hardcoded default (#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)
  • 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)
  • 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, #4094)
  • Batch Skill Operations: Added Enable and Disable buttons to the skill batch operation toolbar with per-skill error reporting (#4091)
  • Mermaid Diagram Rendering: Markdown code blocks with mermaid language tag are now rendered as interactive diagrams in chat and file previews (#4146)
  • Brazilian Portuguese (pt-BR): Added full pt-BR locale support for both the Console UI and backend language settings (#4009, #4143)

Providers

  • Volcano Engine Provider: Added Volcano Engine as a built-in OpenAI-compatible provider with standard and Coding Plan endpoints (#3994)
  • DashScope Region Selection: DashScope base URL can now be modified from preset region endpoints (#4074)
  • Aliyun Token Plan Provider: Added Aliyun Token Plan as a built-in provider (#4122)
  • Anthropic Default Max Tokens: Raised default max_tokens for Anthropic-compatible models to 16,384 (#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, #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)
  • Feishu Sender Context: Feishu sender nickname is now passed to the agent environment context (#4098)
  • WeCom Interactive Approval Cards: Tool-guard approval requests in WeCom are now rendered as interactive template cards (#4112)

Security

  • Static File Path Traversal Protection: Console static file serving now rejects absolute paths to prevent path traversal bypass (#3973)
  • Rule-Level Auto Deny: Individual security rules can now be configured to automatically deny tool calls (#4046)

Skills & CLI

  • Skill Test CLI: New qwenpaw skills test command to validate skill content and run security scans (#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)

⚡ Performance

  • Console Rendering: Eliminated duplicate re-renders by stabilizing approval polling state comparisons and memoizing chat runtime options (#4052, #4110, #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)
  • QR Polling Cleanup: Immediately stop QR code polling and clear status indicators on auth completion or code expiry (#4148)

🐛 Fixed

Channels

  • WeCom Stream Keepalive: Keep the "Thinking..." placeholder stream alive with periodic refreshes to prevent stuck status indicators in WeCom (#3950)
  • WeCom Reconnect Race: Fixed double reconnect scheduling and cross-event-loop disconnect in WeCom WebSocket handling (#3963)
  • Telegram Network Retry: Added exponential backoff and controlled reconnect for transient Telegram network errors instead of silently dying (#4039)
  • WeChat Cron Buffer Flush: Flush WeChat merge buffer immediately for cron/proactive sends that bypass the normal completion path (#4106)
  • Markdown Table Splitting: Preserve markdown table structure across message chunks by repeating header and separator rows in each fragment (#4119)

Agent System

  • External Agent Timeout: Added safe default timeout (60s) for delegate_external_agent to prevent indefinite hangs (#3928)
  • Agent Config Reload: Agent config file changes now trigger a graceful reload with task draining instead of lightweight reinstantiation (#4064)
  • Agent Config Persistence: Fixed the console agent config editor dropping nested settings on save by preserving the complete config structure (#4157)

MCP

  • MCP Execution Timeout: Use sse_read_timeout as the MCP tool execution timeout instead of the shorter HTTP connect timeout (#4058, #4061)
  • MCP Client Lifecycle Leak: Fixed lifecycle-task leak where close() could skip stopping a background reconnect task (#4152)

Console & UI

  • SSE Surrogate Safety: Avoid SSE stream crash on malformed surrogate text by sanitizing non-encodable content before serialization (#3553)
  • CodeMirror Line Wrapping: Fixed line wrapping in tool call input/output blocks (#3960)
  • Default Agent Display Name: Respect custom name for the default agent in all UI surfaces (#4073)
  • File Preview Paths: Fixed redundant URL prefix stripping in file preview paths that could cause broken URLs (#4089)

Infrastructure

  • Docker Backup Restore: Correctly restore secrets on Docker volume mount points by swapping directory contents instead of renaming (#3916)
  • Audio Block Paths: Return resolved filesystem path for file:// URL audio blocks and remove redundant file handling code (#4021, #4048)
  • Log Rotation: Use RotatingFileHandler for log rotation on all platforms (#4076)
  • Loopback Proxy Bypass: Bypass proxy environment variables for loopback API health checks to prevent connection failures behind corporate proxies (#4092)
  • Conda Packaging: Restore conda packaging tools before running conda-pack to prevent broken packaging pipeline (#4093)

📝 Documentation

  • WSL2 Timeout FAQ: Added FAQ entry for handling APITimeoutError when running in WSL2 NAT mode (#4005)
  • Documentation Update: Updated website documentation to reflect new features (#4013)

🧪 Testing & CI

  • Console Unit Tests: Added Vitest setup with unit and component tests covering Chat, API layer, and shared components (#3559, #4121)
  • Integration Smoke Tests: Added app startup and settings/environment variable smoke tests (#4081)

New Contributors

Full Changelog: v1.1.5...v1.1.6

Don't miss a new QwenPaw release

NewReleases is sending notifications on new releases.