| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| CowAgent-2.2.1-arm64.dmg | 2026-10-14 | 226.7 MB | |
| CowAgent-2.2.1-x64.dmg | 2026-10-14 | 237.9 MB | |
| CowAgent-Setup-2.2.1-win7-x64.exe | 2026-10-14 | 141.8 MB | |
| CowAgent-Setup-2.2.1-x64.exe | 2026-10-14 | 188.1 MB | |
| 2.2.1 source code.tar.gz | 2026-10-13 | 4.7 MB | |
| 2.2.1 source code.zip | 2026-10-13 | 5.6 MB | |
| README.md | 2026-10-13 | 17.4 kB | |
| Totals: 7 Items | 804.8 MB | 4 | |
📁 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–Traditional 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:
- Documented the data directory for Docker upgrades (Thanks @Frank-zhu2000 [#3680]).
- Fixed links on the Japanese models page (Thanks @pratikgx [#3681]).
- Aligned the MCP docs with the console wording (Thanks @c020627 [#3418]).
📦 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