- Add mimo-v2.5-asr voice-to-text and list MiMo in the ASR card
- Switch defaults to mimo-v2.6-pro / mimo-v2.6-flash; retired ids are mapped automatically
- Update docs
Co-authored-by: cowagent <cow@cowagent.ai>
- Put deepseek first in the web_search provider order; it is enabled
automatically once deepseek_api_key is configured
- Search settings open a simple Base URL + API Key dialog for deepseek
in both the web console and desktop app
- Drop the dedicated search key fallback and update docs/tests
Co-authored-by: cowagent <cow@cowagent.ai>
Drop the forwarded-header middleware (nothing in the console reads the
rewritten scheme/host/IP) and web_external_url (mcp_oauth_redirect_base
already covers the OAuth callback). Skip HTTPS under the desktop shell,
which loads the console over plain http. Document nginx and direct HTTPS
in the en/zh/ja web channel pages, including the upload size limit.
Co-authored-by: cowagent <cow@cowagent.ai>
Append DeepSeek after the other keyed providers so users with another
search provider keep their routing, build the Search/Fetch endpoints from
deepseek_api_base, align the key lookup order, keep document URLs on the
local parser, and use the DeepSeek label in Chinese.
Co-authored-by: cowagent <cow@cowagent.ai>
- Write descriptions for pages missed last time (wechat-kf, agent-mail,
chat-api, features, qwen, linkai, delegation)
- Summarize the main changes of each release instead of generic notes
- Bring all Japanese descriptions in line with the zh/en ones
- Trim descriptions that ran over the length limit
Co-authored-by: cowagent <cow@cowagent.ai>
- Add English and Japanese v2.2.1 release notes and overview entries
- Restructure the custom menu guide and add screenshots
- Add the chat API config screenshot and an Artifacts section to the web console guide
Co-authored-by: cowagent <cow@cowagent.ai>
- Select the agent with agent_id and the model with model (defaults to the
agent's own model); add GET /v1/models
- Stateless requests by default, server-side history with conversation_id
- Report usage (with cached tokens), reasoning_content and tool_trace /
cow_event for tool and teammate activity
- Add the external_api_enabled switch; turning the API off keeps its key
- Web and desktop settings card with key management and request examples;
show a copyable agent ID on the agents page
- Docs for the chat API and the custom menu under Extensions
Co-authored-by: cowagent <cow@cowagent.ai>
The provider table and the Web console link on docs/ja/models/index.mdx
used root paths (/models/<name>, /channels/web), which resolve to the
English pages. Prefix them with /ja/ so Japanese readers stay in the
Japanese docs, matching docs/zh/models/index.mdx.
docker-compose lists every key with an empty value, which wiped API keys
and channel credentials saved from the console on each container start.
Blank env values are now treated as unset, and the compose template no
longer pins MODEL, so the model picked in the console survives restarts.
The upgrade guide keeps the two-command flow and notes where Docker data
lives.
Co-authored-by: cowagent <cow@cowagent.ai>
workspace-write let a session rewrite mcp.json (hot-reloaded into a new
process) or its own permission in session_prefs.json. These control files
are now refused in workspace-write even inside the writable roots.
Co-authored-by: cowagent <cow@cowagent.ai>
8d3138a9 rewrote the MCP guide and introduced the "Connection test" wording,
which is also what turned the docs contract test red on master. That test has
since dropped its doc wording assertions (dae6bc6d), so this only keeps the
guide in line with the label both consoles use: mcp_test is "Test connection"
in the web console (channel/web/static/js/core/i18n.js:1461) and in the desktop
app (desktop/src/renderer/src/i18n.ts:1393).
Put gpt-6.1-sol ahead of gpt-6-luna in the model selector, install scripts,
README and docs. It routes through the Responses API via the existing gpt-6
prefix rule.
Co-authored-by: cowagent <cow@cowagent.ai>
ClawHub slugs are only unique per publisher, so a bare slug shared by
several publishers returns 409. Accept owner/slug, @owner/slug and skill
page URLs, pass the owner as ownerHandle, skip the slug-only mirror when
an owner is given, and explain the conflict instead of surfacing a raw 409.
Co-authored-by: cowagent <cow@cowagent.ai>
Make gpt-6-luna the OpenAI default (ordered gpt-6-luna, gpt-6-sol,
gpt-6-astra, then gpt-5.6) and claude-opus-5-5 the Claude default across
the model selector, install scripts, README and docs. Budget Claude 5+
models at 1M context / 128K output instead of 200K / 64K.
Co-authored-by: cowagent <cow@cowagent.ai>
Some endpoints no longer serve /chat/completions for gpt-5.x models.
Setting open_ai_api_type to "responses" (or OPEN_AI_API_TYPE env) sends
agent, title generation and vision requests to /responses. Default "auto"
keeps the existing behavior. Reasoning effort follows the thinking toggle.
Co-authored-by: cowagent <cow@cowagent.ai>
- Never block CowAgent startup when the Node.js or agently-cli install fails
- Install Node.js 22 from the official tarball into the persistent prefix, so
container recreation and image upgrades no longer reinstall it
- Keep user-upgraded CLI versions instead of downgrading on restart
- Move Agent Mail data to ./agent-mail-data, out of the cow-data mount
- Install the skill with `cow skill install` so it lands in the workspace
- Add an Extensions docs tab with en/zh/ja guides; drop the planning doc
Co-authored-by: cowagent <cow@cowagent.ai>
Select the reranker via rerank_provider (empty = off), share one instance
per process and load the model on the first search. Apply min_score on the
fused score before reranking and fall back to the fused order on failure.
Co-authored-by: cowagent <cow@cowagent.ai>
- Rename the Skills menu to Capabilities, covering built-in tools, MCP tools
and skills; built-in tools collapse to two rows by default.
- MCP editor: form / JSON tabs (accepts pasted mcpServers configs, several at
once), unified transport dropdown, structured tool list in test results,
and a connection check on save with a "save anyway" fallback. Server
status refreshes on its own while servers are still loading.
- Add skill dialog: install from Cow Skill Hub, GitHub or ClawHub, or upload
an archive, SKILL.md or folder. Skills are staged and previewed first and
only installed on confirm; stale previews are cleaned up.
- Parse multipart uploads without collapsing repeated fields on newer web.py.
- Same UI on the desktop app; docs and tests updated.
Co-authored-by: cowagent <cow@cowagent.ai>