Repository navigation
馃搧 Artifacts
A new Artifacts page brings together the files created in your conversations, in both the Web console and the desktop client:
- Automatic collection: documents, web pages, images, and videos your Agents create show up in Artifacts automatically, on one timeline across all Agents.
- Preview and trace back: filter by type or Agent, search, preview in place, and jump back to the conversation that produced a file (Thanks @rudycelekli #3732).
- Pin and manage: pin, rename, or remove artifacts; a file card in a conversation takes you straight to it in Artifacts. The Artifacts page is hidden by default and can be turned on in the menu editor.
Related docs: Web Console - Artifacts
馃Л Custom Menu & Console Improvements
- Custom menu: customize the groups, order, names, icons, and visibility of menu entries in the Web console and desktop client, with one shared configuration; artifacts and web links can be added as menu entries. See Custom Menu.
- Token usage: each reply shows the tokens actually used in that turn, including cache hits. Thanks @Harbor404 (#3440)
- Mermaid diagrams: Mermaid code blocks can switch to a rendered diagram, with zoom and full screen. Thanks @akushonkamen (#3620)
- Faster long sessions: long sessions with many tool calls open faster.
- Fixes: new session titles are no longer lost, and session actions on the default Agent no longer fail (Thanks @6vision #3625, #3617); settings saved together now all take effect, and workspace files are saved under the Agent they belong to (Thanks @aniruddhaadak80 #3454, #3488).
- Collapsible sidebar: the Web console sidebar can collapse into an icon rail.
馃攲 Open Agent Chat API
Agents are now available through a standard chat API, so you can connect third-party clients or call an Agent directly from your own systems:
- Switch and key: turn the API on and generate an API key in one click on the Config page; the key is kept when the API is turned off. It can also be enabled through the config file or environment variables (Thanks @AaronZ345 #3068, @Bdysj #3342).
- Agent and model selection: choose the Agent with
agent_idand the model withmodel; without a model, the Agent's default model is used. - Multi-turn conversations: by default the caller sends the full message history; with a
conversation_id, the server keeps the history and only the latest message needs to be sent. - Complete output: streaming and non-streaming responses, including reasoning, token usage, and the tool call trace (Thanks @AaronZ345 #3068, @c020627 #3545, #3588).
Related docs: Chat API
馃搻 Prompt Caching & Context Cost
- Claude prompt caching: the system prompt, tool definitions, and conversation prefix are cached, greatly improving cache hit rates and cutting token cost and latency. The cache lifetime is configurable via
claude_cache_ttl. - Headroom after trimming: trimming the context now leaves headroom, so the prefix stays unchanged for the next several turns and long sessions keep hitting the cache.
- Budget changes apply immediately: changes to the context budget and maximum steps apply to running Agents right away, without clearing the session.
- Tool records kept in compaction: compacted turns keep a summary of their tool calls, so the model does not make up results (Thanks @tsumon #3634).
- Fixes: messages arriving during compaction are no longer lost, and orphaned tool results are cleaned up more accurately (Thanks @c020627 #3518, @rudycelekli #3652, #3653).
馃 Model Capabilities
- Claude extended thinking: the connection stays open during long thinking, and when output stalls the request is retried at a lower thinking effort.
- Custom headers: custom model providers support
headers, with support for OpenCode Go. - Model discovery: when editing a model list, available models can be fetched from the provider automatically. Thanks @Harbor404 (#3441)
- Reasoning content: both
reasoningandthinkingfields are supported, and an unclosed<think>tag no longer cuts off the reply (Thanks @a1094174619 #3601, @fly0sheep-1734 #3538). - Fallback models: the fallback model is reset at the start of each turn instead of staying in use.
- OpenAI: improved handling of the Responses API and streaming responses (Thanks @rudycelekli #3659, #3660, #3661, #3663, @aniruddhaadak80 #3486).
- Model list: fixed concurrent edits overwriting each other, custom primary models not taking effect, and capability tag matching (Thanks @rudycelekli #3577, #3662, #3666, @aniruddhaadak80 #3501).
- Other providers: fixed compatibility issues with MiniMax, ModelScope, Baidu ERNIE, and Azure DALL路E (Thanks @aniruddhaadak80 #3464, #3476, #3479, #3507, #3512, @rudycelekli #3678).
- Error handling: rejected requests are no longer resent, errors are recognized more accurately, and context usage shows real token counts (Thanks @c020627 #3442, #3443, #3445, @aniruddhaadak80 #3505, @6vision #3624).
- Images: image generation keeps the original format and prompt, and image understanding on macOS no longer upscales images (Thanks @aniruddhaadak80 #3503, #3504, @rudycelekli #3568).
馃 Memory & Knowledge Base
- Knowledge editing and skill authoring: edit knowledge base pages directly in the console with the index updated automatically, write skills from scratch, and edit the files in a skill's directory. Thanks @zkjqd (#3377)
- Hit-based ranking: a new optional
memory.hit_boostranks frequently retrieved memories slightly higher. Off by default. Thanks @foreverjix (#3621) - Time decay: applies only to daily memory files, so dated knowledge base pages are no longer ranked down (Thanks @fly0sheep-1734 #3376).
- Indexing: fixed content lost on very long lines, chunks exceeding the budget, and stale index entries after clearing notes (Thanks @fly0sheep-1734 #3585, @rudycelekli #3426, #3578, #3616).
- Retrieval: improved full-text search fallback, Unicode keywords, and handling of invalid parameters and vectors (Thanks @aniruddhaadak80 #3480, #3481, #3482, #3483, @rudycelekli #3559, #3656, #3658).
- Memory writes: failed writes can be retried, and session data from older versions can be imported (Thanks @aniruddhaadak80 #3406, @c020627 #3590, @rudycelekli #3387).
- Knowledge base: fixed graph paths on Windows and documents with upper-case extensions not showing, and tightened import path validation (Thanks @Lesereingrape #3332, @rudycelekli #3612, #3649, #3651).
馃 Multi-Agent Collaboration
- Permissions and delegation: delegation and handoff keep the initiator's permission mode, and the receiving Agent re-checks the delegation allowlist, depth, and wait time (Thanks @c020627 #3541, #3546, #3547, #3548, #3552).
- Default Agent aliases: always resolved to the default Agent's real ID (Thanks @c020627 #3553, #3554).
- Team sessions: deleting a team session now removes it for every participant; fixed the model setting display and follow-up message delivery (Thanks @c020627 #3519, #3537, #3549, #3550, #3613).
- Sub-agents: stopping a task also stops its sub-agents; fixed prompt parsing (Thanks @rudycelekli #3637, #3638, #3639).
- Sessions and projects: fixed error handling for session settings and project paths (Thanks @c020627 #3551, @rudycelekli #3640, #3654).
馃З Tools & Skills
- File read/write: the original file is kept when a write fails; fixed line ending detection, concurrent edits overwriting each other, and argument parsing (Thanks @aniruddhaadak80 #3365, #3404, #3413, @rudycelekli #3525, #3531, #3563, #3566, #3567, #3667).
- Document parsing: Word tables, Excel formulas, and PowerPoint tables are preserved in full (Thanks @rudycelekli #3393, #3394, #3560, #3629, #3631).
- File search: falls back automatically when the external search command fails; fixed filter rules, case handling, and special files (Thanks @aniruddhaadak80 #3400, @rudycelekli #3391, #3533, #3534, #3558, #3570, #3571, #3630, #3675, #3679).
- Web fetch: detects charsets and document types correctly, and limits transfer time and size (Thanks @aniruddhaadak80 #3401, #3478, @rudycelekli #3392, #3569, #3574, #3632, #3669, #3670, #3671).
- Browser: pages follow the window size (Thanks @zkjqd #3623); the bundled Chromium is detected correctly in Docker, and installation no longer needs
sudo(Thanks @handoing #3743, #3744); fixed cleanup after failed launches, scrolling, and element interactions (Thanks @c020627 #3524, @aniruddhaadak80 #3490, @rudycelekli #3562, #3573). - Terminal: fixed truncated multi-byte characters, misreported exit codes, and
.envparsing (Thanks @rudycelekli #3530, #3564, #3668). - MCP: commands such as
npxanduvxstart correctly on Windows (Thanks @6vision #3408); tools can be fetched with pagination, and structured results and errors are passed through (Thanks @rudycelekli #3672, #3673, #3674, @aniruddhaadak80 #3425); connection timeouts and config saving are more reliable (Thanks @aniruddhaadak80 #3414, #3452, #3466, #3469, @c020627 #3438, #3523, #3542, #3610, #3615). - Skills: more GitHub directory layouts are supported; fixed install paths, directory loops, and YAML parsing (Thanks @aniruddhaadak80 #3379, @rudycelekli #3389, #3594, #3597, #3598, @c020627 #3516, #3682).
- Scheduled tasks: one-time tasks set in the past are rejected; fixed daylight saving time, task type validation, task file recovery, and delivery targets; compatible with Python versions below 3.9 (Thanks @aniruddhaadak80 #3359, #3374, #3375, #3429, @c020627 #3540, #3604, #3683, @rudycelekli #3390, #3526, #3532, #3575, #3576, #3593, #3636).
馃摗 Channels
- WeChat: more stable login; credentials are removed when an instance is deleted; fixed attachments with the same name overwriting each other and leftover temporary files (Thanks @c020627 #3277, #3544, #3581, #3589, #3622, @6vision #3609, @aniruddhaadak80 #3498, @rudycelekli #3635).
- WeCom: recovers automatically after a failed token refresh; fixed the WeCom Bot reply stream, image conversion, and duplicate callbacks; temporary files are cleaned up promptly (Thanks @c020627 #3345, #3435, #3529, #3611, #3614, @aniruddhaadak80 #3397, #3497, @rudycelekli #3645).
- WeChat Customer Service: retries automatically when saving the message cursor fails (Thanks @rudycelekli #3677).
- WeChat Official Account: fixed video replies being dropped and users getting no response after a passive reply (Thanks @aniruddhaadak80 #3360, #3411, @c020627 #3536, #3543, #3606).
- Feishu: Markdown image syntax inside code is kept as is (Thanks @huiq777 #3434); fixed token request timeouts and app re-registration (Thanks @aniruddhaadak80 #3358, @c020627 #3539).
- DingTalk: code blocks in card replies are kept as is (Thanks @huiq777 #3420); fixed send result checks and image captions being sent twice (Thanks @aniruddhaadak80 #3396, #3496, @c020627 #3432, #3517, #3586).
- QQ: sends files larger than 5 MB (Thanks @HnBigVolibear #3647); supports image replies; fixed reconnecting after a disconnect (Thanks @c020627 #3341, @aniruddhaadak80 #3405).
- Telegram: fixed formatted message handling stopping midway and link rendering (Thanks @fly0sheep-1734 #3522, @rudycelekli #3665, @aniruddhaadak80 #3416).
- Slack / Discord: retries automatically when sending fails (Thanks @aniruddhaadak80 #3415).
- General:
- Expired attachments are no longer sent with the next message (Thanks @SEVEN-us #3407); fixed attachment concurrency, cache cleanup, and file extensions (Thanks @c020627 #3437, @rudycelekli #3561, #3644).
- The deduplication cache is cleaned up periodically, so memory no longer keeps growing on long-running instances (Thanks @Bdysj #3340).
- Fixed interrupted message handling, cancellation deadlocks, channel shutdown, and credentials being overwritten (Thanks @c020627 #3348, #3515, @aniruddhaadak80 #3373, #3395, #3410, @rudycelekli #3384, #3648, #3655).
馃洝 Security Hardening
- Permissions: read-only mode now blocks git write operations it previously missed (Thanks @aniruddhaadak80 #3352, @drakeo338 #3357); dangerous operations such as command substitution, writes through arguments, and deleting the root directory are detected (Thanks @c020627 #3579, #3602, @aniruddhaadak80 #3506); outside full-access mode, the MCP config and session permissions cannot be changed.
- Path access: stricter path checks for uploads, static assets, skill uninstall, backup restore, and more, and credential files are blocked (Thanks @aniruddhaadak80 #3409, #3460, #3461, #3463, @c020627 #3446, @rudycelekli #3527, #3528, @Harbor404 #3436).
- External resources: a unified download size limit, with media URLs and certificates validated (Thanks @c020627 #3327, #3328, #3329, #3336, #3555, #3556, #3557, @rudycelekli #3428, @aniruddhaadak80 #3457, #3477).
- Log redaction: access tokens and secrets are no longer written to logs in plain text (Thanks @c020627 #3356, #3444, @aniruddhaadak80 #3369, #3399, #3511).
- Robust config:
.envrejects values containing line breaks (Thanks @Lesereingrape #3344); config files with a BOM are supported, with stricter type checks and atomic writes (Thanks @c020627 #3412, #3433, #3447, #3448, @aniruddhaadak80 #3431, #3499, @rudycelekli #3641).
馃洜 Other Improvements & Fixes
- Artifacts: fixed upgrades from older databases, Windows paths, and locating earlier messages (Thanks @Lesereingrape #3450, #3514, @aniruddhaadak80 #3402).
- Agent execution: fixed tool exceptions, the step limit overriding the answer, cancellation, and concurrency issues (Thanks @aniruddhaadak80 #3383, #3403, #3424, @c020627 #3582, #3583, #3587, @rudycelekli #3388, #3643, #3650).
- Voice: the text reply is still sent when text-to-speech fails; fixed timeouts and error handling in several voice services (Thanks @c020627 #3684, @aniruddhaadak80 #3330, #3363, #3491).
- Plugins: fixed plugin reloading, duplicate registration, empty messages, and the keyword and role plugins (Thanks @aniruddhaadak80 #3367, #3398, @c020627 #3520, #3521, #3584, @rudycelekli #3664, #3728).
- Self-evolution: snapshot restore and backups are more reliable (Thanks @rudycelekli #3385, #3657, @c020627 #3600).
- Agent management: deleting an Agent also removes its avatar and sessions (Thanks @c020627 #3580, #3603).
- CLI and backup:
/statusshows loaded MCP servers (Thanks @HnBigVolibear #3474); fixed backups, config loading, knowledge base listing, and updates in Git worktrees (Thanks @rudycelekli #3592, #3595, #3596, #3599, #3607). - Logs: the Logs page loads more reliably, and live logs no longer drop lines (Thanks @c020627 #3349, @rudycelekli #3642).
- Chinese conversion: corrected the Simplified鈥揟raditional Chinese mapping table (Thanks @aniruddhaadak80 #3347).
- Docker: the Compose template enables the Web console by default, so models can be configured in the console after the first start.
- Desktop client: shortcuts are restored after reinstalling, and the update channel is kept when using a custom update source.
- Docs:
馃摝 How to Upgrade
- Source deployment: run
cow updatefor a one-click upgrade, update from the version menu in the Web console sidebar, or pull the latest code and restart. See the upgrade guide. - Desktop client: check for updates and update with one click inside the client, or get the latest version from the download page.
Release date: 2026.10.14 | Full Changelog


