@tencent-ai/agent-harness 0.2.0-beta.6 → 0.2.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/cli/CHANGELOG.md +49 -0
- package/cli/dist-server/shared.cjs +174 -173
- package/cli/dist-server/types/node/server/types.d.ts +8 -1
- package/cli/dist-server/types/vendor/cbc-core/node/agent/agent-protocol.d.ts +5 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/background-task-protocol.d.ts +14 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-protocol.d.ts +2 -2
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-store.d.ts +13 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/truncation-recovery.d.ts +8 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/input-item-utils.d.ts +1 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/message-utils.d.ts +1 -0
- package/cli/dist-server/types/vendor/cbc-shared/node/index.d.ts +1 -0
- package/cli/dist-server/types/vendor/cbc-shared/node/tools/tool-names.d.ts +2 -0
- package/cli/dist-server/types/vendor/cbc-shared/node/utils/concurrency-utils.d.ts +5 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/agent-protocol.d.ts +5 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/background-task-protocol.d.ts +14 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-protocol.d.ts +2 -2
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-store.d.ts +13 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/truncation-recovery.d.ts +8 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/input-item-utils.d.ts +1 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/message-utils.d.ts +1 -0
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/index.d.ts +1 -0
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/tools/tool-names.d.ts +2 -0
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/utils/concurrency-utils.d.ts +5 -0
- package/cli/dist-server/types/workspace/product/lib/common/types/features.d.ts +34 -22
- package/cli/dist-server/types/workspace/product/lib/common/types/index.d.ts +1 -0
- package/cli/dist-server/types/workspace/product/lib/common/types/language-model.d.ts +5 -1
- package/cli/dist-server/types/workspace/product/lib/common/types/product.d.ts +7 -0
- package/cli/dist-server/types/workspace/product/lib/common/types/workspace-report.d.ts +119 -0
- package/cli/package.json +1 -1
- package/cli/product.cloudhosted.json +1 -1
- package/cli/product.internal.json +1 -1
- package/cli/product.ioa.json +1 -1
- package/cli/product.json +1 -1
- package/cli/product.selfhosted.json +1 -1
- package/docs/client.md +21 -0
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# 更新记录
|
|
2
2
|
|
|
3
|
+
## 0.2.0-beta.7
|
|
4
|
+
|
|
5
|
+
这一版修复历史请求 ID 缺失,以及调整计划后界面一直等待的问题。
|
|
6
|
+
|
|
7
|
+
- 历史消息保留原请求的 traceId,IDE 恢复会话后仍可完整复制请求 ID。
|
|
8
|
+
- 完整回放和分页回放采用相同规则,关闭会话或重启 Harness 后也保持一致。
|
|
9
|
+
- 历史追踪上下文不传给新执行,实时请求的追踪行为不变。
|
|
10
|
+
- 计划审批选择 Adjust 后正确结束本轮,保持 Plan 模式并等待下一条提问;审批等待和取消行为不变。
|
|
11
|
+
- 支持通过 W3C baggage 传入提问场景,模型请求与遥测正确归因,多轮切换和子任务保持各自归属。
|
|
12
|
+
- Skill 不再列出或执行 CLI 内置控制命令,保留同名的用户、项目和插件技能及提示词命令。
|
|
13
|
+
|
|
14
|
+
公开 Client 和 JSON-RPC 方法无需迁移。安装精确版本:`npm install @tencent-ai/agent-harness@0.2.0-beta.7`。
|
|
15
|
+
|
|
3
16
|
## 0.2.0-beta.6
|
|
4
17
|
|
|
5
18
|
这一版修复会话 MCP 工具摘要、审批和 Plan 权限恢复。
|
package/cli/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,55 @@ CodeBuddy Code 的所有重要更新都会记录在这里。
|
|
|
7
7
|
|
|
8
8
|
## [未发布]
|
|
9
9
|
|
|
10
|
+
## [2.160.0] - 2026-09-29
|
|
11
|
+
|
|
12
|
+
### 🎉 新功能
|
|
13
|
+
|
|
14
|
+
- **Web UI 原生智能体视图 v2**:Web UI 改为单条总线(`/api/v1/bus`)复用多路数据流,`journal` 以 `seq/epoch/volatile` 定序,订阅带游标续传、`ack` 即重放结束;游标不可续回时返回 `resync_required`,客户端重取快照后按 `asOfSeq` 重订阅。新增会话快照接口,一次返回消息分页、`inFlightTurn` 与待审批 / 待回答,客户端「先快照后订阅」,运行态只来自快照与 `turn` 事件。目录流改走总线(展示字段投影 diff + 同 tick 合并帧 + 15s volatile keepalive),总线就绪时停用旧 SSE、掉线自动回退;多个 Web UI 页面之间视为对等写者,同一会话可在多个页面同时打开并发送,写入由服务端 run queue 串行,TUI / `--acp` 等非 Web UI 客户端维持原有防双写者语义。行状态设 2.5s 最短停留(需要输入立即切换),默认 Agent 行的忙闲收窄到「本页连接承载主会话」;worker 在 `RUN_FAILED` 回到 idle 但进程仍存活时,job 行落成 `failed` 并冻结终结时间。
|
|
15
|
+
- **Web UI 动态工作流可视化**:启动工作流(如 `/deep-research`)后,对话中出现实时更新的工作流卡片,展示状态、当前阶段、分段进度、agent 完成数与 token 用量;输入框上方在运行期间显示等待状态,结束后自动消失。点击卡片或输入 `/workflows` 可在右侧侧边栏按阶段查看每个 agent 的指令、最近活动与结果,并支持暂停、继续、停止整个工作流或跳过单个 agent。同时修复工作流子任务的中间过程被平铺到主对话中的问题,并补齐工作流相关界面与审批卡片的中英文文案。
|
|
16
|
+
- **沙箱审批规则来源与目录授权**:沙箱审批现在提供实际命中的规则来源,支持客户端查看对应规则或保护机制;支持 macOS 非白名单目录直接删除的允许、询问、禁止设置(默认询问);文件审批支持当前目录及子目录的会话授权,读、写、删除分别生效。
|
|
17
|
+
- **资料库上传(`LibraryUpload`)**:新增工具,把本机单个文件上传为资料库节点,支持工作区外的文件(附件常在 Documents / 桌面);打开前解析软链并与 `fstat` 比对防替换,敏感路径由会话权限规则把关(工作区内静默、其余需授权);上传后节点保持私有,不生成公开分享链接;大文件按流式上传,不整体读入内存。新增 `ProductFeature.LibraryUpload` 灰度开关(默认关闭),同时校验 endpoint 与登录态,关闭时工具不注册。
|
|
18
|
+
- **Server subscribe 支持多种输出格式**:`subscribe` 支持 `openai`、`messages`、`acp-v1` 与 `acp-v2` 四种输出格式。默认保持原有 `messages` 输出;完整 SDK 原始事件通过 `format: 'openai'` 显式选择,现有消费者无需修改;Harness 使用 `acp-v2` 直接投影原生事件,复用历史消息编码,移除 stream-json 中转。旧 CLI 入口保持原有行为。
|
|
19
|
+
- **`$.ui.log` 进入 chat view**:mod-plugin(function hooks)里的 `$.ui.log(text)` 现在会作为一条 assistant-role 消息进入 TUI / Web UI 的会话历史,与用户 / 助手消息同区渲染,语义对齐 function hooks 协议的 transcript 行为。此前 `[mod] <text>` 只写 stderr、TUI 里几乎不可见,现在改为 `<plugin>: <text>` 出现在会话历史里(headless / 无 chat view 的场景仍走 stderr 兜底,可追溯性等价);`to === 'debug'` 通道保持只走 logger,不进 chat,避免污染 `--print` 的 stdout 契约。
|
|
20
|
+
- **后台工作流报告写回对话**:`/deep-research` 等命令启动的后台工作流完成后,会把最终报告写回对话,并像其他后台任务一样通知主 Agent,可随时按任务编号查看完整结果。
|
|
21
|
+
|
|
22
|
+
### 🔧 功能改进
|
|
23
|
+
|
|
24
|
+
- **后台任务完成通知更克制**:调整后台任务完成通知的提示措辞,任务跑完后不再要求助手回头翻查历史消息、自行推断「还有哪些后续步骤要做」,减少任务结束后的无谓额外动作;同时明确这类通知属于系统事件而非用户发言,避免助手把它当成用户的确认或同意后继续执行。取输出的指引保持不变。
|
|
25
|
+
- **`/btw` 与切换小上下文窗口时先压缩**:`/btw` 超过模型上下文上限时会先执行标准 `/compact`,再基于压缩后的上下文回答;TUI `/model` 在切换到较小上下文窗口前复用同一压缩流程;运行中的会话或压缩后仍无法适配目标窗口时会保留当前模型并提示重试。
|
|
26
|
+
- **错误上报带上实际域名(#132873)**:请求失败时,错误明细会带上这次请求实际打到的域名,方便按域名查看错误。
|
|
27
|
+
- **模型输入内存保护可配置(#135093)**:支持通过 `CODEBUDDY_DISABLE_MODEL_INPUT_MEMORY_GUARD=1` 关闭保护,并允许 `/compact` 在内存压力下完成上下文压缩。
|
|
28
|
+
- **后台 Shell 任务的 TaskOutput 默认增量返回**:TaskOutput 默认只返回上次读取后的新增 stdout / stderr,避免轮询时重复消耗上下文;可通过 `full: true` 获取当前累计输出快照。
|
|
29
|
+
- **会话恢复读取更快(#135192)**:使用有界异步分块读取会话尾部,减少逐行回调与插件、MCP 初始化争用事件循环造成的等待,同时避免为中大型会话加载完整文件;会话列表读取增加并发限制,并减少工具描述缓存命中的重复调试日志,降低启动阶段的资源争用和聚合内存峰值。
|
|
30
|
+
|
|
31
|
+
### 🐛 问题修复
|
|
32
|
+
|
|
33
|
+
- **内置插件市场不再每次启动重新下载**:安装后会正确记录版本,之后只在市场确实发布了新版本时才重新下载,启动更快、流量更省;同时会自动清理此前因进程中断残留在系统临时目录中的下载文件。
|
|
34
|
+
- **子 Agent 跟随主会话上下文窗口档位(#133811)**:修复 subagent(含 Agent Team 成员)不跟随主 Agent 上下文窗口档位选择的问题:主 Agent 切换到 1M 等档位后,新建或唤醒的 subagent 会自动同步该显式选择;主会话没有显式选择时 subagent 回落到自身模型的默认档,不会误继承主会话按其模型算出的有效预算。
|
|
35
|
+
- **Web UI 会话同步(#133784)**:新建会话、切换会话、链接直开恢复会话时立即显示历史,并实时收到其他端(含命令行)发到该会话的消息;同一会话可在多个网页同时打开并发送,不再提示「此会话正在其他窗口或设备使用中」;修复回合结束后会话偶发一直显示运行中、输入框卡在排队状态;回退对话后刷新页面,已回退的回复不再重新出现。
|
|
36
|
+
- **空流重试等待用量时断连(#124399)**:空流重试等待用量时如果连接断开,这一轮仍会自动重试,不会被当成一条没有正文的正常完成。
|
|
37
|
+
- **工具管控入口下线期间禁用设置不再生效**:智能体工具管控入口下线期间,已保存的工具与 MCP 禁用设置不再生效,避免工具被禁用后无法通过界面恢复。
|
|
38
|
+
- **Agent frontmatter 数字名称兼容(#101095)**:兼容 Agent frontmatter 中未加引号的有限数字名称和描述,避免文件存在但管理目录遗漏。
|
|
39
|
+
- **预热进程激活后读取实时环境**:修复预热进程激活后仍使用待命阶段环境变量和启动参数快照的问题,确保首轮工具描述及运行时配置使用当前会话值。
|
|
40
|
+
- **Product 工具描述模板名被直接发给模型**:修复 `/server` 使用逐轮 Product 时,工具描述模板名被直接发送给模型的问题;模板读取与工具描述缓存遵守执行配置边界,避免并发会话串用同名描述。
|
|
41
|
+
- **沙箱批量删除权限串用(多会话切换)**:默认权限会话不再借用其他会话的 fullAccess 跳过确认,完全访问会话也不会受其他默认权限会话影响而额外请求审批;批量删除审批、保护记录与审计始终归属命令执行的会话,需要确认时会等待用户允许后再重跑,拒绝后保持拦截。
|
|
42
|
+
- **PowerShell / Grep / Monitor 沙箱执行的会话归属**:确保删除保护、审批和后台任务属于实际执行会话;PowerShell 的 Server 沙箱审批复用 canUseTool 回调;取消后不再接受迟到的审批或发起新的 Shell 执行及本机重跑。
|
|
43
|
+
- **上下文压缩摘要污染用户消息身份(#72511)**:修复上下文压缩摘要污染真实用户消息身份,以及内部恢复续跑误触发 Sandbox 初始化和规则同步的问题。
|
|
44
|
+
- **sandbox-cli 输出与退出事件丢失**:修复 sandbox-cli 快速执行时输出和退出事件可能丢失、工具持续等待的问题;管道和 PTY 执行在响应到达时同步注册进程句柄,保留连续到达的输出与退出状态。
|
|
45
|
+
- **Sandbox Shell 懒加载遗漏事件**:Sandbox Shell 在组件初始化时注册反向监听,避免等待会话就绪期间遗漏事件;重启继续复用原监听。
|
|
46
|
+
- **Monitor 与 Bash 一致遵循 `usePty`**:Monitor 与 Bash 一致遵循宿主的 `query.options.usePty` 选择;未指定时保留 CLI 原有行为。
|
|
47
|
+
- **Server 无 prompt 的 compact 请求身份**:修复 Server 无 prompt 的 compact 操作未登记请求身份、导致压缩历史条目的 conversationRequestId 被上一轮覆盖的问题;维护操作复用内核的请求登记机制,与当前 runId 保持一致。
|
|
48
|
+
- **Server ACP 事件状态与关闭清理**:修复 Server ACP 工具参数增量、权限模式变更与重订阅事件状态;恢复读取会话时的 Agent 身份,减少无订阅者时的事件处理,并在关闭时取消 shell 快照进程。
|
|
49
|
+
- **Server 把普通文本中的客户端引用误显示为文件**:实时回显和历史回放保留文本内容,显式资源引用、图片和附件继续还原;旧 CLI 的默认引用解析行为不变。
|
|
50
|
+
- **Server 插件 Agent 组合**:Server 会话复用 CLI 插件 Agent 组合逻辑,正确展开 welcome-mode 与 interaction-mode 的模板,并应用工具声明(包括显式空列表);插件模板读取遵守会话挂载的 dataFs,多会话模式选择互不影响,普通 CLI 的插件优先级保持不变。
|
|
51
|
+
- **Server 完整 stop 后支持同进程再次 start**:每次构建独立容器与 Effect 服务实例,恢复启动时覆盖的环境配置,并等待旧执行任务结束;关闭失败时拒绝重建。Server 文件锁仅在持锁期间注册退出清理,最后一个锁释放后注销自身监听器,避免 Harness 关闭后在宿主进程留下信号监听。
|
|
52
|
+
- **Server 沙箱「本次会话内允许」串会话(#134978 #134979)**:修复 Server 沙箱「本次会话内允许」未复用或误写到其他会话的问题;审批读写绑定到执行所属 Session,保留命令与工作目录的授权边界;Server 的 canUseTool 传递与 CLI 相同的沙箱展示信息,并复用原有目录授权校验。
|
|
53
|
+
- **Server 关闭崩溃**:等待 shell snapshot 预热回调完成后再释放内嵌 Server 运行时,避免关闭时崩溃。
|
|
54
|
+
- **会话级 MCP 工具未出现在 ToolSearch 清单(#134992)**:修复 `/server` 通过 `query({ mcpServers })` 注入的会话级 MCP 工具默认延迟加载后未出现在 ToolSearch 清单的问题;清单随工具变更、配置替换和移除刷新,并保持会话隔离。
|
|
55
|
+
- **Web UI 工作目录未同步**:修复 Web UI 从 CLI 启动进入后工作目录未同步的问题:默认 Agent(主对话)的家目录跟随当前 CLI 启动目录,不再停留在历史目录;侧栏该行的时间改为显示主会话最近一次用户发言的时间,不再回落成创建日期。
|
|
56
|
+
- **工作流与多任务派生 Agent 未完整继承主会话模式**:修复工作流和多任务派生的 agent 未完整继承主会话模式的问题,并将工作流进度留在工作流视图中;同时恢复主界面通过方向键选中、回车进入普通 Agent 的操作。
|
|
57
|
+
- **大型仓库创建工作树超时残留**:修复在大型仓库中创建工作树耗时过长被中止后,残留的半成品目录与分支导致后续无法正常重新创建的问题;创建工作树的等待时间也相应放宽。
|
|
58
|
+
|
|
10
59
|
## [2.159.0] - 2026-09-28
|
|
11
60
|
|
|
12
61
|
### 🎉 新功能
|