v2.0.0
稳定版 · 2026-07-26 · 上一个稳定版 v1.8.0
这个版本的几件大事
1.x 走到最后,MateClaw 已经能让一个数字员工把一整件活干完——锁目标、跑长任务、端到端交付。2.0.0 回答的是下一个问题:一群员工怎么一起干活?
答案不是"多开几个会话",而是一套完整的项目机制:Agent 团队。你建一个团队、指定 Lead 和成员;对 Lead 说一句目标,它把目标拆成任务落到共享任务板上;派发引擎把任务并行分给成员,依赖自动编排、前置结果自动传递、完成结果自动通报回 Lead 汇总。你全程旁观——实时看板、任务时间线、交付物下载,甚至能跳进任意成员的子会话看它逐字执行。
一句话:v2.0.0 是 MateClaw 从"一个能干活的人"变成"一支能协作的队伍"的版本。
几件大事:
- Agent 团队与共享任务板。 团队 / 角色(lead · member · reviewer)/ 看板八状态 /
blockedBy依赖编排 / 成员级并行派发 / 结果自动通报唤醒 Lead。Teams 页全程可视:事件驱动看板、活动横幅、任务时间线、交付物、审批卡点、手动投任务。 - 为长任务加固的执行链。 执行租约 + 运行期心跳杜绝双重执行;取消即中断正在跑的成员会话;
requireApproval让敏感任务停在in_review等人批;failed/stale可重试。 - 计划直接变任务板。 Plan-Execute 型 Lead 的计划整体移交看板——步骤映射为任务、依赖链变
blockedBy、能并行的并行;全部落定后确定性恢复到计划汇总。会规划的 Lead,规划能力就是编排能力。 - 工作空间隔离全面收口。 渠道会话 id 编入渠道标识,两个工作空间的对话不再串进同一条会话;同名技能可在不同工作空间共存,安装、存储、运行时解析全部按工作空间隔离。
- 渠道长任务不再像卡死。 全渠道魔法命令(
/new/clear/status/stop/model/help);企业微信事件驱动进度气泡——思考状态、实时工具轨迹、耗时原地滚动,最终答案原地渐变;同步 IM 路径逐条送达分阶段叙述。 - 回退与重新生成成为服务端语义。 "回退到此处"真实截断并重算统计;"重新生成"复用原提问、不再重复入库——Admin 控制台、WebChat、API 三处行为一致。
- 自动批准未命中可解释。 审计行记录自动批准结果与未命中原因码(最常见:严重度上限不够),一键从审计补策略;表单按范围类型选择、死配置创建即拒。
- LLM 错误恢复策略化。 "服务端过载"与"自己被限流"分开治;
Retry-After回馈退避;被摘除的 provider 按 TTL 自动回收;抖动退避防重试风暴。
外加:聊天附件在线预览(pdf / docx / xlsx / html / 文本,玻璃拟态预览层,pptx 走服务端转换兜底)、技能 SKILL.md 单一事实源与捆绑文件控制台管理、Mem0 可选插件记忆 provider、知识图谱关系模式白名单、默认工作空间存储路径可配置、桌面本地工具白名单逐条可删、自定义供应商模型发现(modelsPath)。
就这些。
1. Agent 团队:一个 Lead 带一群员工,围着一块任务板
子员工委派(delegateToAgent)是"一个人临时叫帮手":同步、一对一、黑盒。真实的复杂交付长得像项目:拆任务、标依赖、并行推进、卡点审批、交付物归档、随时能看谁在干什么。2.0.0 把这套机制完整搬进来:
- 团队与角色:一组员工 + 一块任务板,角色分
lead/member/reviewer;一个员工可加入多个团队。 - 任务板:八状态看板(
pending/in_progress/in_review/completed/failed/cancelled/blocked/stale),状态机由数据库条件更新守卫——并发下谁先改成功谁算数。 team_tasks工具:Lead 建任务(含blockedBy依赖与requireApproval)、成员上报进度 / 提交结果 / 挂交付物,动作按角色门禁。团队名册注入成员 system prompt,Lead 每轮动态注入实时看板快照——多轮对话不会因为"忘了看板"重复建任务。- 派发闭环:常驻扫描 + 动作后即时触发,每任务一个独立子会话跑完整 Agent 图,每成员同时一个任务;前置任务完成后,下游派发信封自动带上前置结果与交付物;任务落定合批通报唤醒 Lead。
数据落五张新表(mate_agent_team 系列,迁移 V172–V174),管理 API 挂在 /api/v1/teams,所有校验失败都返回可读错误。
详见 团队协作。
2. 为几十分钟起步的任务而设计的执行链
团队面向深度研究、长文档处理这类长任务,执行链按此加固:
- 租约 + 心跳:任务派发持 60 分钟执行租约,运行期自动续期;只有真正失联的任务(进程崩溃)才判
stale可重派——不会出现"任务还在跑就被重派、两个实例互相覆盖"。 - 取消即中断:成员子会话注册进流跟踪器,取消后在下一个节点边界真实停下——不再烧 token 到自然结束。
- 审批卡点:
requireApproval的任务提交后停在in_review,你在 Teams 页 approve / reject。 - 交付物:成员产出的 docx / pptx / xlsx / pdf 通过
attach登记到任务,详情页可下载、通报带附件——链接不再埋在被截断的长文本里。 - 执行过程可见:每个任务都能跳进成员子会话看完整转写;运行中打开就是打字机直播。任务生命周期逐条落
mate_team_task_event,详情页渲染时间线。 - 看板不靠轮询:团队级 SSE 事件通道驱动看板实时刷新与活动横幅;列内分页加载、列头显示数据库侧统计的真实总数。
3. Plan-Execute 图团队化:计划移交任务板
Plan-Execute 型 Lead 原本按步串行委派、任务板全程零感知。现在规划节点产出计划后,整体移交任务板:步骤映射为任务、步骤依赖变 blockedBy(原本严格串行的计划从此能并行的并行)、计划停靠(delegated)、Lead 回合正常结束;全部任务落定后,通报唤醒经停靠计划恢复门确定性路由到计划汇总节点,从任务结果与交付物重建上下文——与工具审批"落库停靠、新一轮续跑"同构,不引入检查点机制。移交是全有或全无:任何一步指不到团队成员,整个计划回落原有串行管线。
4. 工作空间隔离全面收口
两个同类根因的隔离缺陷一起修掉——"实体分工作区,但某个键的生成漏了工作区维度":
- 渠道会话不再串扰:会话 id 生成编入渠道标识(迁移 V171 加宽 id 列)。不同工作空间各自新建的同类型渠道,即使面对同一个外部用户,也各有各的会话行。
- 技能三层隔离:安装查重 / 名称唯一性按工作空间过滤;磁盘目录编入 workspaceId,同名技能各有各的目录;运行时 load / 读文件 / 跑脚本 / 自动重定向只在"本会话工作空间 + builtin + 全局 virtual"内解析——一个工作空间的员工读不到、执行不了另一个工作空间的同名技能。
5. 渠道:长任务看得见,命令一次注册全渠道生效
- 魔法命令:
/new/clear/status/stop/model/help,进 LLM 之前统一分发器拦截,中英别名、整串精确匹配、不烧 token。/model按名切换本会话模型。 - 企业微信进度气泡:静态"🤔 思考中..."变成事件驱动——思考状态、实时工具轨迹、按阶段滚动叙述、耗时实时刷新;首个真实分片到达时复用同一 stream 槽位原地渐变为答案。消息过滤开关从"剥内联标签"变成真正的"过程消息要不要发"。
- 同步 IM 分阶段叙述:走同步收发的渠道(企业微信、微信)把每个阶段叙述作为独立消息依次送达;Web SSE 与 IM 同步路径共享同一套流累积器,两边执行元数据完全一致。
- 流式回复管理加固:保活、强制收尾、上下文失效各就各位;生成文件通过微信渠道真实送达。
6. 会话回退与重新生成:服务端语义
- 回退到此处:截断回某条消息——之后的消息数据库真实删除、会话统计同步重算;刷新、换端看到的都是回退后的状态。
- 重新生成:删末尾 assistant 回答、复用原 user 消息重跑——不再每点一次就多一条重复提问、旧回答不再刷新复活。
- 同一语义覆盖 Admin 控制台、WebChat 挂件与 API;有在途流的会话先拒绝回退。
7. 自动批准:命中要可见,未命中要可解释
配好的自动批准策略不生效、系统零提示——这条 2.0.0 之前最气人的链路现在全透明:
- 未命中原因细分原因码:有策略但严重度上限不够(最常见踩坑)、无候选策略、工作区不匹配、CRITICAL 强制人审……
- 结果落审计行(迁移 V170):自动放行不再误显示"需审批",进人审能看到为什么;审计行挂真实待审批 ID。
- 审计页一键补策略:带着工具名、范围、建议上限直接进表单。
- 表单防呆:范围 ID 按类型用选择器选、严重度上限带语义提示、跨工作区死配置创建即拒。
CRITICAL 永远人审、safety floor 硬拦截不变。
8. LLM 错误恢复:分类即策略
- 每种错误类型自带恢复属性,重试循环只消费策略。
- 新增 OVERLOADED 分类:服务端过载(503/529)同 provider 退避等待;自己 key 被限流(429)才快速切换——以前混在一起、策略相反。
Retry-After/ ratelimit-reset 回馈退避时长与健康冷却,不再盲退避。- 硬摘除的 provider 按 TTL 自动回收;provider 明确给出恢复时刻时以其为准——换 key、充值后系统自愈,不用重启。
- 随机抖动退避防并发会话重试风暴。
9. 聊天附件在线预览
Agent 生成的 Word 报告不用再"下载 → 找文件 → 本地打开":pdf / docx / xlsx / html / markdown / 文本 / 代码点开即在玻璃拟态预览层里看,上传的和 AI 生成的一样。PDF / Word / Excel 纯浏览器渲染不出网;pptx 与老版二进制 Office 走服务端转 PDF 兜底、转换组件缺失时优雅降级为下载;HTML 在沙箱 iframe 里渲染(脚本可执行、隔离源读不到登录态)。
10. 技能:单一事实源与控制台全托管
- SKILL.md 三向调和:运行时(工作空间文件)与控制台(DB 列)不再分叉——文件侧改动自动入库、DB 侧改动自动物化、冲突 DB 赢并留
.bak。你在控制台看到的就是员工正在执行的。 - 捆绑文件管理:
scripts/references/templates/(新晋一等桶)都能在控制台查看、编辑、删除;写入立即生效,员工下一次调用就用新脚本。内置技能文件只读。 - 前置门加固:安装前 preflight 检查现在会真的探测依赖端点可达性;内置技能脚本丢失时从 classpath 自愈恢复;zip 条目名与内容独立探测编码,中文文件名不再乱码。
11. 记忆:Mem0 可选插件 provider
mateclaw-plugin-mem0 把 Mem0 作为第 5 个插件式 memory provider 叠加接入——内部 4 个 provider 一个不动,互不替代。语义召回走 prefetch、逐轮对话异步同步(per-owner,ownerKey 透传为 user_id),任何一边挂了插件自己吞掉、平台照常。可选社区贡献项:需要自部署 Mem0 服务,本地优先、零外部依赖的默认形态不变。详见 记忆系统。
12. 还有这些
- 知识图谱关系模式——每个 KB 可配
主语类型 → 谓词 → 宾语类型闭合三元组白名单,抽取只保留匹配的关系与实体,不再放任模型自由发挥(#509)。 - Wiki 细节——system prompt 的 KB 页面清单按模型窗口预算裁剪;全局起步包模板只读;并发素材上传稳定化 + PostgreSQL 兼容 ID。
- 工作空间存储——「默认工作空间存储路径」进设置页;桌面本地工具白名单目录逐条可删(#512)。
- 模型——自定义供应商按协议自动发现模型 + 可配
modelsPath;每条 (provider, model) 在偏好链中唯一。 - 前端——重负载下懒加载路由更有韧性(#515);ESLint 9 扁平配置;工具调用分段按 toolCallId 去重;渠道绑定选择器能看到页面挂载后新建的员工。
- 修复——技能读取器不再被工具结果溢出截断(SKILL.md 完整到达模型);
wiki_disabled员工不再收到 wiki 提示注入;数据源连接测试时重加密密码 + 发现 PostgreSQL 视图;shell/SQL 脚本钉死 LF。
升级须知
配置完全兼容。 你的 员工 / 技能 / Wiki / 渠道 / 定时任务 / 工作流 / 触发器 / 目标 全部原样保留。Flyway 新增五条迁移(V170–V174:审计行自动批准结果列、会话 id 列加宽、团队三张基础表、team_tasks 工具注册、任务事件时间线表),三方言各一份,已有库自动 baseline。
如果你已在生产跑 v1.8.0:
- 团队按需启用。 不建团队就什么都不变;
delegateToAgent委派完全不受影响,两者共存。 - 渠道会话 id 格式变更只影响新会话的生成;历史会话有尽力迁移与老数据兜底,升级后不丢历史。
- 同名技能解锁:以前因"已存在"装不上的跨工作空间同名技能,现在可以装了——装之前确认你想要的是"每个工作空间一份"。
- 自动批准审计行多了结果列——旧行不回填,新调用起生效。
- 魔法命令拦截在 LLM 之前:以命令开头的消息(斜杠形式可带参数,如
/model qwen-max)不再进 LLM;裸别名只做整条消息精确匹配,正文里夹着/stop字样的普通消息不受影响。
这个版本对你意味着什么
如果你有一件"一个人干不完"的活——建个团队:Lead 拆任务、成员并行跑、依赖自动编排、结果自动汇总,你在看板上旁观或直接投任务。
如果你在 IM 里跑长任务——进度气泡滚动播报思考与工具轨迹,/stop 随时叫停,/model 随时换模型,不再对着一句"思考中"怀疑人生。
如果你被"重新生成"坑过——历史从此干净:回退真删、重答不重复入库,怎么刷新都一致。
如果你配过不生效的自动批准——审计行现在会告诉你为什么没放行,还给你一键补策略的入口。
如果你的 provider 偶尔抽风——过载退避、限流窗口感知、TTL 自动回收,欠费充值后不用重启自己就好了。
如果你多工作空间多租户——渠道会话与技能的隔离这次收口到每一层,串扰与越权都堵死了。
最后一件事。
1.0 让它能对话。1.x 让它能干活——锁目标、跑长任务、端到端交付一整件事。
2.0 让它带队。
拆解、派发、并行、审批、交付、复盘——一支队伍该有的机制,一样不少;一块看板,全程透明。
从"一个能干活的人"到"一支能协作的队伍"。
