zhayujie
d2a72a3cbf
Merge pull request #3832 from c020627/fix-linkai-bounded-download
...
fix(linkai): cap the file download in the LinkAI sender
2026-10-25 10:44:27 +08:00
zhayujie
1f98478572
Merge pull request #3822 from rudycelekli/fix/claude-stream-error-event
...
fix(claude): surface mid-stream error events instead of ending the reply silently
2026-10-25 10:44:22 +08:00
zhayujie
2863e966f5
Merge pull request #3828 from c020627/fix-dingtalk-media-tmp-cleanup
...
fix(dingtalk): clean up outbound media temp files
2026-10-25 10:44:17 +08:00
zhayujie
e1bb1276b7
Merge pull request #3815 from rudycelekli/voice-tmp-leak
...
fix(voice): stop leaking inbound voice recordings when wav conversion fails
2026-10-25 10:44:11 +08:00
zhayujie
536c76c9b7
Merge pull request #3812 from rudycelekli/fix/update-status-corrupt-worker-pid
...
fix(update): tolerate a corrupt worker_pid in the in-progress guard
2026-10-25 10:44:05 +08:00
zhayujie
d188174934
Merge pull request #3808 from rudycelekli/fix/scheduler-run-output-identity-20261021
...
fix(scheduler): correlate delivered output with its exact run
2026-10-25 10:44:00 +08:00
zhayujie
41f2e111f8
Merge pull request #3809 from rudycelekli/fix/web-message-mutation-ack-20261021
...
fix(web): preserve chat history when deletion fails
2026-10-25 10:43:54 +08:00
zhayujie
968a68b5f5
Merge pull request #3805 from rudycelekli/fix/registered-workspace-preview-20261021
...
fix(web): serve artifacts from registered agent workspaces
2026-10-25 10:43:49 +08:00
zhayujie
8b8bb53008
Merge pull request #3827 from rudycelekli/fix/gemini-function-response-object
...
fix(gemini): send non-object tool results as an object in functionResponse
2026-10-25 10:43:43 +08:00
zhayujie
ad42e1241c
Merge pull request #3826 from rudycelekli/fix/dashscope-steer-text
...
fix(dashscope): keep steering text sent alongside tool results
2026-10-25 10:43:38 +08:00
zhayujie
adc9668858
Merge pull request #3825 from rudycelekli/fix/zhipu-steer-text
...
fix(zhipuai): keep steering text sent alongside tool results
2026-10-25 10:43:33 +08:00
zhayujie
82a17af50b
Merge pull request #3823 from c020627/fix-cloud-client-data-root
...
fix(cloud): save the cloud-pushed config to the data root
2026-10-25 10:43:28 +08:00
zhayujie
26be412aa4
Merge pull request #3810 from rudycelekli/fix/file-observations-by-conversation-20261021
...
fix(files): keep file-read observations within their conversation
2026-10-25 10:43:23 +08:00
zhayujie
5b95b3d1c6
Merge pull request #3806 from rudycelekli/fix/compressed-image-orientation-20261021
...
fix(images): preserve display orientation when compressing images
2026-10-25 10:43:18 +08:00
zhayujie and cowagent
d921681b4f
fix: copy files sent from outside the workspace so the web console can show them
...
The send tool now copies files outside the home dir and workspace (e.g. /tmp)
into <workspace>/tmp/ before delivering them. The web console only serves
files under those roots, and system temp dirs get purged, so such images
showed up broken both live and in history.
Images that still fail to load now render a short "image unavailable" note
with the file name instead of a broken icon.
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-24 23:15:48 +08:00
zhayujie and cowagent
2b54d3e6a6
feat: allow disabling web search providers without clearing credentials
...
- Add tools.web_search.disabled_providers; disabled providers are skipped by
auto selection, the fixed-provider picker and the tool's provider enum.
- Web console: each available provider chip gets an x to disable it; disabled
ones stay as grey chips and re-enable on click. Saving a new key re-enables.
- Clearing a model vendor credential now also drops the copy mirrored into
os.environ at startup, so the provider really disappears from search.
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-24 23:15:48 +08:00
zhayujie and cowagent
eb4bc3545a
fix: stop tracking the local preview signing key
...
The key is generated per installation on first start and must stay local.
Removing it from the repository lets existing checkouts regenerate a fresh one.
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-24 13:20:32 +08:00
zhayujie and cowagent
3129c2b56b
fix: keep original file name when sending files on more channels
...
Use reply.file_name for file uploads on Feishu, DingTalk, WeCom bot and
WeChat KF; WeChat KF now also downloads remote file URLs before upload.
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-23 18:37:05 +08:00
zhayujie
fcab462e70
Merge pull request #3817 from 6vision/fix/weixin-file-name
...
fix(weixin): keep original file name and type when sending files
2026-10-23 18:15:56 +08:00
zhayujie and cowagent
d50bfa7943
fix: improve weixin QR login reliability
...
- Stop QR login on terminal states instead of looping, and report the error
- Follow status redirects and refresh expired codes per the latest protocol
- Add optional weixin_proxy for QR login, falling back to direct on failure
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-22 20:36:07 +08:00
zhayujie and cowagent
90f8bb6307
fix: ignore node_modules symlinks as well as directories
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-22 20:04:02 +08:00
zhayujie
c316874ab8
Merge pull request #3783 from rudycelekli/fix/local-delegation-timeout-20261017
...
fix(delegate): honor the configured local run deadline
2026-10-22 19:55:44 +08:00
zhayujie and cowagent
a87edcf642
fix: skip rendering off-screen messages in desktop chat to keep typing smooth
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-22 19:40:06 +08:00
zhayujie
3279c6a13a
Merge pull request #3804 from rudycelekli/fix/context-boundary-sequence-20261021
...
fix(memory): keep new messages beyond cleared context boundary
2026-10-22 19:18:43 +08:00
zhayujie
45a715d817
Merge pull request #3803 from rudycelekli/fix/manual-tts-message-binding-20261021
...
fix(voice): bind manual speech to the clicked message version
2026-10-22 19:18:37 +08:00
zhayujie
0dbf703d64
Merge pull request #3801 from rudycelekli/fix/workspace-concurrent-saves-20261020
...
fix(workspace): reject conflicting concurrent console saves
2026-10-22 19:18:31 +08:00
zhayujie
1a2fc4c174
Merge pull request #3800 from rudycelekli/fix/log-unwritable-data-fallback-20261020
...
fix(log): keep console fallback when data directory is unwritable
2026-10-22 19:18:24 +08:00
zhayujie
bf182bbe7f
Merge pull request #3799 from rudycelekli/fix/atomic-fallback-encoding
...
fix: preserve existing files when fallback encoding fails
2026-10-22 19:18:17 +08:00
zhayujie
247aacf45b
Merge pull request #3794 from rudycelekli/fix/read-oversized-line-recovery
...
fix(read): recover oversized lines at the requested offset
2026-10-22 19:18:10 +08:00
zhayujie
f893867eff
Merge pull request #3787 from ningyixi/fix/docx-inline-content-controls
...
fix: preserve inline Word content control values
2026-10-22 19:18:04 +08:00
zhayujie and cowagent
1df569ca1e
fix: make session title generation survive model failures and session switches
...
- Retry title generation on the configured chat fallback chain when the
primary model fails, instead of falling back to the first user line.
- Web console requests the title once the first message is accepted, so a
session left mid-reply still gets titled.
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-22 19:14:28 +08:00
zhayujie and cowagent
906b918f26
fix: skip rendering off-screen chat messages to keep typing smooth in long sessions
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-22 12:32:14 +08:00
zhayujie and cowagent
0e8c541a61
fix: avoid no-op class writes that wake Tailwind runtime on typing and scrolling
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-22 11:53:24 +08:00
zhayujie and cowagent
20522e870b
feat: add MiMo speech recognition and migrate chat models to V2.6
...
- 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 >
2026-10-21 20:52:48 +08:00
zhayujie and cowagent
07eecca33a
feat: allow suggestion cards to send attachments
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-21 19:33:10 +08:00
zhayujie and cowagent
ee2dc05217
fix: adapt multiline python -c spill to the merged rewrite
...
Keep the merged rewrite (chains, redirections and cd prefixes stay
supported) and fold in the improvements from this PR: CRT backslash
unescaping, a hex-encoded loader path, the <string> traceback filename
and CR-only line breaks. Also write the temp file without newline
translation so CRLF code is not doubled on Windows.
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-21 17:21:45 +08:00
zhayujie
5e5680f617
Merge branch 'master' into fix/windows-multiline-python-20261021
...
# Conflicts:
# agent/tools/bash/bash.py
2026-10-21 17:18:58 +08:00
zhayujie and cowagent
478603f23f
feat: let a product name the built-in default agent
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-21 17:13:40 +08:00
zhayujie
a40c7564e6
Merge branch 'fix/windows-bash-chcp-nonblocking'
2026-10-21 16:41:00 +08:00
zhayujie and cowagent
06ab32a151
fix: run multi-line python -c through a temp file on Windows
...
cmd.exe ends a command at the first line feed, so multi-line python -c
code was silently cut to its first line. Spill the code into a temp file
and load it back via exec() under -c, keeping sys.path[0] as the cwd.
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-21 16:39:49 +08:00
zhayujie
1f5b3dd7d2
Merge branch 'master' of https://github.com/zhayujie/CowAgent
2026-10-21 16:33:01 +08:00
zhayujie and cowagent
78fdaffb45
feat: let a suggestion card send a message with a separate display text
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-21 16:20:32 +08:00
zhayujie
c690a03194
Merge pull request #3792 from zkjqd/fix/web-chat-burst-render-freeze
...
fix: stop chat freezing when a reply arrives in one burst
2026-10-20 18:34:55 +08:00
zhayujie and cowagent
af7c622302
fix: parse files and locale-wrapped body in Feishu post messages
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-20 10:07:57 +08:00
zhayujie and cowagent
49db276722
feat(desktop): add show-in-folder button to chat workspace preview
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-19 20:08:41 +08:00
zhayujie and cowagent
cd6c04e855
feat(chat): align scroll-to-bottom button with composer and auto-load history
...
- Move the scroll-to-bottom button to the right, aligned with the composer
card's right edge, and shrink it to 32px (web and desktop)
- Web: load earlier messages automatically when the reader scrolls near
the top, replacing the "Load earlier messages" button
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-19 11:15:25 +08:00
zhayujie
39d53c4afb
Merge branch 'master' into pr-3785
2026-10-19 10:44:12 +08:00
zhayujie
b25001c3b0
Merge pull request #3786 from ningyixi/fix/docx-block-content-controls
...
fix: retain block content controls when reading Word documents
2026-10-19 10:09:41 +08:00
zhayujie and cowagent
987a61ca6f
feat: make DeepSeek the default search provider with a base/key editor
...
- 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 >
2026-10-18 17:57:45 +08:00
zhayujie
6e68a5be41
Merge pull request #3774 from anshlakhera048/feat/web-https-reverse-proxy
...
feat: support HTTPS domains and nginx reverse proxy for the web console
2026-10-18 17:25:10 +08:00
zhayujie
1e863fa41b
Merge pull request #3776 from anshlakhera048/feat/deepseek-search-fetch
...
feat: add DeepSeek Search and Fetch API support
2026-10-18 17:24:51 +08:00
zhayujie
4bc020d51a
Merge pull request #3709 from rudycelekli/fix/cow50-cli-daemon-detach-stdin-20261012
...
fix(cli): detach standard input when starting the background service
2026-10-18 17:24:33 +08:00
zhayujie
a152644896
Merge pull request #3754 from rudycelekli/fix/cow-net-new-skill-config-save-errors-20261013
...
fix(skills): report failed enable/disable and restore the previous choice
2026-10-18 17:24:18 +08:00
zhayujie
a031743199
Merge pull request #3784 from rudycelekli/fix/web-config-save-transaction-20261017
...
fix(web): preserve running settings when a config save fails
2026-10-18 17:23:42 +08:00
zhayujie
642d2a2cf7
Merge pull request #3769 from c020627/fix-chrome-launcher-pid-probe-timeout
...
fix(browser): give the win32 pid probe a timeout and an except
2026-10-18 16:52:48 +08:00
zhayujie
4addbbe563
Merge pull request #3748 from rudycelekli/fix/cow-net-new-workspace-agent-fallback-20261013
...
fix(web): keep system-file fallbacks in the requested agent workspace
2026-10-18 16:52:43 +08:00
zhayujie
217df8123f
Merge pull request #3782 from rudycelekli/fix/cow-scheduler-operation-status-20261017
...
fix(scheduler): report rejected operations as failed calls
2026-10-18 16:52:38 +08:00
zhayujie
1990d263d6
Merge pull request #3781 from rudycelekli/fix/cow-mcp-transport-failure-status-20261017
...
fix: report MCP transport failures as failed tool calls
2026-10-18 16:52:35 +08:00
zhayujie
f49531e7a1
Merge pull request #3780 from rudycelekli/fix/cow-logger-stdout-ownership-20261017
...
fix: preserve stdout ownership when resetting logger
2026-10-18 16:52:32 +08:00
zhayujie
66e74bb03e
Merge pull request #3779 from rudycelekli/fix/cow-bash-line-truncation-log-20261017
...
fix: preserve complete Bash output after line truncation
2026-10-18 16:52:29 +08:00
zhayujie
690295e38e
Merge pull request #3778 from rudycelekli/fix/cow-backup-file-modes-20261017
...
fix: preserve executable skill permissions on restore
2026-10-18 16:52:25 +08:00
zhayujie
7f856b3ee1
Merge pull request #3777 from rudycelekli/fix/cowagent-net-new-20261017
...
fix: read merged Word table cells once
2026-10-18 16:52:22 +08:00
zhayujie
41653aff17
Merge pull request #3773 from rudycelekli/fix/excel-used-range-20261016
...
fix: read XLSX cells beyond stale worksheet dimensions
2026-10-18 16:52:18 +08:00
zhayujie
edb622fdad
Merge pull request #3772 from rudycelekli/fix/cow-grep-path-filter-20261016
...
fix(search): honor directory filters without ripgrep
2026-10-18 16:52:14 +08:00
zhayujie
ab17e24a27
Merge pull request #3770 from rudycelekli/fix/cow-fuzzy-leading-newline-20261016
...
fix(edit): preserve fuzzy block indentation after outer newlines
2026-10-18 16:52:10 +08:00
zhayujie and cowagent
e518e552d3
fix: keep direct HTTPS only and move the deployment guide to the docs
...
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 >
2026-10-18 16:46:34 +08:00
zhayujie and cowagent
24c99e521c
fix: keep existing search routing and respect deepseek_api_base
...
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 >
2026-10-18 16:43:26 +08:00
zhayujie and cowagent
8e3e1177eb
fix: keep the channel list annotation compatible with Python 3.7
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-18 16:41:35 +08:00
zhayujie and cowagent
9f73ca9160
fix: simplify enabled-state rollback in set_skill_enabled
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-18 16:41:33 +08:00
zhayujie and cowagent
fa376c1b16
fix: use a plain lock and trim comments in config save
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-18 16:41:30 +08:00
zhayujie
2c0c6c4e6f
Merge remote-tracking branch 'origin/master' into pr-3709
2026-10-18 16:40:25 +08:00
zhayujie and cowagent
d802eabaf6
fix: avoid duplicate web chat history when artifact indexing fails
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-16 17:17:26 +08:00
zhayujie
8b7c32681c
Merge branch 'master' of https://github.com/zhayujie/CowAgent
2026-10-16 17:14:25 +08:00
zhayujie
60e2f27f3c
Merge pull request #3724 from rudycelekli/fix/cow50-browser-snapshot-selector-20261012
...
fix(browser): scope snapshots to the requested selector
2026-10-16 17:12:15 +08:00
zhayujie
325b9b4c7e
Merge pull request #3712 from rudycelekli/fix/cow50-vision-empty-completion-20261012
...
fix(vision): fall back after an empty completion
2026-10-16 17:12:08 +08:00
zhayujie
dfaa53e8af
Merge pull request #3714 from rudycelekli/fix/cow50-voice-identical-text-filenames-20261012
...
fix(voice): isolate output files for repeated identical speech
2026-10-16 17:12:00 +08:00
zhayujie
a54eea60fb
Merge pull request #3705 from rudycelekli/fix/cow50-search-anonymous-opt-in-20261012
...
fix(search): require explicit anonymous provider opt-in
2026-10-16 16:42:09 +08:00
zhayujie
84ca2d0169
Merge pull request #3710 from rudycelekli/fix/cow50-minimax-tts-partial-error-20261012
...
fix(voice): reject MiniMax audio streams that finish with an API error
2026-10-16 16:37:37 +08:00
zhayujie
7e53bf16cc
Merge pull request #3690 from rudycelekli/fix/cow50-skill-metadata-booleans-20261012
...
fix(skills): normalize metadata boolean flags
2026-10-16 16:37:27 +08:00
zhayujie
2046e9a2da
Merge pull request #3687 from rudycelekli/fix/cow50-cli-pid-permission-alive-20261012
...
fix(cli): retain process IDs when signal permission is denied
2026-10-16 16:36:58 +08:00
zhayujie
c0d6e5bb37
Merge pull request #3702 from rudycelekli/fix/cow50-responses-failed-status
...
fix(openai): surface failed Responses objects as provider errors
2026-10-16 16:36:23 +08:00
zhayujie
e4794f2e92
Merge pull request #3764 from rudycelekli/fix/discord-bound-inbound-attachment-size-20261014
...
fix(discord): refuse oversized inbound attachments before downloading
2026-10-16 16:35:32 +08:00
zhayujie
f1ee381b9d
Merge pull request #3753 from rudycelekli/fix/cow-net-new-skill-replacement-rollback-20261013
...
fix(skills): preserve installed skills during replacement failures
2026-10-16 16:35:09 +08:00
zhayujie
44c9accf54
Merge pull request #3760 from c020627/fix-skills-confirm-display-fields
...
fix(web): keep the registry's presentation fields on skill confirm
2026-10-16 16:32:18 +08:00
zhayujie
ca1ee3ed39
Merge pull request #3738 from c020627/fix-team-mention-boundary
...
fix(team): treat sentence-ending punctuation as an @mention boundary
2026-10-16 16:31:17 +08:00
zhayujie
1967fb51d2
Merge pull request #3767 from xiao115255/fix/context-usage-survives-restart
...
fix: keep the context-usage chart after a restart
2026-10-16 16:31:05 +08:00
zhayujie and cowagent
d8d2f66365
feat: raise default agent context to 200k tokens, 100 steps, 30 turns
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-16 16:20:08 +08:00
zhayujie and cowagent
9d4cfeb201
fix: share the anonymous search opt-in parsing between the tool and the console
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-16 16:02:34 +08:00
zhayujie and cowagent
80418d5da6
fix: report permission errors from cow stop instead of claiming success
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-16 16:01:40 +08:00
zhayujie and cowagent
0a4a83a620
fix: keep numeric skill metadata flags truthy as before
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-16 16:01:12 +08:00
zhayujie and cowagent
f5871fbd4e
fix: use unique tts output filenames for the remaining voice vendors
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-16 16:00:42 +08:00
zhayujie and cowagent
28870bc502
fix: keep minimax status_msg in the stream error log and drop the dead branch
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-16 15:59:35 +08:00
zhayujie and cowagent
f9c1ad6489
fix: raise OpenAIHTTPError for failed Responses in the chat-completion helper
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-16 15:59:11 +08:00
zhayujie and cowagent
631c9dc0fd
fix: mention snapshot scoping in the browser selector description
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-16 15:58:36 +08:00
zhayujie and cowagent
99f34d19f2
fix: keep list-shaped vision content from compatible gateways
...
Co-authored-by: cowagent <cow@cowagent.ai >
2026-10-16 15:58:36 +08:00
zhayujie
bef38a7a04
Merge remote-tracking branch 'origin/master' into pr-3705
2026-10-16 15:56:57 +08:00
zhayujie
6db491fedf
Merge remote-tracking branch 'origin/master' into pr-3690
2026-10-16 15:56:56 +08:00
zhayujie
7a9a57541c
Merge remote-tracking branch 'origin/master' into pr-3687
2026-10-16 15:56:55 +08:00
zhayujie
40e09406f1
Merge remote-tracking branch 'origin/master' into pr-3724
2026-10-16 15:56:53 +08:00
zhayujie
62557a2270
Merge remote-tracking branch 'origin/master' into pr-3712
2026-10-16 15:56:52 +08:00