✨ Added
Agent System
- Memory & Context refactor: Refactor long-term memory module with pluggable backends, automatic memory summarization every N conversation turns, automatic memory retrieval, and a new context management interface (#3548)
- Plan Mode: Opt-in structured planning mode — use
/planto create step-by-step task plans that the agent follows, with a live plan panel in the console (#3686, #3787)
Providers
- DeepSeek V4 Models: Added DeepSeek V4 Flash and V4 Pro as built-in models (#3797)
Security
- Configurable Shell Evasion Checks: Toggle individual shell evasion detection rules on or off from the Security settings page, with per-check risk-type tagging (#3694, #3715, #3781)
- Auth-Bypass Host Whitelist: Configurable
allow_no_auth_hostslist for API access without authentication, with IP validation and security warnings in the console (#3739)
Tools
- Browser Launch Parameters: Pass custom Chromium flags and a custom browser executable path to
browser_use(#3556) - Shell Command Timeout: Configurable default timeout for
execute_shell_commandper agent (#3732)
Console & UI
- Per-Agent Model Assignment: Assign a specific LLM model to each agent from Settings → Agents (#3599)
- Session View Button: "View" action on the Sessions table to jump directly into the corresponding chat session (#3615)
- Session Right-Click Context Menu: Right-click on chat session items for quick open, rename, pin/unpin, and delete actions (#3770)
Channels
- SIP Voice Channel: New SIP phone channel with dual-mode backends — pyVoIP for development and LiveKit for production (#3449)
- DingTalk Voice Recognition: Use DingTalk's built-in voice recognition instead of downloading and transcoding audio locally (#3681)
- Telegram Command Menu: Expose
/modeland/stopin the Telegram bot's command menu for discoverability (#3714) - QQ Quoted Message Support: Parse reply/quote metadata and inject quoted text and attachments into agent requests (#3735)
- DingTalk Markdown Messages: Send shorter replies as DingTalk Open API markdown for richer message rendering (#3771)
- DingTalk Cron Message Type: Independent message type for scheduled/cron sends, allowing card-style messages for cron while using markdown for interactive chat (#3778)
- WeChat Interactive Wizard: Interactive
configure_weixinwizard in the CLI channel setup flow (#3699)
🔄 Changed
- Tool Guard Approval System: Refactored tool-guard with interactive approval cards in the console, cross-session approval routing (approve sub-agent tool calls from the main session), configurable execution levels (Strict/Smart/Auto/Off), REST API and
/approvalCLI command (#3656, #3737) - Dynamic Plugin Registration: Replaced the build-time generated host module registry with runtime
import.meta.glob-based registration (#3676, #3692, #3696) - Docker Build Improvements: Moved
config.jsoninitialization from image build to container entrypoint for volume-mounted deployments, and replacedpipwithuvfor faster package installs (#3698, #3723, #3769) - Agent Language Sync: New agents now inherit the console UI language (#3720)
- Agent Selection Persistence: Agent selection state persisted in
localStorageso it survives browser restarts (#3772) - Token Usage Buffering: Asynchronous buffered token usage recording with periodic disk flush (#3766)
🐛 Fixed
Channels
- Filter Tool Messages: Respect
filter_tool_messagessetting for in-progress content events (#3660) - File URL Encoding: Percent-encode non-ASCII characters in
file://URLs to fix file send failures on Windows and paths with CJK characters (#3625) - WeChat Send Response: Fixed WeChat
send_textfailing on empty or non-dict API responses (#3685) - WeChat Icon Mapping: Fixed
wechatchannel key not mapping to the correct WeChat icon in chat history sidebar (#3691) - WeChat QR Login Timeout: Extended WeChat QR-status polling timeout to 60 seconds with retry on read timeout during login (#3700)
Console & UI
- Agent Stats: Fixed page crash from incorrect chart library imports and stats not refreshing when switching agents (#3724, #3743)
Providers
- Duplicate Model Warning: Show a localized warning when adding a model ID that already exists (#3773)
- Anthropic File Block: Convert unsupported file blocks to text placeholders in Anthropic-formatted history to prevent API errors (#3786)
Packaging
- Discord.py Conda-Unpack: Added
discord.pyto conda-unpack reinstall list to fix Windows path corruption (#3730)
📝 Documentation
- Memory-Evolving & Proactive Agent: Added dedicated documentation pages for memory-evolving and proactive agent features (#3755, #3764)
- Agent Team Practice Guide: Added a comprehensive practice guide for Agent Team collaboration (#3784)
- ACP Integration: Restructured and polished ACP integration documentation, with in-UI documentation link (#3741)
- Docker Backup Volume: Added Docker volume mount documentation for backup & restore (#3736)
- Backup Figures: Updated backup documentation figures (#3678)
🧪 Testing & CI
- Agent Unit Tests: Added unit tests for hooks, memory, and utils modules (#3630)
New Contributors
- @shadowabi made their first contribution in #3394
- @shaohuaxi made their first contribution in #3449
- @vincentyzhj made their first contribution in #3660
- @hlgone made their first contribution in #3685
- @twz915 made their first contribution in #3698
- @Nioolek made their first contribution in #3625
Full Changelog: v1.1.3...v1.1.4