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
c31a216cbd
feat(chat): first-token pending placeholder in the assistant bubble
2026-08-04 23:28:17 -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
679f749959
chore: bump version to 2.1.0-SNAPSHOT
2026-08-03 03:22:32 -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
a0f0e85eb6
fix(docker): copy the mem0 plugin POM so the Maven reactor can be built
...
The Dockerfile pre-copies module POMs for layer caching, but the list had
not been updated when mateclaw-plugin-mem0 was added to the root POM's
<modules>. Maven fails while constructing the reactor if a declared module
directory is missing, so `mvn -pl mateclaw-server -am dependency:go-offline`
aborted with "Child module /build/mateclaw-plugin-mem0 does not exist"
before it ever reached dependency resolution — every container build broke.
Copy the missing POM and note that this list must mirror the root POM's
<modules>, even for modules the image never builds. The module only makes
the reactor readable; it stays out of the `-pl mateclaw-server -am` build,
so the image is unchanged in size.
Fixes #566
2026-07-28 05:46:11 -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
bc867f0cbb
feat(ui): agent teams page with team management, kanban board and role-aware member views
2026-07-24 17:38:44 +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