@tencent-ai/agent-harness 0.2.0-beta.2 → 0.2.0-beta.4

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.
Files changed (182) hide show
  1. package/CHANGELOG.md +40 -2
  2. package/cli/CHANGELOG.md +64 -0
  3. package/cli/dist-server/shared.cjs +450 -329
  4. package/cli/dist-server/types/node/acp/acp-protocol.d.ts +8 -0
  5. package/cli/dist-server/types/node/bash-sandbox/bash-sandbox-protocol.d.ts +3 -0
  6. package/cli/dist-server/types/node/cli/cli-protocol.d.ts +3 -0
  7. package/cli/dist-server/types/node/cli/stream-json-protocol.d.ts +8 -1
  8. package/cli/dist-server/types/node/loopback/server-protocol.d.ts +5 -0
  9. package/cli/dist-server/types/node/sensitive-content/sensitive-content-protocol.d.ts +7 -0
  10. package/cli/dist-server/types/node/server/boot.d.ts +7 -4
  11. package/{lib/components → cli/dist-server/types/node/server/formats}/acp/acp-error-model.d.ts +1 -1
  12. package/{lib/components → cli/dist-server/types/node/server/formats}/acp/acp-protocol.d.ts +2 -3
  13. package/cli/dist-server/types/node/server/formats/acp/index.d.ts +12 -0
  14. package/cli/dist-server/types/node/server/formats/acp/projection.d.ts +10 -0
  15. package/cli/dist-server/types/node/server/index.d.ts +1 -1
  16. package/cli/dist-server/types/node/server/sessions.d.ts +3 -2
  17. package/cli/dist-server/types/node/server/types.d.ts +59 -7
  18. package/cli/dist-server/types/node/tools/tool-protocol.d.ts +39 -24
  19. package/cli/dist-server/types/vendor/cbc-core/node/agent/agent-protocol.d.ts +31 -2
  20. package/cli/dist-server/types/vendor/cbc-core/node/agent/agent-purpose-protocol.d.ts +8 -4
  21. package/cli/dist-server/types/vendor/cbc-core/node/agent/agent-purpose-scope.d.ts +46 -0
  22. package/cli/dist-server/types/vendor/cbc-core/node/agent/agent-service.d.ts +26 -3
  23. package/cli/dist-server/types/vendor/cbc-core/node/agent/index.d.ts +3 -0
  24. package/cli/dist-server/types/vendor/cbc-core/node/agent/model-call-failure.d.ts +9 -0
  25. package/cli/dist-server/types/vendor/cbc-core/node/agent/model-step-sequence.d.ts +11 -0
  26. package/cli/dist-server/types/vendor/cbc-core/node/agent/runner-factory.d.ts +43 -9
  27. package/cli/dist-server/types/vendor/cbc-core/node/agent/tool-call-loop-guard-protocol.d.ts +1 -1
  28. package/cli/dist-server/types/vendor/cbc-core/node/agent/tool-call-loop-pattern.d.ts +9 -8
  29. package/cli/dist-server/types/vendor/cbc-core/node/context/compaction-lineage.d.ts +39 -0
  30. package/cli/dist-server/types/vendor/cbc-core/node/context/context-compact-summarizer.d.ts +2 -0
  31. package/cli/dist-server/types/vendor/cbc-core/node/context/context-protocol.d.ts +17 -0
  32. package/cli/dist-server/types/vendor/cbc-core/node/context/index.d.ts +2 -0
  33. package/cli/dist-server/types/vendor/cbc-core/node/context/mods-bridge.d.ts +115 -0
  34. package/cli/dist-server/types/vendor/cbc-core/node/context/pre-message-compact-strategy.d.ts +1 -2
  35. package/cli/dist-server/types/vendor/cbc-core/node/message-queue/followup-queue-protocol.d.ts +3 -2
  36. package/cli/dist-server/types/vendor/cbc-core/node/message-queue/followup-queue.d.ts +1 -1
  37. package/cli/dist-server/types/vendor/cbc-core/node/message-queue/steer-input-buffer-protocol.d.ts +4 -0
  38. package/cli/dist-server/types/vendor/cbc-core/node/session/can-use-tool.d.ts +4 -0
  39. package/cli/dist-server/types/vendor/cbc-core/node/session/index.d.ts +1 -0
  40. package/cli/dist-server/types/vendor/cbc-core/node/session/interruption-service.d.ts +8 -0
  41. package/cli/dist-server/types/vendor/cbc-core/node/session/model-request-retry-phase.d.ts +16 -0
  42. package/cli/dist-server/types/vendor/cbc-core/node/session/model-response-interceptors.d.ts +15 -0
  43. package/cli/dist-server/types/vendor/cbc-core/node/session/session-manager-host-protocol.d.ts +3 -2
  44. package/cli/dist-server/types/vendor/cbc-core/node/session/session-manager.d.ts +37 -3
  45. package/cli/dist-server/types/vendor/cbc-core/node/session/session-protocol.d.ts +59 -5
  46. package/cli/dist-server/types/vendor/cbc-core/node/session/session-run-state-machine-protocol.d.ts +14 -1
  47. package/cli/dist-server/types/vendor/cbc-core/node/session/stream-timeout-retry-budget.d.ts +8 -1
  48. package/cli/dist-server/types/vendor/cbc-core/node/trace/turn-context.d.ts +28 -1
  49. package/cli/dist-server/types/vendor/cbc-core/node/utils/command-message-utils.d.ts +20 -0
  50. package/cli/dist-server/types/vendor/cbc-core/node/utils/history-utils.d.ts +4 -4
  51. package/cli/dist-server/types/vendor/cbc-core/node/utils/input-item-utils.d.ts +9 -1
  52. package/cli/dist-server/types/vendor/cbc-core/node/utils/token-utils.d.ts +3 -1
  53. package/cli/dist-server/types/vendor/cbc-shared/node/agent/openai-agents-types.d.ts +1 -0
  54. package/cli/dist-server/types/vendor/cbc-shared/node/checkpoint/checkpoint-types.d.ts +6 -0
  55. package/cli/dist-server/types/vendor/cbc-shared/node/model/model-errors.d.ts +30 -2
  56. package/cli/dist-server/types/workspace/agent-client-protocol/lib/common/index.d.ts +1 -0
  57. package/cli/dist-server/types/workspace/agent-client-protocol/lib/common/prompt-codec.d.ts +4 -0
  58. package/cli/dist-server/types/workspace/agent-client-protocol/lib/common/sandbox-rule-context.d.ts +38 -0
  59. package/cli/dist-server/types/workspace/agent-client-protocol/lib/common/types.d.ts +15 -1
  60. package/cli/dist-server/types/workspace/authentication/lib/common/account-scoped-external-link-authentication-provider.d.ts +3 -3
  61. package/cli/dist-server/types/workspace/authentication/lib/common/authentication-manager.d.ts +6 -0
  62. package/cli/dist-server/types/workspace/authentication/lib/common/authentication-observation.d.ts +36 -0
  63. package/cli/dist-server/types/workspace/authentication/lib/common/authentication-protocol.d.ts +21 -0
  64. package/cli/dist-server/types/workspace/authentication/lib/common/external-link-authentication-provider.d.ts +20 -4
  65. package/cli/dist-server/types/workspace/authentication/lib/common/index.d.ts +1 -0
  66. package/cli/dist-server/types/workspace/cbc-checkpoint/lib/node/checkpoint/checkpoint-protocol.d.ts +2 -0
  67. package/cli/dist-server/types/workspace/cbc-checkpoint/lib/node/checkpoint/checkpoint-service.d.ts +1 -0
  68. package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/agent-protocol.d.ts +31 -2
  69. package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/agent-purpose-protocol.d.ts +8 -4
  70. package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/agent-purpose-scope.d.ts +46 -0
  71. package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/agent-service.d.ts +26 -3
  72. package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/index.d.ts +3 -0
  73. package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/model-call-failure.d.ts +9 -0
  74. package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/model-step-sequence.d.ts +11 -0
  75. package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/runner-factory.d.ts +43 -9
  76. package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/tool-call-loop-guard-protocol.d.ts +1 -1
  77. package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/tool-call-loop-pattern.d.ts +9 -8
  78. package/cli/dist-server/types/workspace/cbc-core/lib/node/context/compaction-lineage.d.ts +39 -0
  79. package/cli/dist-server/types/workspace/cbc-core/lib/node/context/context-compact-summarizer.d.ts +2 -0
  80. package/cli/dist-server/types/workspace/cbc-core/lib/node/context/context-protocol.d.ts +17 -0
  81. package/cli/dist-server/types/workspace/cbc-core/lib/node/context/index.d.ts +2 -0
  82. package/cli/dist-server/types/workspace/cbc-core/lib/node/context/mods-bridge.d.ts +115 -0
  83. package/cli/dist-server/types/workspace/cbc-core/lib/node/context/pre-message-compact-strategy.d.ts +1 -2
  84. package/cli/dist-server/types/workspace/cbc-core/lib/node/message-queue/followup-queue-protocol.d.ts +3 -2
  85. package/cli/dist-server/types/workspace/cbc-core/lib/node/message-queue/followup-queue.d.ts +1 -1
  86. package/cli/dist-server/types/workspace/cbc-core/lib/node/message-queue/steer-input-buffer-protocol.d.ts +4 -0
  87. package/cli/dist-server/types/workspace/cbc-core/lib/node/session/can-use-tool.d.ts +4 -0
  88. package/cli/dist-server/types/workspace/cbc-core/lib/node/session/index.d.ts +1 -0
  89. package/cli/dist-server/types/workspace/cbc-core/lib/node/session/interruption-service.d.ts +8 -0
  90. package/cli/dist-server/types/workspace/cbc-core/lib/node/session/model-request-retry-phase.d.ts +16 -0
  91. package/cli/dist-server/types/workspace/cbc-core/lib/node/session/model-response-interceptors.d.ts +15 -0
  92. package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-manager-host-protocol.d.ts +3 -2
  93. package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-manager.d.ts +37 -3
  94. package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-protocol.d.ts +59 -5
  95. package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-run-state-machine-protocol.d.ts +14 -1
  96. package/cli/dist-server/types/workspace/cbc-core/lib/node/session/stream-timeout-retry-budget.d.ts +8 -1
  97. package/cli/dist-server/types/workspace/cbc-core/lib/node/trace/turn-context.d.ts +28 -1
  98. package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/command-message-utils.d.ts +20 -0
  99. package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/history-utils.d.ts +4 -4
  100. package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/input-item-utils.d.ts +9 -1
  101. package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/token-utils.d.ts +3 -1
  102. package/cli/dist-server/types/workspace/cbc-shared/lib/node/agent/openai-agents-types.d.ts +1 -0
  103. package/cli/dist-server/types/workspace/cbc-shared/lib/node/checkpoint/checkpoint-types.d.ts +6 -0
  104. package/cli/dist-server/types/workspace/cbc-shared/lib/node/model/model-errors.d.ts +30 -2
  105. package/cli/dist-server/types/workspace/cbc-worktree/lib/node/worktree/worktree-service.d.ts +5 -0
  106. package/cli/dist-server/types/workspace/core/lib/common/protocol.d.ts +8 -1
  107. package/cli/dist-server/types/workspace/product/lib/common/index.d.ts +1 -0
  108. package/cli/dist-server/types/workspace/product/lib/common/tencent-docs-endpoint.d.ts +37 -0
  109. package/cli/dist-server/types/workspace/product/lib/common/types/config.d.ts +12 -0
  110. package/cli/dist-server/types/workspace/product/lib/common/types/features.d.ts +17 -9
  111. package/cli/dist-server/types/workspace/product/lib/common/types/product.d.ts +15 -0
  112. package/cli/dist-server/types/workspace/prompts/lib/common/product-prompt-provider.d.ts +3 -1
  113. package/cli/dist-server/types/workspace/prompts/lib/common/prompt-protocol.d.ts +6 -0
  114. package/cli/dist-server/types/workspace/sandbox-cli/lib/common/center-protocol.generated.d.ts +5 -0
  115. package/cli/dist-server/types/workspace/sandbox-cli/lib/common/file-policy.d.ts +4 -1
  116. package/cli/dist-server/types/workspace/sandbox-cli/lib/common/http-policy.d.ts +20 -0
  117. package/cli/dist-server/types/workspace/sandbox-cli/lib/common/rule-config.d.ts +10 -0
  118. package/cli/dist-server/types/workspace/sandbox-cli/lib/node/sandbox-center-client.d.ts +3 -0
  119. package/cli/dist-server/types/workspace/telemetry/lib/common/event/types/craft.d.ts +43 -3
  120. package/cli/package.json +1 -1
  121. package/cli/product.cloudhosted.json +1 -803
  122. package/cli/product.internal.json +1 -1057
  123. package/cli/product.ioa.json +1 -1515
  124. package/cli/product.json +1 -2189
  125. package/cli/product.selfhosted.json +1 -364
  126. package/cli/vendor/shim/brokered-bin/7z +675 -0
  127. package/cli/vendor/shim/brokered-bin/7za +675 -0
  128. package/cli/vendor/shim/brokered-bin/7zz +675 -0
  129. package/cli/vendor/shim/brokered-bin/rar +675 -0
  130. package/cli/vendor/shim/brokered-bin/tar +675 -0
  131. package/cli/vendor/shim/brokered-bin/zip +187 -0
  132. package/docs/acp-v2.md +19 -0
  133. package/docs/client.md +7 -0
  134. package/docs/in-process.md +26 -2
  135. package/docs/product.md +4 -0
  136. package/docs/protocol.md +10 -2
  137. package/docs/server.md +2 -0
  138. package/lib/agent/v2.js +1 -1
  139. package/lib/application/services.js +1 -1
  140. package/lib/auth/module.d.ts +3 -1
  141. package/lib/auth/module.js +1 -1
  142. package/lib/client/client.js +1 -1
  143. package/lib/client/mcp.d.ts +1 -1
  144. package/lib/client/mcp.js +1 -1
  145. package/lib/components/acp-mcp-transport.d.mts +84 -1
  146. package/lib/components/question-elicitation.d.mts +20 -1
  147. package/lib/components/sandbox.d.mts +2 -0
  148. package/lib/components/sandbox.mjs +1 -0
  149. package/lib/components/{acp/acp-prompt-input.d.ts → session/prompt-input.d.ts} +1 -1
  150. package/lib/components/session-replay.d.mts +8 -7
  151. package/lib/components/session-replay.mjs +1 -1
  152. package/lib/effect-runtime/concurrency.d.mts +2 -4
  153. package/lib/effect-runtime/concurrency.mjs +1 -1
  154. package/lib/effect-runtime/mcp-lifecycle.mjs +1 -1
  155. package/lib/effect-runtime/process-runtime-context.d.ts +5 -1
  156. package/lib/harness/create-harness.js +1 -1
  157. package/lib/integration/agent-integration.d.ts +5 -0
  158. package/lib/protocol/acp-v2-credits.d.ts +10 -0
  159. package/lib/protocol/acp-v2-credits.js +1 -0
  160. package/lib/protocol/acp-v2-private-client.d.ts +1 -10
  161. package/lib/runtime/codebuddy-auth.d.ts +5 -3
  162. package/lib/runtime/codebuddy-auth.js +1 -1
  163. package/lib/runtime/private-runtime-role.js +1 -1
  164. package/lib/session/agent-backend.d.ts +3 -0
  165. package/lib/session/agent-backend.js +1 -1
  166. package/lib/session/config-defaults.d.ts +4 -0
  167. package/lib/session/config-defaults.js +1 -0
  168. package/lib/session/config-store.d.ts +1 -1
  169. package/lib/session/config-store.js +1 -1
  170. package/lib/session/replay.d.ts +3 -3
  171. package/lib/session/replay.js +1 -1
  172. package/lib/session/server-config.d.ts +11 -2
  173. package/lib/session/server-config.js +1 -1
  174. package/lib/session/server-events.d.ts +10 -8
  175. package/lib/session/server-events.js +1 -1
  176. package/lib/session/server-interactions.js +1 -1
  177. package/lib/session/server-mcp.js +1 -1
  178. package/lib/subagent/history.js +1 -1
  179. package/package.json +26 -20
  180. package/lib/components/acp/acp-client-channel.d.ts +0 -36
  181. package/lib/components/acp/acp-mcp-transport.d.ts +0 -84
  182. package/lib/components/acp/acp-question-elicitation.d.ts +0 -20
package/CHANGELOG.md CHANGED
@@ -1,6 +1,44 @@
1
1
  # 更新记录
2
2
 
3
- ## 0.2.0-beta.2(待发布)
3
+ ## 0.2.0-beta.4
4
+
5
+ 这一版重点修复多会话沙箱审批、取消和用量回放。
6
+
7
+ - 沙箱权限与“本次会话内允许”按实际执行会话判断,避免不同会话的完全访问权限互相影响;审批信息保留拦截原因和规则,方便宿主展示确认卡片。
8
+ - 取消配置等待、工具审批和命令执行更可靠,避免取消后迟到的授权继续启动命令;修复沙箱输出、退出事件连续到达时可能丢失的问题。
9
+ - 实时消息、历史回放和 Subagent 保留逐次用量、缓存计数及零费用;公开 Client 正确保留 Credits 费用。
10
+ - 普通文本里的 `@` 引用保持原文,仅依据显式附件信息恢复资源,避免回放时误解析用户输入。
11
+ - 任务运行中可从已完成的历史创建分支会话;修复部分自定义 Agent 因名称或描述被 YAML 解析为数字而未出现在目录中的问题。
12
+ - 工具描述正确使用本轮 Product 的提示词模板,避免模型收到 `tool-…-description` 这样的未展开名称。
13
+ - sandbox-cli 原生组件升级至 `5.8.0-beta.7`;压缩发布配置,减小 SFE 和平台包体积。
14
+
15
+ 公开 Client 和 JSON-RPC 方法无需迁移。安装精确版本:`npm install @tencent-ai/agent-harness@0.2.0-beta.4`。
16
+
17
+ ## 0.2.0-beta.3
18
+
19
+ 这一版重点完善进程内接入:Harness 可在同一进程重建,空闲会话可替换 MCP,插件 Agent 的模式组合与 CLI 保持一致。
20
+
21
+ ### 主要变化
22
+
23
+ - `createHarness()` 返回的实例完整 `close()` 后,同一进程可以再次创建新的 Harness;同一时间仍只允许一个活跃实例。`close()` 等待执行任务与连接释放,并恢复 Harness 写入的 `CODEBUDDY_CONFIG_DIR`。关闭失败时当前进程不接纳新实例。
24
+ - 会话空闲时,`session/resume` 可用新的 `mcpServers` 替换 Client 提供的 MCP 列表,下一次 prompt 使用新目录;被移除的连接会被关闭。前台或 Subagent 仍在执行时返回 busy,待任务结束后重试。
25
+ - 插件 Agent 支持 welcome-mode + interaction-mode + prompt-common 组合,模板与工具声明规则与 CLI 一致。未声明 `tools` 时继承宿主工具,显式 `tools: []` 清空内置及宿主注册的裸名工具;切换模式后下一轮采用新的指令和工具。
26
+ - `session/set_config_option` 不再改写用户或项目配置,只为同一会话的恢复保留选择;`sandbox` 的展示默认值读取当前有效配置。新的选择记录写入独立的 `.selections.json`,恢复时丢弃旧版错误投影的 `sandbox:false`。
27
+ - 修复进程内 Harness 使用 sandbox-cli 时,broker 读取不到当前会话而拒绝 Bash 文件访问的问题。
28
+ - 本地 Harness 默认启用 Agent 文件日志与 shell snapshot,分别写入 `configDir/logs` 和 `configDir/shell-snapshots`。
29
+ - Monitor 与 Bash 一致遵循 `query.options.usePty`;关闭时等待 shell snapshot 结束,避免关闭过程崩溃。
30
+ - 修复 ACP 工具参数增量、权限模式变更与重订阅的事件状态,以及无 prompt 的 compact 操作覆盖上一轮请求身份的问题。实时事件与历史回放复用同一套 ACP 编码。
31
+ - sandbox-cli 原生组件升级至 `5.8.0-beta.6`。
32
+
33
+ ### 接入说明
34
+
35
+ `session/resume.mcpServers` 表示本次 Client 的完整列表:省略或传 `[]` 会移除 Client 提供的 MCP,用户配置和插件中的 MCP 不受影响;`replayFrom` 独立控制是否回放历史。多个 Client 共享会话时,只有当前持有 MCP 的 Client 能更新。
36
+
37
+ 宿主不需要 Agent 文件日志或 shell snapshot 时,可在创建 Harness 前设置 `CODEBUDDY_DISABLE_FILE_LOGS=1` 或 `CODEBUDDY_DISABLE_SHELL_SNAPSHOT=1`。其余公开 Client 和 JSON-RPC 方法无需迁移。
38
+
39
+ 安装精确版本:`npm install @tencent-ai/agent-harness@0.2.0-beta.3`。
40
+
41
+ ## 0.2.0-beta.2(2026-09-24)
4
42
 
5
43
  这一版重点改善多工作区接入、Agent 文件加载和沙箱运行。
6
44
 
@@ -17,4 +55,4 @@
17
55
 
18
56
  公开 Client 和 JSON-RPC 方法无需迁移。`sandboxCenter` 是可选的 `createHarness` 参数;没有传入时,Harness 在首次带账号的 query 前启动 center,并在关闭时回收。单个 Harness 按一个账号管理 center;切换账号时先收口旧任务,再为新账号重启。借用宿主 center 时,切号后的重启由宿主负责。
19
57
 
20
- 本版尚未发布。发布后可安装精确版本:`npm install @tencent-ai/agent-harness@0.2.0-beta.2`。
58
+ 安装精确版本:`npm install @tencent-ai/agent-harness@0.2.0-beta.2`。
package/cli/CHANGELOG.md CHANGED
@@ -7,6 +7,70 @@ CodeBuddy Code 的所有重要更新都会记录在这里。
7
7
 
8
8
  ## [未发布]
9
9
 
10
+ ## [2.159.0] - 2026-09-28
11
+
12
+ ### 🎉 新功能
13
+
14
+ - **技能清单按目录分组展示**:Skill 工具的 `<available_skills>` 现按技能所在目录分组(每个目录一行 `skills under folder`),条目精简为「名称: 描述」,不再暴露技能文件路径;单条描述默认字符上限由 150 提升至 200;总预算不足时优先压缩描述,必要时从末尾省略条目并在末尾提示 `Omitted skills: N.`。
15
+
16
+ ### 🔧 功能改进
17
+
18
+ - **ACP 自动重试与 meta 提示**:ACP 网络自动重试时在 `agentPhase` 上带 `retry.reason=network`,接入方可直接识别重试原因;`session/prompt` 支持 `isMeta`,模型可见但不作为用户消息展示、广播或回放。
19
+ - **智能体头像更灵动且状态更清晰**:所有头像保持原本鲜明配色;闲置状态以舒缓动作呈现,活动中与等待关注状态通过更快的动作节奏和既有绿色/黄色状态点区分,不添加外圈光晕,也不降低透明度或饱和度,同时继续尊重系统的「减少动态效果」设置。
20
+ - **新建与组队头像更易区分**:普通头像扩展到 15 款;新建智能体优先选择当前使用较少的款式并持久化,房间和频道内再对冲突头像做稳定错位分配。
21
+ - **关联模型路由完善**:完善 GPT、Gemini 的 `lite` / `reasoning` 映射,并在提供新一代轻量模型的产品配置中优化 DeepSeek V4 系列路由;为缺少映射的 Hy4 IOA 与默认模型补充安全兜底,同时保持其他国产模型现有路由不变。
22
+ - **Skill 工具描述预算固定为 8000**:`<available_skills>` 列表整体(目录分组行 + 条目 + 省略行)的字符预算固定为 8000,不再读取 `CODEBUDDY_SKILL_TOOL_CHAR_BUDGET` / `SLASH_COMMAND_TOOL_CHAR_BUDGET` 环境变量覆盖,保证任何宿主环境下列表体上限一致、超出即按 per-entry cap → 均分 → names-only → 尾部省略逐级收敛。
23
+
24
+ ### 🐛 问题修复
25
+
26
+ - **Web UI 智能体配置切换不持久**:修复 Web UI 智能体模型与权限模式切换不持久的问题:配置按智能体写入状态存储并经 ACP 应用,打开模型下拉和刷新页面不再回退用户默认;权限模式直接更新 live Session 并保留覆盖值;新建智能体继承当前用户/工作区有效配置,旧智能体从主 Run 的持久启动参数自动补齐配置;嵌入智能体的目录 chip 显示真实固定 cwd。
27
+ - **并发编辑同一文件时会话卡死**:修复同一轮对话中并发编辑同一个文件时,会话可能长时间停在「修改中」、CPU 占满单核且无法停止的问题。文件快照备份不再与并发写入相互干扰;备份期间文件被外部改动时会记录告警,便于排查回退内容异常。
28
+ - **文件回退可能拿不到修改前内容**:此前快照备份写入失败会被忽略、修改照常进行,回退只能得到修改后的版本。现在备份建不出来会直接拦下本次修改并给出明确原因,文件保持原样。路径指向目录或特殊文件时会直接给出准确的路径错误,不再误报成备份故障;目录和特殊文件也不会在备份目录留下空文件。
29
+ - **PTC / Code Mode 下 `/rewind` 无法回滚文件**:这些模式下的文件编辑现在会正确创建历史快照,`/rewind` 面板不再对有实际改动的检查点误报「No code changes」,会列出改动文件并显示准确的 +N/-M 行数变更,且能通过「Restore code」把文件还原到编辑前的状态。常规模式行为不变。
30
+ - **Auto mode 权限判定**:修复强制推理模型在 Auto mode 下无法完成权限判定的问题,以及非交互 Auto mode 下安全操作被错误拒绝的问题。
31
+ - **Web UI 流式渲染闪动与跳动**:修复工具执行结束时结果区瞬间消失导致消息流上跳、思考过程完成时丢失用户已展开的阅读状态、含数学公式的正文被误判成表格而拆断等问题;长回答改为按已完成段落增量渲染,正文以稳定速率匀速流出并在末尾显示光标,不再成段跳出。
32
+ - **ESC 取消需要按两次**:修复 Web UI 中按 ESC 取消当前轮次需要按两次才停止的问题。
33
+ - **从非命令行入口注册系统服务**:修复从非命令行入口注册系统服务会写入无法启动的配置,以及把测试运行器等无效入口写入系统服务后反复启动失败的问题。
34
+ - **Web UI 右侧面板与本机文件链接**:修复切回智能体对话时可能同时出现两个右侧面板、在内嵌对话点击本机文件链接导致黑屏的问题;`file://` Markdown 链接统一在父页面右侧工作台打开,SVG 默认使用与图片一致的预览模式。
35
+ - **进程内 Agent Harness 使用 sandbox-cli**:修复 broker 因读取不到 CLI 的进程级当前会话而拒绝 Bash 文件访问的问题。broker 现在按实际执行中的 shell 调用校验会话与工具调用,并恢复该轮的异步上下文;shell snapshot 的进程退出清理也不再访问已释放的 Agent 运行时。
36
+ - **未显式选择模型时可能自动跑在预览模型上**:此前该场景按智能体声明列表的顺序取首个可用模型,而声明列表头部是模型选择器用的档位占位(默认位/快速/均衡/极致),当前环境没有对应模型时会被逐个跳过,于是自动落到列表里第一个真实模型。现在改为优先使用产品标记的默认位,没有则按当前环境下发的模型列表顺序取首个可用;智能体自身声明了具体模型时行为不变。
37
+ - **启动后首次拉取远端配置被拒**:修复首次拉取远端配置时 User-Agent 缺少产品品牌名、被服务端校验拒绝返回 400 的问题。此前产品配置尚未就绪时客户端标识会回退成安装包名,导致首屏那次配置请求失败;磁盘缓存未命中时会直接得到空配置,可用模型列表随之退化。现在首次请求与后续请求的 User-Agent 保持一致。
38
+ - **多截图对话提交立即失败(#132615)**:修复带多张截图(约 10 MB 以上)的对话提交后立即失败、报 `Request body larger than maxBodyLength limit` 的问题:此前 CLI 本地这一跳会在 10 MiB 就自行拒收,与其自身 100 MB 的接收上限不一致,重试也必然复现。内容体积确实超出服务端上限时,现在会自动移除过大的图片或截断较早的对话后继续作答,并由 AI 说明被省略了什么;无法自动恢复时才提示实际体积和处理建议,不再抛出内部传输错误信息。
39
+ - **长会话追踪数据内存占用**:限制长时间会话的追踪数据内存占用,降低服务进程因追踪数据持续增长而异常退出的风险。
40
+ - **macOS 后台服务启动失败重试频率**:限制 macOS 后台服务启动失败时的重试频率,避免失效的 CLI 路径持续拉起进程并快速写满错误日志。
41
+
42
+ ## [2.158.0] - 2026-09-24
43
+
44
+ ### 🎉 新功能
45
+
46
+ - **内置模型目录更新**:更新内置模型目录、可用范围、上下文能力与计费信息,并同步图像和视频生成模型配置。
47
+ - **Web UI 用户设置与工作空间设置**:用户设置与 CBC 配置模型保持一致并支持搜索;智能体右键菜单新增工作空间设置,可在右侧工作台按智能体工作目录编辑,相同工作目录复用同一配置,并可恢复为继承用户设置;智能体侧栏只保留全局导航头像,工作空间设置与对话导出统一收口到智能体右键菜单,后台和已完成智能体可直接导出对应转录;修复右键菜单二级分组在鼠标离开后不关闭的问题。
48
+ - **WebUI 编辑器视频预览**:打开 MP4、WebM、OGV、MOV、M4V、AVI 和 MKV 视频文件时,使用浏览器原生播放器直接预览,并提供播放、进度、音量和全屏控制。
49
+
50
+ ### 🔧 功能改进
51
+
52
+ - **同步子 Agent 支持可选墙钟超时(#129530)**:用 `CODEBUDDY_SUBAGENT_TIMEOUT_MS`(正整数毫秒,上限 `2147483647`)启用后,同步前台子 Agent 超过该预算仍未完成时会被终止,并把超时结果交回主 Agent 继续处理,主 Agent 不再无限等待。**不设、留空、非法值或超过上限均不启用**(保持原有无限等待行为);后台、detached 和 Team member 不受此超时约束。
53
+ - **macOS 沙箱压缩包创建回退**:通过 zip、rar、7z/7zz/7za 创建或更新单个普通压缩包,以及通过 tar 创建压缩包时,接入文件备份与回退登记;分卷、删除源文件、解包等未覆盖模式保留原命令行为并提示回退限制。zip 空字符串目标保留原命令行为,并明确提示未接入回退;修复 zip 多字符选项被误判为短选项组合的问题;使用日志参数时明确提示未跟踪回退,避免将日志路径误登记为压缩包;对包含 lf 的 zip 选项串增加保守保护,统一提示未跟踪回退,合法的 ll 与 f 组合可拆为独立参数保留回退跟踪。
54
+
55
+ ### 🐛 问题修复
56
+
57
+ - **A2A 任务被调用方取消后,stream-json 终态被报成执行出错**:此前取消借用 `error_during_execution` 终态,并附带 `errors: ["Turn cancelled"]`。下游 sandbox-proxy 会把 `errors` 当作回复正文转给端侧,用户看到一行 `Turn cancelled`,结束原因还被映射成"拒绝继续"。现在取消不再算错误,对齐同类 Agent CLI 的约定:终态为 `subtype: "success"`、`is_error: false`、`result` 为空,并通过新增的 `terminal_reason` 字段说明中止发生在哪个阶段:`aborted_streaming` 表示停在模型输出上,`aborted_tools` 表示停在工具执行上。取消终态同样不会带上上一轮的答复或会话上残留的结构化输出。
58
+ - **A2A 取消时如果恰好有工具在等审批,终态被报成权限被拒**:这种情况下终态此前是 `Permission denied for tool(s): unknown`,把取消说成了权限被拒。现在同样输出取消终态,`terminal_reason` 为 `aborted_tools`。真正的"拒绝权限并中断"仍然按原样报权限被拒。
59
+ - **端侧点停止(控制请求 `interrupt`)的终态现在也带 `terminal_reason`**:其余字段不变,消费方不需要再猜这一轮是不是被中断的。
60
+ - **#127888 stream-json contextWindow 入口放开**:`set_config.contextWindow` 只校验为正整数,不再按 CLI 本地模型目录校验档位(本地目录缺失/滞后时会误拒上游合法档位);`session_id` 指定哪个会话就写哪个会话。档位是否生效仍由消费端按当前模型档位判定。
61
+ - **企业模型列表 404**:endpoint 带 path 前缀(如沙箱 `http://auth.proxy/codebuddy`)时,`/console/enterprises/{id}/config/models` 请求丢掉前缀导致 404。改为交给 baseURL 拼接,保留前缀。
62
+ - **Agent Home 消息投递**:目标会话忙碌或尚未恢复完成时,收件箱会记录明确的等待阶段与原因;进入空闲后立即触发消费,投递或确认失败时保留消息继续重试。频道轮转和成员显式点名不再跳过被空闲回收的成员,后续接棒人会通过 SSE 持续展示"正在处理"。Job 详情现在可查询非空收件箱的 queued / processing 状态和最老消息等待时长。
63
+ - **Agent Home 唤醒审计**:将已入队但等待唤醒的消息从 `wake_skipped` 拆分为 `wake_deferred`,并让催办事件携带 messageId 和实际投递结果。
64
+ - **PTC 后台命令指引**:明确使用 `Bash({ run_in_background: true })` 承载会话内后台任务;文档补充需要跨会话存活时的 systemd user unit 用法,避免依赖裸 `nohup` / `setsid` 进程。
65
+ - **PTC 恢复回归**:补充长会话冷恢复测试,确保残缺 session-meta 不会令 PTC 回落 CLI,恢复后仍保持 REPL-only 工具面。
66
+ - **手动压缩重入**:主任务仍在执行或等待工具确认时触发手动压缩,会等主任务空闲后再开始,不再与当前回合抢跑,压缩摘要也不会泄漏成普通对话消息。
67
+ - **压缩后续写完成态**:自动压缩后的续写正常结束时,不再被误报为用户取消。
68
+ - **压缩边界展示**:消息前压缩和触顶压缩的边界会立即收进静态历史区,不再等助手回复后才收起;重绘前先刷新顶部栏,切换模型后顶部栏不会停在旧数据。
69
+ - **空流重试积分统计**:对话因空流自动重试时,已经产生的积分也会计入本轮消耗,聊天展示与账单保持一致。
70
+ - **对话中途追问上下文丢失**:修复"发送但不中断"的消息在触发工具后从后续模型上下文丢失,确保最终回答持续包含用户追加的问题。
71
+ - **`plugin_status` 状态上报默认关闭**:改为默认关闭,仅 CLI UI 版本默认开启,并继续支持通过环境变量显式覆盖。
72
+ - **自定义 Agent 文件链接边界**:自定义 Agent 的运行时加载与管理清单使用相同的文件链接边界,跳过指向 agents 目录外的文件链接,并保持项目级 Agent 优先于同名用户级 Agent。
73
+ - **stream-json 长会话请求身份稳定**:修复 stream-json 长会话中后台任务通知导致请求身份变化、终态无法匹配而阻塞后续请求的问题,并隔离迟到的上一轮结果,避免提前结束新请求。
10
74
  ## [2.157.0] - 2026-09-23
11
75
 
12
76
  ### 🎉 新功能