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