v2.0.1
agentscope-ai/QwenPawv2.0.1Jul 24, 2026by cuiyuebing
AI Summary
This release introduces the PawApp mini-app platform, custom agent loops, and enhanced governance and security features. It also brings significant improvements to the desktop app and console, alongside numerous stability fixes for memory, runtime, and MCP components.
Key Highlights
- New PawApp SDK and Kanban task board mini-app platform.
- User-editable Agent Modes and Oh-My-Paw plugin for multi-agent collaboration.
- Windows restricted-token sandbox and new governance rules.
- Drag-and-drop file upload and chat archiving in the desktop app.
- Multi-agent startup control and new `/api/healthz` readiness probe.
Breaking Changes
- Default ReAct loop is now a first-class `DefaultMode`.
- ACP slash commands decoupled from core with safety checks extracted.
- Channel tool-call and tool-result display controls separated.
- ToolGuard detection rules bridged into the governance policy engine.
- `DEFAULT_USER_RULES` auto-sync no longer requires a manual whitelist.
New Features
- PawApp SDK and Kanban App platform.
- User-editable Agent Mode creation from console.
- Oh-My-Paw plugin with five ready-to-use Agent Loops.
- ReMe index maintenance and reliability improvements.
- Chat archiving and drag-and-drop file upload.
- Governance rules and sensitive file detection.
- Multi-agent startup control and silent cron delivery.
Full Release Notes
# What's Changed
## โจ 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)