What's Changed
✨ Added
**QwenPaw Hub**
- Self-host a multi-user QwenPaw Hub with local-process or Docker runtimes, workspace-level access controls, credential management, and reverse-proxy support ([7112](https://github.com/agentscope-ai/QwenPaw/pull/7112))
**QwenPaw Data**
- Deploy QwenPaw Data as a native PawApp with a durable analysis workspace, packaged runtime, and one-command Docker Compose example ([6940](https://github.com/agentscope-ai/QwenPaw/pull/6940), [#7190](https://github.com/agentscope-ai/QwenPaw/pull/7190))
**QwenPaw Mail**
- Add an intelligent mail assistant with real-time monitoring, search, thread-aware actions, sender allow/deny rules, and human approval for unknown recipients ([6800](https://github.com/agentscope-ai/QwenPaw/pull/6800))
- Bundle and launch the Mail MCP with the desktop app ([7170](https://github.com/agentscope-ai/QwenPaw/pull/7170))
- Keep Mail tool responses readable in Chinese conversations ([7303](https://github.com/agentscope-ai/QwenPaw/pull/7303))
**Models & Providers**
- Make model setup and selection more consistent with unified provider discovery, capability-aware routing, fallback policies, and thinking controls ([6302](https://github.com/agentscope-ai/QwenPaw/pull/6302))
- Add Volcengine Agent Plan and MiMo V2.5 providers, with refreshed Volcengine catalogs ([6515](https://github.com/agentscope-ai/QwenPaw/pull/6515))
- Add prompt-cache hit and write observability to Token Usage ([7342](https://github.com/agentscope-ai/QwenPaw/pull/7342))
**QwenPaw Creator**
- Creator 1.1.0 expands image and video generation across mainstream providers and improves narrative videos by carrying planned dialogue into generation prompts ([7167](https://github.com/agentscope-ai/QwenPaw/pull/7167))
- Creator 1.1.1 adds recorded website and desktop operation, Bailian Wan3 video generation, and configurable automated video-quality checks ([7274](https://github.com/agentscope-ai/QwenPaw/pull/7274))
**Console & Workspaces**
- Organize subagent conversations into groups and surface completion and unread status ([7035](https://github.com/agentscope-ai/QwenPaw/pull/7035), [#7275](https://github.com/agentscope-ai/QwenPaw/pull/7275))
- Make background work easier to follow with a compact task list and consistent run tracking ([7083](https://github.com/agentscope-ai/QwenPaw/pull/7083), [#7319](https://github.com/agentscope-ai/QwenPaw/pull/7319))
- Show response artifacts and make generated media directly downloadable ([7161](https://github.com/agentscope-ai/QwenPaw/pull/7161), [#7036](https://github.com/agentscope-ai/QwenPaw/pull/7036))
- Select system-prompt files from the workspace UI ([7078](https://github.com/agentscope-ai/QwenPaw/pull/7078))
- Create folders and copy files from the workspace UI ([7151](https://github.com/agentscope-ai/QwenPaw/pull/7151), [#7314](https://github.com/agentscope-ai/QwenPaw/pull/7314))
- Keep project directories scoped to each session so concurrent work can use different roots safely ([6976](https://github.com/agentscope-ai/QwenPaw/pull/6976))
- Expand Token Usage with model and tool-call trends, per-Agent breakdowns, and an all-Agent view ([7207](https://github.com/agentscope-ai/QwenPaw/pull/7207), [#7219](https://github.com/agentscope-ai/QwenPaw/pull/7219))
- Auto-hide the QwenPaw OS dock for maximized windows ([7233](https://github.com/agentscope-ai/QwenPaw/pull/7233))
- Improve navigation when editor tabs overflow ([6983](https://github.com/agentscope-ai/QwenPaw/pull/6983))
- Copy assistant responses without including hidden reasoning text ([7448](https://github.com/agentscope-ai/QwenPaw/pull/7448))
**Skills, Channels & Media**
- Integrate AnySearch as a web SearchProvider and MCP service ([7081](https://github.com/agentscope-ai/QwenPaw/pull/7081))
- Search Skills and enable or disable them in batches ([7140](https://github.com/agentscope-ai/QwenPaw/pull/7140), [#6990](https://github.com/agentscope-ai/QwenPaw/pull/6990))
- Keep Skills current with faster file loading, cleaner bindings, and automatic updates for built-ins ([7097](https://github.com/agentscope-ai/QwenPaw/pull/7097), [#7232](https://github.com/agentscope-ai/QwenPaw/pull/7232))
- Manage apps, plugins, and Skills in one marketplace ([6880](https://github.com/agentscope-ai/QwenPaw/pull/6880), [#7017](https://github.com/agentscope-ai/QwenPaw/pull/7017), [#7235](https://github.com/agentscope-ai/QwenPaw/pull/7235))
- Open newly installed PawApps without reloading the Console ([7238](https://github.com/agentscope-ai/QwenPaw/pull/7238))
- Configure plugin channels interactively from the CLI ([6943](https://github.com/agentscope-ai/QwenPaw/pull/6943))
- Include custom channels in Agent MCP access rules ([7225](https://github.com/agentscope-ai/QwenPaw/pull/7225))
- Keep Matrix group sessions and memories isolated per sender, with retries for transient login failures ([7001](https://github.com/agentscope-ai/QwenPaw/pull/7001), [#7109](https://github.com/agentscope-ai/QwenPaw/pull/7109))
- Let DingTalk groups share conversation context when configured ([7208](https://github.com/agentscope-ai/QwenPaw/pull/7208))
- Configure automatic layout for DingTalk widescreen cards ([7416](https://github.com/agentscope-ai/QwenPaw/pull/7416))
- Download OneBot media locally before Agent processing ([6715](https://github.com/agentscope-ai/QwenPaw/pull/6715))
- Let Computer-use observe related windows ([7037](https://github.com/agentscope-ai/QwenPaw/pull/7037))
- Optionally resize oversized images before sending them to a model ([7294](https://github.com/agentscope-ai/QwenPaw/pull/7294))
- Propagate Console stop requests to active Agent tools ([7349](https://github.com/agentscope-ai/QwenPaw/pull/7349))
- Automatically fold completed assistant process messages ([7374](https://github.com/agentscope-ai/QwenPaw/pull/7374))
🔄 Changed
- Start persistent Drivers concurrently for faster workspace startup ([7174](https://github.com/agentscope-ai/QwenPaw/pull/7174))
- Reduce streaming overhead during long responses ([7244](https://github.com/agentscope-ai/QwenPaw/pull/7244), [#7239](https://github.com/agentscope-ai/QwenPaw/pull/7239))
- Stabilize reusable prompt-cache prefixes across requests ([7346](https://github.com/agentscope-ai/QwenPaw/pull/7346))
- Keep long, Markdown-heavy chats responsive ([7176](https://github.com/agentscope-ai/QwenPaw/pull/7176))
- Use tighter, more consistent spacing for Markdown lists ([7317](https://github.com/agentscope-ai/QwenPaw/pull/7317))
- Improve the ReMe runtime dashboard and long-term-memory guidance ([6984](https://github.com/agentscope-ai/QwenPaw/pull/6984), [#6997](https://github.com/agentscope-ai/QwenPaw/pull/6997))
- Stop sending notifications when a scheduled job has not changed ([7115](https://github.com/agentscope-ai/QwenPaw/pull/7115))
- Remove obsolete Desktop Mode reminders and outdated approval hints ([7245](https://github.com/agentscope-ai/QwenPaw/pull/7245), [#6981](https://github.com/agentscope-ai/QwenPaw/pull/6981))
- Update AgentScope through 2.0.7.post1 ([7276](https://github.com/agentscope-ai/QwenPaw/pull/7276), [#7373](https://github.com/agentscope-ai/QwenPaw/pull/7373))
- Refresh the Console chat package used by this release ([7257](https://github.com/agentscope-ai/QwenPaw/pull/7257), [#7289](https://github.com/agentscope-ai/QwenPaw/pull/7289))
- Clarify the behavior of each approval mode ([7368](https://github.com/agentscope-ai/QwenPaw/pull/7368))
- Make embedding-model changes explicit and reversible, falling back to BM25 until a scoped reindex succeeds ([7133](https://github.com/agentscope-ai/QwenPaw/pull/7133))
- Rename Marketplace to Extensions and restore dark-mode styling across the Console ([7454](https://github.com/agentscope-ai/QwenPaw/pull/7454))
🐛 Fixed
**Models, Runtime & Memory**
- Restore complete free-model listings and legacy model names ([7175](https://github.com/agentscope-ai/QwenPaw/pull/7175))
- Refresh Aliyun and Kimi model catalogs ([7271](https://github.com/agentscope-ai/QwenPaw/pull/7271), [#7277](https://github.com/agentscope-ai/QwenPaw/pull/7277))
- Separate model output capabilities from request limits so routing and validation use the correct metadata ([7337](https://github.com/agentscope-ai/QwenPaw/pull/7337))
- Improve compatibility with strict DashScope tool schemas and audio messages ([7284](https://github.com/agentscope-ai/QwenPaw/pull/7284), [#7024](https://github.com/agentscope-ai/QwenPaw/pull/7024))
- Honor server-provided retry limits during streaming ([6617](https://github.com/agentscope-ai/QwenPaw/pull/6617))
- Recover from stalled model streams ([7150](https://github.com/agentscope-ai/QwenPaw/pull/7150))
- Propagate and report model timeouts accurately ([7268](https://github.com/agentscope-ai/QwenPaw/pull/7268), [#7308](https://github.com/agentscope-ai/QwenPaw/pull/7308))
- Keep Agent behavior compatible with AgentScope 2.0.6 ([6908](https://github.com/agentscope-ai/QwenPaw/pull/6908))
- Enable the Ollama embedding backend ([7131](https://github.com/agentscope-ai/QwenPaw/pull/7131))
- Preserve embedding verification while navigating ([7227](https://github.com/agentscope-ai/QwenPaw/pull/7227))
- Exclude reasoning text from generated chat titles ([7187](https://github.com/agentscope-ai/QwenPaw/pull/7187))
- Give background tasks a reliable default timeout without overriding explicit values ([6869](https://github.com/agentscope-ai/QwenPaw/pull/6869))
- Start ReMe memory services before model configuration so local memory features remain available without a configured model ([7468](https://github.com/agentscope-ai/QwenPaw/pull/7468))
- Include `~`-based Agent workspace paths in model and tool-usage trends ([7432](https://github.com/agentscope-ai/QwenPaw/pull/7432))
**Console, Files & Media**
- Reopen the sole history session directly from New Chat ([7104](https://github.com/agentscope-ai/QwenPaw/pull/7104))
- Show the actual completion time for assistant responses ([6938](https://github.com/agentscope-ai/QwenPaw/pull/6938))
- Render historical data-URL images after reload ([7069](https://github.com/agentscope-ai/QwenPaw/pull/7069))
- Improve model-selector styling and dark-mode session groups ([7137](https://github.com/agentscope-ai/QwenPaw/pull/7137), [#7111](https://github.com/agentscope-ai/QwenPaw/pull/7111))
- Hide empty grep badges and unavailable approval controls ([7165](https://github.com/agentscope-ai/QwenPaw/pull/7165))
- Improve mobile composer controls ([7334](https://github.com/agentscope-ai/QwenPaw/pull/7334))
- Align cron calendar dates with Sunday-first headers ([7352](https://github.com/agentscope-ai/QwenPaw/pull/7352))
- Keep embedding verification when switching Agents ([7353](https://github.com/agentscope-ai/QwenPaw/pull/7353))
- Preserve uploaded and non-ASCII filenames ([6492](https://github.com/agentscope-ai/QwenPaw/pull/6492), [#7192](https://github.com/agentscope-ai/QwenPaw/pull/7192))
- Preserve Windows CRLF line endings and refresh file previews after changes ([7091](https://github.com/agentscope-ai/QwenPaw/pull/7091), [#7094](https://github.com/agentscope-ai/QwenPaw/pull/7094))
- Continue remote-file download fallback after a downloader timeout ([6371](https://github.com/agentscope-ai/QwenPaw/pull/6371))
- Persist remote images before saving tool results ([7146](https://github.com/agentscope-ai/QwenPaw/pull/7146))
- Deliver tool-result videos through the OpenAI Responses API ([7061](https://github.com/agentscope-ai/QwenPaw/pull/7061))
- Make inline video limits configurable ([7071](https://github.com/agentscope-ai/QwenPaw/pull/7071))
- Preserve local file URLs while normalizing media messages ([7343](https://github.com/agentscope-ai/QwenPaw/pull/7343))
- Save screenshots to the active project directory ([7439](https://github.com/agentscope-ai/QwenPaw/pull/7439))
- Link Daily Paper to the correct QwenPaw documentation ([7466](https://github.com/agentscope-ai/QwenPaw/pull/7466))
**Channels**
- Restore Yuanbao message decoding with protobuf 6 and later ([7421](https://github.com/agentscope-ai/QwenPaw/pull/7421))
**Plugins, Desktop & Operations**
- Restore plugin workspace state before reloads and isolate absolute imports between plugin namespaces ([6996](https://github.com/agentscope-ai/QwenPaw/pull/6996), [#6688](https://github.com/agentscope-ai/QwenPaw/pull/6688))
- Recover Windows WebView2 after a browser crash ([7128](https://github.com/agentscope-ai/QwenPaw/pull/7128))
- Avoid false process matches in the Windows installer, including the NSIS caller itself ([7281](https://github.com/agentscope-ai/QwenPaw/pull/7281), [#7323](https://github.com/agentscope-ai/QwenPaw/pull/7323))
- Handle NSIS uninstall blockers and make application-data cleanup choices explicit ([7336](https://github.com/agentscope-ai/QwenPaw/pull/7336), [#7354](https://github.com/agentscope-ai/QwenPaw/pull/7354))
- Clean up safely when workspace startup is cancelled ([7194](https://github.com/agentscope-ai/QwenPaw/pull/7194))
- Protect environment configuration from partial or corrupt writes ([7135](https://github.com/agentscope-ai/QwenPaw/pull/7135))
- Keep backup jobs running after an SSE connection closes ([7283](https://github.com/agentscope-ai/QwenPaw/pull/7283))
- Keep Agent configuration persistence consistent across shared filesystems and concurrent writes ([6767](https://github.com/agentscope-ai/QwenPaw/pull/6767))
- Enforce File Guard paths during active policy evaluation ([7375](https://github.com/agentscope-ai/QwenPaw/pull/7375))
- Expand sandbox mount paths correctly ([7116](https://github.com/agentscope-ai/QwenPaw/pull/7116))
- Avoid antivirus interference during sandbox setup ([6986](https://github.com/agentscope-ai/QwenPaw/pull/6986))
- Isolate QQ conversations and preserve their reply routes ([7169](https://github.com/agentscope-ai/QwenPaw/pull/7169))
- Report Xiaoyi proactive-send failures reliably and preserve session IDs ([7147](https://github.com/agentscope-ai/QwenPaw/pull/7147))
- Patch security-sensitive website and Creator dependencies ([7172](https://github.com/agentscope-ai/QwenPaw/pull/7172))
- Speed up plugin loading by avoiding a full module scan after every plugin ([7383](https://github.com/agentscope-ai/QwenPaw/pull/7383))
- Restore ReMe and its Auto Fin and Daily Paper plugins in packaged desktop builds ([7458](https://github.com/agentscope-ai/QwenPaw/pull/7458))
- Prevent desktop packages from mixing different Python runtime sources ([7372](https://github.com/agentscope-ai/QwenPaw/pull/7372))
- Block shell line-continuation variants from bypassing sensitive-path protections ([7472](https://github.com/agentscope-ai/QwenPaw/pull/7472))
New Contributors
- [cyruszhang](https://github.com/cyruszhang)
- [Luohh5](https://github.com/Luohh5)
- [LUOSENGWA](https://github.com/LUOSENGWA)
- [An-idd](https://github.com/An-idd)
- [TinyBai](https://github.com/TinyBai)
- [c020627](https://github.com/c020627)
- [suantea](https://github.com/suantea)
- [xiaoka76](https://github.com/xiaoka76)
- [anysearch-ai](https://github.com/anysearch-ai)
- [guodaxia103](https://github.com/guodaxia103)
- [kilowu](https://github.com/kilowu)
- [kaiwangleo](https://github.com/kaiwangleo)
**Full Changelog**: [v2.1.0...v2.2.0](https://github.com/agentscope-ai/QwenPaw/compare/v2.1.0...v2.2.0)