matevip
98d0bb7780
docs: add DeepSeek Harness integration guides
2026-08-18 05:35:37 -04:00
matevip
473ed5786e
feat(agent): integrate DeepSeek Harness runtime
2026-08-18 05:25:22 -04:00
mateaix
d2df5c2797
feat(office): add optional OfficeCLI engine ( #583 )
2026-08-17 20:28:40 +08:00
mateaix
81c6f4aece
fix(chat): gracefully terminate active tool runs
...
Stopping a conversation previously disposed the outer reactive stream without reliably cancelling synchronous tool callbacks running on worker threads. Shell commands, skill scripts, and Playwright sessions could therefore outlive the visible chat turn.
Propagate cancellation through run-scoped hooks, interrupt active tool execution and parallel batches, terminate subprocess trees, close per-conversation browser sessions, and wait briefly for final stream persistence before acknowledging Stop.
Expose an explicit interrupting state in the chat input to block duplicate stop clicks and show progress, with regression coverage for cancelling an in-flight synchronous tool callback.
2026-08-16 16:26:10 +08:00
mateaix
6e8e7db31e
fix(team): make checkpoint evidence idempotent
2026-08-16 15:59:26 +08:00
mateaix
fb7cb6c04a
fix: enforce team deliverable completion gates
2026-08-16 15:10:56 +08:00
mateaix
cc0661c07c
fix(team): harden checkpoint loops and board recovery
2026-08-16 14:42:39 +08:00
mateaix
3424efc6a7
fix(team): harden long-running collaboration
2026-08-16 13:14:16 +08:00
mateaix
03b6e9d2d8
release: v2.1.0
2026-08-15 17:17:51 +08:00
matevip
0e534476a3
fix: align generateKwargs reserved key readers
2026-08-15 01:37:32 -04:00
NhaNT
265728bab7
fix: forward generateKwargs passthrough keys
...
Forward unrecognized OpenAI-compatible generateKwargs keys through extraBody while reserving documented provider control keys such as modelsPath.\n\nVerification:\n- cd mateclaw-server && mvn -pl . test -Dtest=OpenAiCompatibleChatModelBuilderTest,ModelDiscoveryServiceTestPromptTest\n- cd mateclaw-ui && node --max-old-space-size=6144 ./node_modules/vue-tsc/bin/vue-tsc.js --noEmit
2026-08-15 01:32:03 -04:00
matevip
9a3b95df53
fix(team): unify Team Run delivery experience ( #596 )
2026-08-15 00:37:08 -04:00
matevip
f629b04f2a
fix(agent): cache runtime tool name lookups
2026-08-14 04:50:13 -04:00
matevip
50c6eb92f9
fix(agent): refresh context previews without MCP hot-path scan
2026-08-14 04:34:51 -04:00
matevip
d1592cc922
fix(team): stabilize runs and compact markdown delivery
2026-08-14 03:25:47 -04:00
matevip
dc3506f748
feat(team): unify team run experience ( #596 )
2026-08-13 07:00:24 -04:00
matevip
bd35f28dad
fix(wiki): preserve knowledge base ids in tool inputs
2026-08-13 04:04:30 -04:00
matevip
c4751ea69c
fix(tools): preserve cron job id tool inputs
2026-08-13 04:01:32 -04:00
matevip
7a34f3a502
fix(tools): preserve datasource id tool inputs
2026-08-13 03:58:05 -04:00
matevip
7bf18e6af8
fix(wiki): preserve agent id tool inputs
2026-08-13 03:56:03 -04:00
matevip
b1f3332ae1
fix(memory): preserve remaining agent id tool inputs
2026-08-13 03:53:27 -04:00
matevip
cabff7e498
fix(memory): preserve session search agent id
2026-08-13 03:51:42 -04:00
matevip
06105faa4d
fix(memory): preserve agent id in tool inputs
2026-08-13 03:45:57 -04:00
matevip
b8a8aac7f9
fix: preserve agent id precision in memory tools
2026-08-13 03:08:44 -04:00
matevip
ba0e4506b7
feat(browser): harden browser automation reliability
2026-08-12 06:02:36 -04:00
倪程伟
0ae8552f5a
fix(webchat): harden stream cleanup and timeout handling
...
Normalize stream idle timeout overrides, make WebChat orphan cleanup use exact run handles so stale callbacks cannot mutate replacement runs, and preserve approval replay usage metadata with regression coverage.
2026-08-12 02:08:59 -04:00
matevip
438d8d26ae
fix(team): keep task runs in team workspace ( #596 )
2026-08-11 06:00:00 -04:00
matevip
071fff76ab
fix(agent): enforce tool-backed action completion
2026-08-11 05:31:44 -04:00
倪程伟
a11c7ccb52
log(webchat): raise SSE timeout and error lifecycle logs
...
Raise WebChat SSE timeout and non-benign error lifecycle logs to INFO while keeping routine client disconnects at DEBUG, preserving detach-based subscriber lifecycle semantics.
2026-08-11 03:45:24 -04:00
倪程伟
55cf53b9b4
fix(webchat): detach SSE subscribers and reclaim orphan runs
...
Use detach rather than complete for WebChat SSE disconnect callbacks, add an orphan-run grace policy for subscriberless active runs, and emergency-save partial assistant output when reclaimed.
2026-08-11 03:42:43 -04:00
倪程伟
e9c08edb3a
fix(webchat): close SSE streams on done or error
...
Close WebChat subscriber SSE connections when the logical stream reaches done/error, make the emitter timeout configurable, and ensure stale-run eviction closes subscribers instead of leaving clients waiting.
2026-08-11 03:39:56 -04:00
倪程伟
ddb6a837ea
fix(llm): add stream body idle timeout
...
Apply a Reactor inter-frame idle timeout at the streaming chat chokepoint so half-open provider body streams surface through the normal retry/failover path. Also keep the HTTP timeout documentation accurate and cover the behavior with focused tests.
2026-08-11 03:38:46 -04:00
matevip
7563d2dd19
fix(tts): surface provider response diagnostics ( #555 )
2026-08-10 22:40:38 -04:00
mateaix
b196dc73fd
feat(sessions): add batch deletion ( #581 )
2026-08-10 22:13:29 +08:00
mateaix
197e697173
fix(stt): repair DashScope audio decoding ( #580 )
2026-08-10 21:43:02 +08:00
matevip
ce7f0847fb
fix(agent): preserve tool use after compaction
2026-08-10 05:39:08 -04:00
mateaix
5e96dade9c
fix(llm): preserve numeric tool schemas ( #594 )
2026-08-09 21:31:42 +08:00
mateaix
763fb554da
fix(team): enforce workspace isolation ( #593 )
2026-08-09 21:00:29 +08:00
mateaix
54eb77d7c7
feat(feishu): show streaming execution progress
2026-08-09 20:34:54 +08:00
mateaix
8dc6c64683
perf(agent): add progressive tool bridge
2026-08-09 19:39:45 +08:00
mateaix
a204e8eec8
fix(self-evolution): harden lifecycle and plan loops
2026-08-09 18:13:24 +08:00
matevip
c72c8b48e4
fix(skill,agent): curation observation anchor, per-skill adoption, and empty plan-summary fallback
2026-08-07 05:12:33 -04:00
matevip
99c18b968a
fix(chat): persist planning reasoning, dedupe the plan summary, normalize metadata reads
2026-08-06 07:09:32 -04:00
matevip
e8d5e73825
fix(cron): persist the delivery channel and target when a job is edited
2026-08-06 06:35:26 -04:00
matevip
ed7f6f5c19
feat(chat): add reasoning retention controls and a linear trajectory export
2026-08-06 05:48:28 -04:00
matevip
22c49f3a07
fix(chat): keep every iteration reasoning and render the timeline in emission order
2026-08-06 05:13:09 -04:00
matevip
30560eb7cf
fix(chat): classify pre-tool narration by observation count, not iteration budget
2026-08-06 02:39:03 -04:00
matevip
48a7b979df
test(skill): use placeholder bodies in credential-redaction fixtures
2026-08-06 01:55:48 -04:00
matevip
e22173a476
feat(skill): close the self-evolution loop — auto-bind, routine mining, curation provenance and restore points
2026-08-06 01:51:22 -04:00
matevip
9dd58053c0
feat(channel): proactive channel-session message push + cron delivery target picker
2026-08-05 05:51:59 -04:00
matevip
4c9394a86f
fix(stt): surface endpoint, status and body diagnostics on STT failures ( #580 )
2026-08-05 04:26:30 -04:00
matevip
fefb3b25b8
feat(chat): live pre-tool narration collapse via segment_kind SSE event
2026-08-04 22:51:12 -04:00
matevip
32dd6e7911
fix(channel): sync-path IM channels stop relaying pre-tool rehearsals verbatim
2026-08-04 22:50:42 -04:00
matevip
8a7a04ee1f
refactor(channel): shared provisional-narration tracker as the single supersede authority
2026-08-04 22:50:12 -04:00
matevip
547adb30ee
feat(agent): producer-assigned content-kind tag on stream deltas
2026-08-04 22:49:34 -04:00
mateaix
a578c8ef0e
fix(stt): replace DashScope realtime WS replay with synchronous Qwen3-ASR HTTP recognition ( #580 )
2026-08-04 21:53:25 +08:00
matevip
54a2c3c0a3
fix(wecom): drop pre-tool rehearsal narrations from permanent bubbles
2026-08-04 06:14:55 -04:00
matevip
77dd866243
feat(agent): stale-status guard appended to every reasoning system prompt
2026-08-04 03:47:05 -04:00
matevip
29a1edc3b1
fix(chat): supersede pre-tool content segments by structure, not text patterns
2026-08-04 03:46:32 -04:00
matevip
046080d6aa
feat: thinking display overhaul — live think-tag extraction, real durations, default visibility, reconnect and team-note fixes
2026-08-03 05:56:16 -04:00
matevip
aeb84784f2
feat(llm): add explicit context windows for GLM-5V-Turbo and the Kimi coding alias
2026-08-03 03:15:19 -04:00
matevip
12c34c32a8
feat(llm): extend the built-in context-window table to the rest of the catalog
2026-08-02 23:59:37 -04:00
matevip
5ba92f3b87
feat(llm): resolve per-model context windows instead of the global 128k default
2026-08-02 23:39:31 -04:00
mateaix
bfd84fd5c3
fix(models): 成员角色可读取自己能绑定的 provider 选项 ( #570 )
...
绑定 Agent 首选 provider 是 member 权限的操作,但唯一能列出 provider 的
GET /api/v1/models 要求全局 admin(它带 base URL、请求参数、liveness 诊断等
连接配置)—— 成员写得了绑定,却读不到可选项。
员工编辑弹窗把这个 admin-only 请求放在没有单独兜底的 Promise.all 里,成员
打开时 403 会让整批请求失败:技能、工具、已有绑定、首选模型链全部加载不出来,
弹出通用加载错误。
新增 GET /api/v1/models/options —— 只返回 provider 的 id 和显示名,viewer
权限,过滤掉未配置项 —— 并让员工编辑弹窗改用它。/api/v1/models 保持全局
admin 限制不变。
2026-08-01 22:12:47 +08:00
mateaix
88660caec8
fix(test): 用生产配置初始化 system-setting 列名缓存
...
TableInfoHelper 写的是 JVM 级静态列名缓存,三个测试用原生 MyBatis Configuration
初始化,默认把属性映射成 camelCase 列名(settingKey 而非 setting_key),后写覆盖
先写,导致同一 surefire fork 内该实体的后续查询全部生成非法 SQL。
表现为 TeamControllerTest 抛 BadSqlGrammarException —— 而它本身并不查库:
R.ok() 通过先前 Spring 上下文测试装上的静态 I18nService 解析消息,后者会读
mate_system_setting 的语言设置。单跑该类通过,全量跑失败。
2026-08-01 20:34:07 +08:00
mateaix
7fb6ba7461
sync: v2.0.0 dev + 落盘文件按天分目录 ( #554 )
...
- 附件 / 生成媒体写入 {conversationDir}/yyyy-MM-dd/{storedName},serve URL 保持平铺
- 读取路径同时探测平铺与日期两种布局,可随时开关 mateclaw.chat.upload.date-folders
- 读取侧强制 storedName 为纯文件名;原始文件名回退取最近修改的匹配
- 修正 Linux / macOS / Windows 的路径与时间戳精度差异
2026-08-01 18:33:24 +08:00
matevip
bdfa8a6f9d
release: v2.0.0
2026-07-31 03:51:45 -04:00
matevip
91c9565f1f
fix(agent): stop stale ledger entries from suppressing repeated status queries
2026-07-31 02:37:27 -04:00
matevip
823efc0c36
feat(memory): surface per-user private memory copies in admin UI and tool results
2026-07-31 01:50:52 -04:00
matevip
ad6b0728e9
fix(channel): stop streaming replies from showing the same text twice
2026-07-29 21:29:48 -04:00
matevip
aaae3bf122
fix(channel): claim each inbound message once so redeliveries stop answering twice
2026-07-29 05:43:01 -04:00
matevip
9bc4741aa7
fix(channel): apply message filters on card streaming paths
2026-07-28 06:31:01 -04:00
matevip
fcf5f3960b
fix(agent): stop lossy-truncating retrieval tool results that must arrive whole
...
load_skill returns SKILL.md in full by design — it is the model's behavioral
contract, and pagination by default would let the model silently miss later
mandatory sections. read_file / readSkillFile / load_skill are therefore on
the spill-exclusion list so their output is never replaced by a disk pointer.
The exclusion only covered half the path. In spillRawOrTruncate, an excluded
tool's result came back from persistIfOversized unchanged (no spill), failed
the SPILL_MARKER_PREFIX check, and fell through to truncateToolResult(8000) —
so an 8261-char SKILL.md was hard-cut through the middle and stamped with a
'[TRUNCATED: ... middle omitted]' marker. Weaker models ignore the attached
fidelity note and fabricate the removed span, inventing tool calls against
endpoints the skill never described.
- spillRawOrTruncate now returns retrieval-excluded results raw; the per-turn
aggregate budget stays the backstop.
- Outsized SKILL.md degrades to resumable pagination instead of an unbounded
inline dump. Never a lossy middle-cut.
2026-07-28 05:06:24 -04:00
mateaix
3643aed756
fix(team): gate pending-task auto-claim to the assignee; expose attach in tool schema
2026-07-26 12:35:51 +08:00
mateaix
daa2c8b9ac
docs: 2.0.0 release documentation — agent teams guide, feature doc updates, README and site refresh
2026-07-26 11:58:59 +08:00
mateaix
2ed0d7d04f
feat(memory): thread ownerKey through post-turn sync for per-owner writes
2026-07-26 11:07:04 +08:00
mateaix
f9fcf35dc7
chore(memory): backport bundled Mem0 docs source and align plugin code style with repo conventions
2026-07-26 10:56:27 +08:00
Lcos
396cdb175b
feat(memory): add Mem0 as an optional external plugin memory provider
...
Extend the plugin memory SPI with a three-arg prefetch(agentId, userQuery, ownerKey) default method and forward ownerKey through PluginMemoryBridge, enabling per-owner isolated recall for external providers. Ship mateclaw-plugin-mem0: an optional, zero-extra-dependency plugin that bridges a self-hosted Mem0 service (semantic recall via /memories/search/, async turn sync via /memories/) with full fault isolation — not part of the default stack. Includes 42 tests and bilingual user docs.
2026-07-26 10:52:01 +08:00
mateaix
7fb23e5404
fix(team): fresh event-stream subscriptions deliver live events only, no stale replay
2026-07-26 10:40:17 +08:00
mateaix
b6326daaf8
feat(team): windowed task board — paged terminal columns with true totals and database-side status counts
2026-07-26 10:17:47 +08:00
mateaix
2cbe00a1e7
feat(team): plan-execute leads orchestrate through the task board — hand-off bridge, resume gate and step dependencies
2026-07-25 22:22:38 +08:00
mateaix
c15e51b34b
feat(team): collaboration observability — live event channel, task timeline, prerequisite hand-off and readable validation errors
2026-07-25 19:57:57 +08:00
mateaix
251a3288dd
feat(team): execution hardening, task deliverables and run transcript visibility
2026-07-25 14:32:49 +08:00
matevip
5e380a1b3c
feat(team): admin REST API for teams, membership and the task board
2026-07-24 17:38:23 +08:00
matevip
8fa10e3769
feat(team): team_tasks tool with role gating and team context injection into agent prompts
2026-07-24 17:38:02 +08:00
matevip
86e65beafe
feat(team): auto-dispatch assigned tasks to member agents and announce settled results to the lead
2026-07-24 17:37:33 +08:00
matevip
626c3a2fae
feat(team): team registry, membership and shared task board with guarded state transitions
2026-07-24 17:37:04 +08:00
matevip
728ed53062
feat(skill): scope agent runtime skill resolution to the conversation workspace
2026-07-24 14:12:08 +08:00
matevip
f715e8ffc0
feat(skill): add workspace-scoped runtime skill resolution overloads
2026-07-24 11:06:37 +08:00
matevip
67301c5f7c
feat(skill): scope skill dedup, name uniqueness and reinstall/uninstall lookup by workspace
2026-07-24 10:27:32 +08:00
matevip
c18ff31ae8
feat(skill): scope skill workspace filesystem paths by workspace to isolate same-named skills
2026-07-24 10:26:57 +08:00
matevip
e294b32542
feat(channel): scope conversation ids by channel to stop cross-workspace bleed
2026-07-23 18:50:10 +08:00
matevip
e2747df2c5
feat(channel): /model magic command for per-conversation model switching (restore)
2026-07-23 11:49:28 +08:00
matevip
49f7a74386
fix(approval): persist the real pendingId on guard audit rows
2026-07-23 11:46:22 +08:00
matevip
8174006b01
feat(approval): reject dead grant configurations at creation
2026-07-23 11:46:15 +08:00
matevip
1bb81234d0
feat(approval): classify auto-approve misses and persist the outcome on guard audit rows
2026-07-23 11:44:21 +08:00
mateaix
a4ee953d31
feat(channel): /model magic command for per-conversation model switching
2026-07-22 22:27:34 +08:00
matevip
8f2d76965b
test(channel): cover execution metadata persisted on the IM sync path
2026-07-22 18:10:45 +08:00
matevip
717f15e91f
feat(conversation): rewind-to-message endpoint and duplicate-free regenerate across web, webchat, and console UI
2026-07-22 18:10:28 +08:00
matevip
a183519d69
feat(channel): extract the per-turn stream accumulator and share it between web SSE and IM sync paths
2026-07-22 18:09:59 +08:00