Skip to content

v2.1.0

稳定版 · 2026-08-15 · 上一个稳定版 v2.0.0

这个版本的几件大事

2.0.0 让一支 Agent 团队能够拆解、派发和交付;2.1.0 解决的是团队真正长期使用后的第二层问题:一次团队请求怎样成为一个可追踪、可交付、可复盘的完整运行,技能又怎样从真实工作中安全地变好。

本版的主线是 Team Run + Skill 自进化闭环 + 全程可观测

  • Team Run 成为一等对象。 一次用户请求、任务 DAG、成员执行、最终汇总与交付物共用一个 runId。Chat 负责交付成果,Agents 负责观察实时执行,Teams 负责历史与治理;三个页面读取同一份服务端投影。
  • 成果优先的团队交付。 成员子会话不再挤进普通会话列表,中间通报合并进运行卡片;最终摘要、交付物、异常和待审批项优先展示,任务与成员执行按需下钻。
  • Skill 自进化闭环。 从对话反思、跨会话重复请求挖掘,到候选晋升、受约束自动绑定、curator 治理、快照与恢复点,技能从“会记录 LESSONS”进化为一条可观察、可回滚的持续改进链。
  • 推理过程真正可回放。 内联 <think> 实时提取,每轮推理按发生顺序持久化并显示真实耗时;可独立控制是否显示思考、显示全部轮次或只显示最终轮次,并导出线性 trajectory。
  • 数字员工可以主动通知渠道。 新增 list_channel_sessions / send_channel_message,员工可在明确授权的任务中向已建立会话的 IM 目标主动推送;Cron 编辑器也会持久保存投递渠道和目标。
  • 上下文窗口按模型计算。 内置模型目录不再统一猜 128K;每个模型使用已知窗口或管理员覆盖值,GLM、Kimi 等目录补齐,工具与前缀预算更准确。
  • 流式、浏览器与工具执行加固。 渐进式工具桥降低大工具集的上下文成本;浏览器 ref、导航、等待与会话状态更可靠;WebChat 断开后正确回收孤儿运行,LLM 流增加响应体空闲超时;行动型请求不会在未真正调用工具时被误报完成。

另外还有:会话批量删除、飞书流式执行进度、Qwen3-ASR HTTP 识别链路、TTS/STT 上游诊断、按日存放上传与生成文件、跨平台附件定位、Snowflake 大整数在工具输入和 JSON 详情中保持精度,以及 OpenAI 兼容供应商 generateKwargs 透传与数值 schema 修复。


1. Team Run:一轮团队工作只有一个身份

2.0.0 的任务板能执行,但同一轮团队请求仍可能在会话、员工运行和团队看板里被拆成多个对象。2.1.0 新增持久化 mate_team_run

  • runId 串起原始请求、Lead 会话、任务、成员子会话、事件、汇总和交付物;
  • 状态统一为 planning → running → awaiting_review → finalizing → completed / partial / failed / cancelled
  • 进度、失败数、最终摘要与交付物由后端投影,前端不再各自猜状态;
  • 同一条来源消息幂等创建运行,封板后才派发,取消整轮运行会取消未终态任务;
  • Snowflake id 对外统一按字符串输出,避免 JavaScript 精度丢失。

管理 API 新增:

text
GET  /api/v1/team-runs/{runId}
GET  /api/v1/teams/{teamId}/runs
GET  /api/v1/teams/{teamId}/runs/page
GET  /api/v1/conversations/{conversationId}/team-runs
GET  /api/v1/conversations/{conversationId}/team-runs/page
POST /api/v1/team-runs/{runId}/cancel

读取接口要求当前工作空间至少为 viewer,取消整轮运行要求 admin;分页接口使用 cursor / limit,团队历史还可用 activeOnly 过滤。

Chat、Agents Live 与 Teams 三处使用同一运行标题、状态、进度和路由:

  • Chat 是交付面:一张 Team Run 卡片显示最终摘要、交付物、进度与需要关注的任务;
  • Agents 是观察面:同一 runId 的成员按运行分组,展开后看当前 phase、工具和成员执行记录;
  • Teams 是治理面:按运行浏览历史,再下钻任务、审批、证据、时间线与只读成员记录。

历史 2.0.0 任务仍可查看;没有 runId 的旧任务不会被错误拼成一轮运行。

详见 团队协作


2. Skill 自进化:从经验记录到可回滚的改进链

2.1.0 把技能学习链补完整:

  • Routine mining:按员工聚类最近会话的首条用户请求,而不是读取完整“执行轨迹”;默认门槛为 30 天内至少 3 次、跨 3 个自然日。启用后夜间任务会自动晋升达标候选(默认每轮最多 2 个),管理员也可提前晋升、忽略或重新打开;
  • Reflection:在对话达到默认 8 条新消息、且最近窗口至少有 2 个 assistant 回合时异步审阅最近 24 条消息。enabled 决定是否把对话/技能目录交给模型,auto-apply 是独立写入开关;关闭自动应用时只观察、不修改技能库,并不存在待人工批准的 reflection 队列;
  • 自动绑定:仅在新技能带有来源员工、且该员工已经使用“显式非空技能 allowlist”时补上绑定。继承全部技能的员工天然可见,显式禁用技能的员工不会被后台重新开启;
  • Curator 治理与 adopt/releaseadopt 表示把用户技能移交给自治治理,release 表示归还用户所有,并不表示“某员工采用”。Curator 初始为预览态,管理员激活后才会真正执行生命周期变更;合并功能仍需单独开启,合并与来源归档处于同一事务;
  • Snapshots / restore points:每次已激活的变更 sweep 前捕获快照,恢复前还会再建一个快照;默认每个工作空间保留 5 个恢复点;
  • 来源/治理策略:区分 builtin、user、agent 与 routine。该字段同时决定自治治理边界,手动移交会有意把 user 改为 agent,控制台据此展示已纳管/未纳管列表。

这条链默认采取保守策略:reflection 和 routine mining 默认关闭;reflection 审阅与自动应用分别 opt-in;curator 在管理员激活前只预览,consolidation 默认关闭。不可信对话与技能正文进入明确数据边界,自动写入只允许精确 patch / create,整篇覆盖、秘密外发、绕过审批和跨工作空间操作会被拒绝。所有 curator、routine、snapshot 和 adopt/release 操作都按工作空间隔离。

详见 技能系统


3. 思考显示与 trajectory:过程按真实顺序留下来

  • 流式路径实时提取模型内联 <think>,思考片段不再混入最终答案;
  • ReAct 每轮推理都可按事件发生顺序持久化,工具调用前后的推理不会被挪到一起;
  • 每段记录开始/结束时间,UI 显示真实耗时和当前阶段;
  • 「显示思考」与「显示全部轮次」是管理员可修改的系统设置;运维侧可用 mate.agent.reasoning.retention=all|terminal 控制持久化体量;
  • 会话所有者可通过 GET /api/v1/conversations/{conversationId}/trajectory 导出纯文本 trajectory,把用户消息、推理、工具调用、观察和最终答案按执行顺序展开;导出本身不附带耗时字段;
  • 预工具叙述在真正答案出现后标记为 superseded。当前聊天界面直接展示这类内容,纯文本 trajectory 也会以 content superseded="true" 保留,便于审计模型在执行前预写过什么。

详见 聊天与消息


4. 主动渠道消息与 Cron 定向投递

数字员工新增两步式渠道工具:先用 list_channel_sessions 查看当前工作空间内可推送的最近会话,再用 send_channel_message 向选定目标发送单向通知。当前支持 QQ、Telegram、微信、Slack、Discord、飞书、钉钉和企业微信。只有机器人曾收到过消息、已保存平台投递句柄且渠道当前运行的会话才可推送;目标不可猜测,跨工作空间会被拒绝,单条消息最多 4096 字符。

适合告警、提醒、异步任务结果等明确要求“通知某个群/会话”的场景。普通回复仍走当前对话,不需要调用此工具。Cron 任务编辑后会同时保存 delivery channel 与 target,避免计划更新后悄悄退回默认投递位置。

详见 多渠道接入工具系统


5. 模型窗口、参数透传与工具 schema

  • 运行时预算解析顺序为:管理员覆盖值 → 本地模型探测或供应商超限反馈的短期缓存 → 内置 ModelContextWindowCatalog → 原有全局默认值;模型列表的无 I/O 展示只使用覆盖值与内置目录;
  • 管理员可在模型管理页或 PUT /api/v1/models/{providerId}/models/context-window 设置单模型输入窗口;清空覆盖即可回到目录值;
  • GLM-5V-Turbo、Kimi coding alias 等模型获得明确窗口;工作空间成员可读取自己允许绑定的 provider 选项;
  • OpenAI 兼容请求保留数值型 JSON Schema,避免 integer/number 工具参数被错误字符串化;
  • 自定义 generateKwargs顶层非保留键会原样进入 OpenAI 兼容请求体;temperature、token 上限、topPreasoningEffort、搜索、headers 与 path 等保留键由统一读取器处理。未知的嵌套 chatOptions 键不会透传,reasoningEffort 也只发送给明确支持的模型族。

详见 模型配置


6. 浏览器、渐进式工具桥与行动完成约束

  • browser_use 增强 ref 状态、导航防护、会话门、等待条件和页面快照,页面变化后过期 ref 会被明确拒绝;
  • 渐进式工具桥只把当前任务需要的工具 schema 展开给模型,大工具目录下仍能稳定发现和调用能力;
  • 行动型请求增加完成约束:运行账本没有成功的实质性工具调用时先重试一次,仍未调用则标记 action_unverified,调用失败则标记 action_failed,不能用“已经完成”收尾;该门禁不做工具结果与目标之间的语义等价证明;
  • 工具名规范化、缓存与数值参数精度修复降低长循环中的重复查找和误调用。

7. 流式与渠道稳定性

  • WebChat 在完成或错误时主动关闭 SSE;客户端断开会解绑 subscriber,孤儿运行按策略回收;
  • LLM 流增加响应体 idle timeout,避免连接存在但上游永久无数据;
  • SSE event id 保持单调且处于 JavaScript 安全整数范围,重连去重更稳;
  • 飞书卡片展示实时执行进度;企微与同步 IM 不再把预工具排练式叙述永久留成多条消息;
  • 首 token 前显示 pending 占位,重连全量回放、乐观用户消息去重与 superseded 内容展示更加一致。

8. 语音、文件与日常管理

  • DashScope STT 改用 Qwen3-ASR 同步 HTTP 识别并修复 WAV/PCM 解码;STT/TTS 错误展示 endpoint、状态码和脱敏后的上游响应摘要;
  • 聊天附件与生成媒体按日期目录存放,Linux、macOS、Windows 的定位逻辑一致;
  • Sessions 页支持一次选择最多 200 个会话批量删除;服务端逐项校验所有权,只删除当前用户有权操作的 id。team_worker 不进入普通侧栏,因此不会出现在侧栏批量选择中;
  • Wiki、记忆、Cron、数据源等工具输入中的 64 位 id 保持字符串精度,JSON 详情查看器同样不做有损转换。

升级须知

现有配置和 2.0.0 团队数据兼容。 Flyway 会按数据库方言应用 V175–V184:主动渠道工具注册、routine 候选、技能来源与快照、curator 观察时间、快照工作空间、团队工作空间隔离、Team Run 基础表与索引、会话类型和团队任务会话索引。

升级前请注意:

  • 自进化默认保守。 reflection / routine mining 默认关闭;需要时由管理员在理解数据外发与自动写入边界后显式开启。旧 curator 状态会按工作空间读取。
  • Team Run 不伪造旧聚合。 旧任务正常显示,但只有升级后按新协议创建的运行具备完整 runId 投影。
  • 思考默认可见。 工作空间管理员可在系统设置关闭显示或只显示最终轮次;数据库压力敏感的部署可将 mate.agent.reasoning.retention 改为 terminal
  • 主动推送需要历史会话。 机器人至少收到过目标会话的一条消息,才能取得可验证的投递句柄。
  • 模型窗口覆盖可选。 已知模型自动取目录值;私有或自定义模型建议在模型管理页填写准确窗口。
  • 文件目录结构变化。 新附件按日期落盘,读取端兼容旧路径;备份脚本应继续备份整个 workspace storage root,而不是只匹配旧的单层目录。

这个版本对你意味着什么

如果你在用 Agent 团队,2.1.0 让“一次请求”终于成为一份完整工作记录:打开同一张卡,就能看到成果、文件、进度、成员和证据。

如果你在经营一批技能,2.1.0 让它们可以从真实工作中持续改进,同时保留开关边界、工作空间隔离、来源策略和恢复点。

如果你在排查长任务,2.1.0 把每轮推理、工具、观察和 Team Run 关联成可回放轨迹,不再靠猜。

2.0 让团队开始协作;2.1 让协作成为可交付、可学习、可治理的运行。