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
倪程伟
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
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
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
2ed0d7d04f
feat(memory): thread ownerKey through post-turn sync for per-owner writes
2026-07-26 11:07:04 +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
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