@tencent-ai/agent-harness 0.2.0-beta.1 → 0.2.0-beta.3
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 +44 -0
- package/README.md +1 -1
- package/cli/CHANGELOG.md +135 -0
- package/cli/dist-server/shared.cjs +455 -387
- package/cli/dist-server/types/node/acp/acp-protocol.d.ts +40 -12
- package/cli/dist-server/types/node/acp/usage-by-category-calculator.d.ts +21 -0
- package/cli/dist-server/types/node/bash-sandbox/bash-sandbox-protocol.d.ts +3 -0
- package/cli/dist-server/types/node/cli/cli-protocol.d.ts +3 -0
- package/cli/dist-server/types/node/cli/stream-json-protocol.d.ts +23 -2
- package/cli/dist-server/types/node/data-fs/index.d.ts +13 -1
- package/cli/dist-server/types/node/hooks/hook-protocol.d.ts +2 -2
- package/cli/dist-server/types/node/sensitive-content/sensitive-content-protocol.d.ts +7 -0
- package/cli/dist-server/types/node/server/boot.d.ts +7 -4
- package/{lib/components → cli/dist-server/types/node/server/formats}/acp/acp-error-model.d.ts +1 -1
- package/{lib/components → cli/dist-server/types/node/server/formats}/acp/acp-protocol.d.ts +2 -3
- package/cli/dist-server/types/node/server/formats/acp/index.d.ts +12 -0
- package/cli/dist-server/types/node/server/formats/acp/projection.d.ts +10 -0
- package/cli/dist-server/types/node/server/index.d.ts +1 -1
- package/cli/dist-server/types/node/server/sessions.d.ts +27 -2
- package/cli/dist-server/types/node/server/types.d.ts +65 -7
- package/cli/dist-server/types/node/settings/settings-protocol.d.ts +5 -0
- package/cli/dist-server/types/node/tools/tool-protocol.d.ts +128 -4
- package/cli/dist-server/types/vendor/cbc-core/node/agent/agent-protocol.d.ts +60 -2
- package/cli/dist-server/types/vendor/cbc-core/node/agent/agent-purpose-protocol.d.ts +8 -4
- package/cli/dist-server/types/vendor/cbc-core/node/agent/agent-purpose-scope.d.ts +46 -0
- package/cli/dist-server/types/vendor/cbc-core/node/agent/agent-service.d.ts +28 -3
- package/cli/dist-server/types/vendor/cbc-core/node/agent/index.d.ts +4 -0
- package/cli/dist-server/types/vendor/cbc-core/node/agent/interceptors/input-interceptors.d.ts +1 -6
- package/cli/dist-server/types/vendor/cbc-core/node/agent/model-call-failure.d.ts +9 -0
- package/cli/dist-server/types/vendor/cbc-core/node/agent/model-step-sequence.d.ts +11 -0
- package/cli/dist-server/types/vendor/cbc-core/node/agent/runner-factory.d.ts +56 -20
- package/cli/dist-server/types/vendor/cbc-core/node/agent/speaker-label.d.ts +44 -0
- package/cli/dist-server/types/vendor/cbc-core/node/agent/tool-call-loop-detector-service.d.ts +5 -4
- package/cli/dist-server/types/vendor/cbc-core/node/agent/tool-call-loop-guard-protocol.d.ts +1 -1
- package/cli/dist-server/types/vendor/cbc-core/node/agent/tool-call-loop-pattern.d.ts +16 -4
- package/cli/dist-server/types/vendor/cbc-core/node/context/compaction-lineage.d.ts +39 -0
- package/cli/dist-server/types/vendor/cbc-core/node/context/context-compact-summarizer.d.ts +2 -0
- package/cli/dist-server/types/vendor/cbc-core/node/context/context-protocol.d.ts +17 -0
- package/cli/dist-server/types/vendor/cbc-core/node/context/index.d.ts +1 -0
- package/cli/dist-server/types/vendor/cbc-core/node/context/pre-message-compact-strategy.d.ts +1 -2
- package/cli/dist-server/types/vendor/cbc-core/node/hooks/agent-trigger.d.ts +6 -22
- package/cli/dist-server/types/vendor/cbc-core/node/hooks/hook-protocol.d.ts +4 -1
- package/cli/dist-server/types/vendor/cbc-core/node/session/idle-queue-drain-service.d.ts +4 -56
- package/cli/dist-server/types/vendor/cbc-core/node/session/index.d.ts +4 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/interruption-service.d.ts +63 -9
- package/cli/dist-server/types/vendor/cbc-core/node/session/model-request-retry-phase.d.ts +16 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/model-response-interceptors.d.ts +33 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/recovery-budget.d.ts +55 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-hook-manager.d.ts +15 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-manager-host-protocol.d.ts +3 -2
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-manager.d.ts +17 -4
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-persistence-error.d.ts +43 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-protocol.d.ts +110 -9
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-run-state-machine-protocol.d.ts +15 -1
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-runtime-lifecycle.d.ts +5 -0
- package/cli/dist-server/types/vendor/cbc-core/node/session/session-store.d.ts +150 -4
- package/cli/dist-server/types/vendor/cbc-core/node/session/stream-timeout-retry-budget.d.ts +20 -1
- package/cli/dist-server/types/vendor/cbc-core/node/trace/turn-context.d.ts +28 -1
- package/cli/dist-server/types/vendor/cbc-core/node/utils/command-message-utils.d.ts +20 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/history-utils.d.ts +27 -4
- package/cli/dist-server/types/vendor/cbc-core/node/utils/index.d.ts +1 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/input-item-utils.d.ts +8 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/message-utils.d.ts +12 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/model-utils.d.ts +7 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/queue-dispatch-utils.d.ts +24 -2
- package/cli/dist-server/types/vendor/cbc-core/node/utils/session-utils.d.ts +4 -1
- package/cli/dist-server/types/vendor/cbc-core/node/utils/string-retention-utils.d.ts +4 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/token-utils.d.ts +3 -1
- package/cli/dist-server/types/vendor/cbc-shared/node/agent/openai-agents-types.d.ts +1 -0
- package/cli/dist-server/types/vendor/cbc-shared/node/checkpoint/checkpoint-types.d.ts +6 -0
- package/cli/dist-server/types/vendor/cbc-shared/node/hooks/hook-types.d.ts +7 -1
- package/cli/dist-server/types/vendor/cbc-shared/node/index.d.ts +2 -0
- package/cli/dist-server/types/vendor/cbc-shared/node/model/model-errors.d.ts +36 -4
- package/cli/dist-server/types/vendor/cbc-shared/node/tools/tool-names.d.ts +1 -0
- package/cli/dist-server/types/vendor/cbc-shared/node/utils/retry-backoff.d.ts +30 -0
- package/cli/dist-server/types/vendor/cbc-shared/node/utils/retry-policy.d.ts +26 -0
- package/cli/dist-server/types/workspace/agent-client-protocol/lib/common/index.d.ts +1 -0
- package/cli/dist-server/types/workspace/agent-client-protocol/lib/common/sandbox-rule-context.d.ts +38 -0
- package/cli/dist-server/types/workspace/authentication/lib/common/account-scoped-external-link-authentication-provider.d.ts +5 -5
- package/cli/dist-server/types/workspace/authentication/lib/common/account-utils.d.ts +25 -0
- package/cli/dist-server/types/workspace/authentication/lib/common/authentication-manager.d.ts +8 -2
- package/cli/dist-server/types/workspace/authentication/lib/common/authentication-observation.d.ts +36 -0
- package/cli/dist-server/types/workspace/authentication/lib/common/authentication-protocol.d.ts +40 -2
- package/cli/dist-server/types/workspace/authentication/lib/common/external-link-authentication-provider.d.ts +21 -5
- package/cli/dist-server/types/workspace/authentication/lib/common/index.d.ts +1 -0
- package/cli/dist-server/types/workspace/authentication/lib/common/wx-authentication-provider.d.ts +2 -2
- package/cli/dist-server/types/workspace/cbc-checkpoint/lib/node/checkpoint/checkpoint-protocol.d.ts +2 -0
- package/cli/dist-server/types/workspace/cbc-checkpoint/lib/node/checkpoint/checkpoint-service.d.ts +1 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/agent-protocol.d.ts +60 -2
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/agent-purpose-protocol.d.ts +8 -4
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/agent-purpose-scope.d.ts +46 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/agent-service.d.ts +28 -3
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/index.d.ts +4 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/interceptors/input-interceptors.d.ts +1 -6
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/model-call-failure.d.ts +9 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/model-step-sequence.d.ts +11 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/runner-factory.d.ts +56 -20
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/speaker-label.d.ts +44 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/tool-call-loop-detector-service.d.ts +5 -4
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/tool-call-loop-guard-protocol.d.ts +1 -1
- package/cli/dist-server/types/workspace/cbc-core/lib/node/agent/tool-call-loop-pattern.d.ts +16 -4
- package/cli/dist-server/types/workspace/cbc-core/lib/node/context/compaction-lineage.d.ts +39 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/context/context-compact-summarizer.d.ts +2 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/context/context-protocol.d.ts +17 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/context/index.d.ts +1 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/context/pre-message-compact-strategy.d.ts +1 -2
- package/cli/dist-server/types/workspace/cbc-core/lib/node/hooks/agent-trigger.d.ts +6 -22
- package/cli/dist-server/types/workspace/cbc-core/lib/node/hooks/hook-protocol.d.ts +4 -1
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/idle-queue-drain-service.d.ts +4 -56
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/index.d.ts +4 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/interruption-service.d.ts +63 -9
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/model-request-retry-phase.d.ts +16 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/model-response-interceptors.d.ts +33 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/recovery-budget.d.ts +55 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-hook-manager.d.ts +15 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-manager-host-protocol.d.ts +3 -2
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-manager.d.ts +17 -4
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-persistence-error.d.ts +43 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-protocol.d.ts +110 -9
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-run-state-machine-protocol.d.ts +15 -1
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-runtime-lifecycle.d.ts +5 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/session-store.d.ts +150 -4
- package/cli/dist-server/types/workspace/cbc-core/lib/node/session/stream-timeout-retry-budget.d.ts +20 -1
- package/cli/dist-server/types/workspace/cbc-core/lib/node/trace/turn-context.d.ts +28 -1
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/command-message-utils.d.ts +20 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/history-utils.d.ts +27 -4
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/index.d.ts +1 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/input-item-utils.d.ts +8 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/message-utils.d.ts +12 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/model-utils.d.ts +7 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/queue-dispatch-utils.d.ts +24 -2
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/session-utils.d.ts +4 -1
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/string-retention-utils.d.ts +4 -0
- package/cli/dist-server/types/workspace/cbc-core/lib/node/utils/token-utils.d.ts +3 -1
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/agent/openai-agents-types.d.ts +1 -0
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/checkpoint/checkpoint-types.d.ts +6 -0
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/hooks/hook-types.d.ts +7 -1
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/index.d.ts +2 -0
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/model/model-errors.d.ts +36 -4
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/tools/tool-names.d.ts +1 -0
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/utils/retry-backoff.d.ts +30 -0
- package/cli/dist-server/types/workspace/cbc-shared/lib/node/utils/retry-policy.d.ts +26 -0
- package/cli/dist-server/types/workspace/cbc-workflow/lib/node/workflow/workflow-execution.d.ts +14 -1
- package/cli/dist-server/types/workspace/cbc-workflow/lib/node/workflow/workflow-manager.d.ts +7 -0
- package/cli/dist-server/types/workspace/cbc-worktree/lib/node/worktree/worktree-service.d.ts +5 -0
- package/cli/dist-server/types/workspace/cbc-worktree/lib/node/worktree/worktree-session.d.ts +3 -0
- package/cli/dist-server/types/workspace/core/lib/common/protocol.d.ts +8 -1
- package/cli/dist-server/types/workspace/product/lib/common/cloud-product-provider.d.ts +9 -0
- package/cli/dist-server/types/workspace/product/lib/common/index.d.ts +2 -0
- package/cli/dist-server/types/workspace/product/lib/common/pick-market-skill-id.d.ts +13 -0
- package/cli/dist-server/types/workspace/product/lib/common/tencent-docs-endpoint.d.ts +37 -0
- package/cli/dist-server/types/workspace/product/lib/common/tool-control-catalog.d.ts +2 -2
- package/cli/dist-server/types/workspace/product/lib/common/types/config.d.ts +12 -0
- package/cli/dist-server/types/workspace/product/lib/common/types/features.d.ts +63 -11
- package/cli/dist-server/types/workspace/product/lib/common/types/language-model.d.ts +66 -0
- package/cli/dist-server/types/workspace/product/lib/common/types/product.d.ts +22 -1
- package/cli/dist-server/types/workspace/sandbox-cli/lib/common/backup-policy.d.ts +10 -1
- package/cli/dist-server/types/workspace/sandbox-cli/lib/common/center-protocol.generated.d.ts +375 -4
- package/cli/dist-server/types/workspace/sandbox-cli/lib/common/file-policy.d.ts +5 -2
- package/cli/dist-server/types/workspace/sandbox-cli/lib/common/http-policy.d.ts +20 -0
- package/cli/dist-server/types/workspace/sandbox-cli/lib/common/rule-config.d.ts +10 -0
- package/cli/dist-server/types/workspace/sandbox-cli/lib/node/sandbox-center-client.d.ts +219 -0
- package/cli/dist-server/types/workspace/telemetry/lib/common/event/types/craft.d.ts +43 -3
- package/cli/package.json +1 -1
- package/cli/product.cloudhosted.json +4 -4
- package/cli/product.internal.json +268 -45
- package/cli/product.ioa.json +354 -161
- package/cli/product.json +338 -352
- package/cli/product.selfhosted.json +2 -2
- package/cli/vendor/shim/brokered-bin/7z +675 -0
- package/cli/vendor/shim/brokered-bin/7za +675 -0
- package/cli/vendor/shim/brokered-bin/7zz +675 -0
- package/cli/vendor/shim/brokered-bin/rar +675 -0
- package/cli/vendor/shim/brokered-bin/tar +675 -0
- package/cli/vendor/shim/brokered-bin/zip +187 -0
- package/docs/README.md +1 -0
- package/docs/in-process.md +42 -2
- package/docs/protocol.md +7 -1
- package/docs/server.md +2 -0
- package/lib/agent/v2.js +1 -1
- package/lib/application/services.d.ts +3 -1
- package/lib/application/services.js +1 -1
- package/lib/client/client.js +1 -1
- package/lib/client/mcp.d.ts +1 -1
- package/lib/client/mcp.js +1 -1
- package/lib/components/acp-mcp-transport.d.mts +84 -1
- package/lib/components/question-elicitation.d.mts +20 -1
- package/lib/components/sandbox-center.d.mts +2 -0
- package/lib/components/sandbox-center.mjs +1 -0
- package/lib/components/{acp/acp-prompt-input.d.ts → session/prompt-input.d.ts} +1 -1
- package/lib/components/session-config.d.mts +2 -0
- package/lib/components/session-config.mjs +1 -1
- package/lib/components/session-replay.d.mts +6 -7
- package/lib/components/session-replay.mjs +1 -1
- package/lib/effect-runtime/mcp-lifecycle.mjs +1 -1
- package/lib/harness/create-harness.js +1 -1
- package/lib/harness/runtime.js +1 -1
- package/lib/harness/types.d.ts +3 -0
- package/lib/integration/agent-integration.d.ts +5 -0
- package/lib/integration/executor-supervisor.js +1 -1
- package/lib/public.d.ts +1 -0
- package/lib/runtime/private-runtime-role.js +1 -1
- package/lib/runtime/sandbox-center.d.ts +21 -0
- package/lib/runtime/sandbox-center.js +1 -0
- package/lib/server/public.d.ts +1 -0
- package/lib/session/agent-backend.d.ts +5 -0
- package/lib/session/agent-backend.js +1 -1
- package/lib/session/config-defaults.d.ts +4 -0
- package/lib/session/config-defaults.js +1 -0
- package/lib/session/config-store.d.ts +1 -1
- package/lib/session/config-store.js +1 -1
- package/lib/session/local-fs.js +1 -1
- package/lib/session/replay.d.ts +2 -2
- package/lib/session/replay.js +1 -1
- package/lib/session/server-config.d.ts +11 -2
- package/lib/session/server-config.js +1 -1
- package/lib/session/server-events.d.ts +10 -8
- package/lib/session/server-events.js +1 -1
- package/lib/session/server-interactions.js +1 -1
- package/lib/session/server-mcp.js +1 -1
- package/package.json +27 -16
- package/lib/components/acp/acp-client-channel.d.ts +0 -36
- package/lib/components/acp/acp-mcp-transport.d.ts +0 -84
- package/lib/components/acp/acp-question-elicitation.d.ts +0 -20
- package/lib/session/local-options.d.ts +0 -50
- package/lib/session/local-options.js +0 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# 更新记录
|
|
2
|
+
|
|
3
|
+
## 0.2.0-beta.3
|
|
4
|
+
|
|
5
|
+
这一版重点完善进程内接入:Harness 可在同一进程重建,空闲会话可替换 MCP,插件 Agent 的模式组合与 CLI 保持一致。
|
|
6
|
+
|
|
7
|
+
### 主要变化
|
|
8
|
+
|
|
9
|
+
- `createHarness()` 返回的实例完整 `close()` 后,同一进程可以再次创建新的 Harness;同一时间仍只允许一个活跃实例。`close()` 等待执行任务与连接释放,并恢复 Harness 写入的 `CODEBUDDY_CONFIG_DIR`。关闭失败时当前进程不接纳新实例。
|
|
10
|
+
- 会话空闲时,`session/resume` 可用新的 `mcpServers` 替换 Client 提供的 MCP 列表,下一次 prompt 使用新目录;被移除的连接会被关闭。前台或 Subagent 仍在执行时返回 busy,待任务结束后重试。
|
|
11
|
+
- 插件 Agent 支持 welcome-mode + interaction-mode + prompt-common 组合,模板与工具声明规则与 CLI 一致。未声明 `tools` 时继承宿主工具,显式 `tools: []` 清空内置及宿主注册的裸名工具;切换模式后下一轮采用新的指令和工具。
|
|
12
|
+
- `session/set_config_option` 不再改写用户或项目配置,只为同一会话的恢复保留选择;`sandbox` 的展示默认值读取当前有效配置。新的选择记录写入独立的 `.selections.json`,恢复时丢弃旧版错误投影的 `sandbox:false`。
|
|
13
|
+
- 修复进程内 Harness 使用 sandbox-cli 时,broker 读取不到当前会话而拒绝 Bash 文件访问的问题。
|
|
14
|
+
- 本地 Harness 默认启用 Agent 文件日志与 shell snapshot,分别写入 `configDir/logs` 和 `configDir/shell-snapshots`。
|
|
15
|
+
- Monitor 与 Bash 一致遵循 `query.options.usePty`;关闭时等待 shell snapshot 结束,避免关闭过程崩溃。
|
|
16
|
+
- 修复 ACP 工具参数增量、权限模式变更与重订阅的事件状态,以及无 prompt 的 compact 操作覆盖上一轮请求身份的问题。实时事件与历史回放复用同一套 ACP 编码。
|
|
17
|
+
- sandbox-cli 原生组件升级至 `5.8.0-beta.6`。
|
|
18
|
+
|
|
19
|
+
### 接入说明
|
|
20
|
+
|
|
21
|
+
`session/resume.mcpServers` 表示本次 Client 的完整列表:省略或传 `[]` 会移除 Client 提供的 MCP,用户配置和插件中的 MCP 不受影响;`replayFrom` 独立控制是否回放历史。多个 Client 共享会话时,只有当前持有 MCP 的 Client 能更新。
|
|
22
|
+
|
|
23
|
+
宿主不需要 Agent 文件日志或 shell snapshot 时,可在创建 Harness 前设置 `CODEBUDDY_DISABLE_FILE_LOGS=1` 或 `CODEBUDDY_DISABLE_SHELL_SNAPSHOT=1`。其余公开 Client 和 JSON-RPC 方法无需迁移。
|
|
24
|
+
|
|
25
|
+
安装精确版本:`npm install @tencent-ai/agent-harness@0.2.0-beta.3`。
|
|
26
|
+
|
|
27
|
+
## 0.2.0-beta.2(2026-09-24)
|
|
28
|
+
|
|
29
|
+
这一版重点改善多工作区接入、Agent 文件加载和沙箱运行。
|
|
30
|
+
|
|
31
|
+
### 主要变化
|
|
32
|
+
|
|
33
|
+
- 每个会话按自己的工作目录加载 Skills、命令、Agent 和已启用的插件组件,避免不同工作区读到彼此的项目配置。通过目录链接或 Windows junction 提供的 Agent 也会出现在管理列表中。
|
|
34
|
+
- Agent 管理列表与运行时现在采用相同的文件链接边界:指向 `agents` 目录外的单个 Markdown 文件链接不会被加载。项目级和用户级 Agent 重名时,项目级定义优先;“打开/删除”定位到实际生效的文件。
|
|
35
|
+
- 工具等待用户审批时,不会因为 30 秒内没有下一条执行结果就提前结束本轮任务;审批返回后继续执行,取消仍可结束等待。
|
|
36
|
+
- Windows 下 Harness 的前台、后台 Bash 使用非交互 pipe 传递输出,并改进关闭时的进程回收。原生 sandbox-cli 的 PTY 文本捕获问题尚未解决;此变化不代表 PTY 模式已修复。
|
|
37
|
+
- Linux 支持原生 sandbox-cli。安装对应架构的平台组件后,宿主可在会话中启用沙箱;缺少组件时不会展示该开关。
|
|
38
|
+
- Harness 现在按需启动并管理 `sandbox-center`。已有 center 的宿主可通过 `createHarness({ sandboxCenter: { address } })` 传入其 IPC 地址;Harness 只借用连接,不会关闭宿主的进程。
|
|
39
|
+
|
|
40
|
+
### 接入说明
|
|
41
|
+
|
|
42
|
+
公开 Client 和 JSON-RPC 方法无需迁移。`sandboxCenter` 是可选的 `createHarness` 参数;没有传入时,Harness 在首次带账号的 query 前启动 center,并在关闭时回收。单个 Harness 按一个账号管理 center;切换账号时先收口旧任务,再为新账号重启。借用宿主 center 时,切号后的重启由宿主负责。
|
|
43
|
+
|
|
44
|
+
安装精确版本:`npm install @tencent-ai/agent-harness@0.2.0-beta.2`。
|
package/README.md
CHANGED
|
@@ -111,4 +111,4 @@ await client.connect({ url: 'ws+unix:////./pipe/agent-harness:/rpc' });
|
|
|
111
111
|
- [协议与会话生命周期](https://unpkg.com/@tencent-ai/agent-harness@beta/docs/protocol.md):JSON-RPC、ACP v2 与扩展接口。
|
|
112
112
|
- [账号认证](https://unpkg.com/@tencent-ai/agent-harness@beta/docs/authentication-guide.md):登录、已有账号接入和凭据刷新。
|
|
113
113
|
- [配置与模型](https://unpkg.com/@tencent-ai/agent-harness@beta/docs/product.md):配置来源与模型服务接入。
|
|
114
|
-
- [全部文档](https://unpkg.com/@tencent-ai/agent-harness@beta/docs/README.md)。
|
|
114
|
+
- [全部文档](https://unpkg.com/@tencent-ai/agent-harness@beta/docs/README.md) · [更新记录](https://unpkg.com/@tencent-ai/agent-harness@beta/CHANGELOG.md)。
|
package/cli/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,141 @@ 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 长会话中后台任务通知导致请求身份变化、终态无法匹配而阻塞后续请求的问题,并隔离迟到的上一轮结果,避免提前结束新请求。
|
|
74
|
+
## [2.157.0] - 2026-09-23
|
|
75
|
+
|
|
76
|
+
### 🎉 新功能
|
|
77
|
+
|
|
78
|
+
- **CLI 白牌定制**:支持通过 `customization.json` 定制 CLI 的软件名称、启动 Logo、品牌配色、EndPoint 网关、遥测上报端点、产品内链接、内置插件市场与配置目录,面向专享版 / 私有化交付;支持 npm 包形态(离线 tgz 分发)与 Bun 二进制形态(单文件可执行、定制配置编译期嵌入防篡改)两种定制出包方式;升级策略可按客户禁用自动更新或指向客户自建升级源;定制目录名 / 指令文件名与官方不同时,可按需回退读取存量配置与记忆。
|
|
79
|
+
- **录音文件识别内置工具**:可将本地音频文件转写为带时间范围的文本,支持 wav/mp3/m4a/flv/mp4/wma/3gp/amr/aac/ogg-opus/flac 等常见格式,单文件时长 ≤5 小时、大小 ≤1GB,覆盖中文、英语及多种方言。工具自动上传音频、内部提交异步转写并轮询,用户无需自行提供链接或查询进度;识别失败、文件无效或超时会返回明确说明。该能力为计费工具,可由宿主开启高积分前置确认(本次确认 / 会话内始终允许 / 拒绝),默认关闭,通过产品配置或环境变量开启。
|
|
80
|
+
- **资源管理器文件传输**:支持将本地文件拖拽上传到指定目录并显示文件数与字节进度;目录可通过右键菜单下载为 ZIP;并可从文件或目录所在位置直接打开终端。
|
|
81
|
+
- **Output Styles 能力增强**:新增内置样式,支持 `/output-style <style>` 直接切换并写入项目本地设置,无界面模式可列出并标记当前样式;自定义样式支持用户级与 Git 仓库内嵌套项目目录,距离当前工作目录最近的同名定义优先,插件样式支持独立的 `force-for-plugin` 语义;前台 fork、内部 fork 与后台 fork 均继承当前样式。
|
|
82
|
+
- **目标(/goal)的 ACP 宿主控制通道**:新增宿主控制方法,可让目标立即暂停 / 继续 / 清除 / 改条件,以及只读查询当前目标快照,语义与 Web UI 接口一致但不进 prompt 队列,做到秒停;没有活跃回合时(暂停、清除、达成)以及历史回放结束时,目标状态帧同样送达会话级连接,宿主状态条不再停在旧状态;换进程后目标状态可由宿主快照与 history 恢复执行镜像。
|
|
83
|
+
- **Server 宿主接入能力**:Server 复用现有 Agent、SessionStore 和插件加载器,提供空会话创建、只读历史与目录、轮内追加、压缩、回退和下一轮组件刷新入口;query 支持宿主 Product、认证刷新、Hook、自定义工具、标准 MCP Transport 和会话 Sandbox 配置;subscribe 补充工具、子任务、配置、目录、用量和轮次事件及 drain / closed / unsubscribe;Server 启动不再隐式连接宿主命令行或 CLI 用户配置中的 MCP,避免嵌入宿主重复启动 MCP 进程。
|
|
84
|
+
- **运行时安全检测(企业托管)**:新增 Prompt、工具调用前和工具结果三处运行时安全检测,支持告警、默认拒绝审批、拦截与本机审计记录;本机审计只记录命中事件,文案写用户的原始指令。
|
|
85
|
+
- **stream-json 上下文窗口选择**:`set_config` 支持通过 `contextWindow` 在首条消息前或会话运行时选择模型支持的上下文预算,保持原配置请求与逐键响应格式不变。
|
|
86
|
+
- **客户端自定义 header 透传扩展到 ACP 链路**:客户端可随 prompt 透传自定义 header 到官方 model gateway,与 stream-json / print 链路共用同一套前缀白名单与门控策略,ACP 侧按轮次写入并在轮末还原,杜绝跨轮或后台请求残留。
|
|
87
|
+
|
|
88
|
+
### 🔧 功能改进
|
|
89
|
+
|
|
90
|
+
- **ToolSearch 检索质量提升**:优化工具检索的分词与排序,补齐 camelCase 命名工具(如部分第三方 MCP)的召回,并对低相关结果加相关性下限过滤,显著减少返回的无关工具;新增可选环境变量 `CODEBUDDY_TOOL_SEARCH_MIN_SCORE_RATIO` 调节相关性下限(默认 `0.3`)。工具发现的排序策略进一步去噪调优,工具名按单词拆分索引的能力新增运行时开关,可快速回退到默认分词行为。
|
|
91
|
+
- **任务闭环与循环检测**:完成任务后自动提示剩余工作或最终验证要求,减少在实现、测试或交付前提前结束;识别仅 JSON 参数键顺序不同的重复工具调用,减少无效调用。
|
|
92
|
+
- **定时任务执行记录管理**:执行记录支持单条和批量删除,执行中或排队中的记录受保护不可删,清理不影响定时任务本身或关联对话;每条记录展示实际执行它的实例类型与所属会话,并支持跳转到关联对话查看实时过程或完整结果;流程图、时序图等 Mermaid 图表支持放大 / 缩小、适应视图和全屏查看。
|
|
93
|
+
- **频道任务板读写分权**:派生会话(子代理 / fork / Agent Teams)现在可以读频道任务板,避免重复别人已在做的事;认领、完成、派发等改板操作仍只在同事自己的主对话里进行,保证一个任务只有一个负责人。
|
|
94
|
+
- **频道发言归属**:以同事身份在频道发言只发生在该同事自己的主对话里,子代理 / fork / Agent Teams 会话不再能冒充同事对房间讲话;默认 Agent 以用户身份进频道说话不受影响。
|
|
95
|
+
- **Agent Home 工具宿主判据放宽**:会话级判据不再要求进程带 `--serve` 宿主指纹,内嵌 Web UI、同事 job 等形态都能拿到频道与协作工具,方便宿主按自身形态接入。
|
|
96
|
+
- **团队 agent 与子代理跟随会话模式**:会话内切换 Agent Mode(标准 / PTC / 极简 / 创造 / 自定义主模式预设)后,teammate 与子代理(含 Explore 这类任务型子代理)都按同一模式运行;子代理的沙箱按自身定义收窄,只收窄不放宽,REPL 的工具目录、发现接口与调用路径共用同一份身份判据。
|
|
97
|
+
- **REPL 调用标题**:加强 REPL 工具 `description` 参数说明,引导模型总是给出简短的动作标题,时间线据此展示该调用的意图。
|
|
98
|
+
- **Browser 导航接入安全中心网络规则**:内置 Browser MCP 显式打开网页和 URL 导航接入安全中心网络规则,支持询问用户授权,沿用 IPC 失败时放行的行为。
|
|
99
|
+
- **子 Agent 并发上限**:子 Agent 默认最多同时运行 20 个,并支持通过 `CODEBUDDY_CODE_MAX_CONCURRENT_SUBAGENTS` 调整;完成、失败、取消或终止后会自动释放并发槽位。
|
|
100
|
+
- **连接复用与启动性能**:ACP HTTP Server 空闲 keep-alive 回收窗口从 5s 放宽到 75s,并使客户端按服务端声明的窗口自适应淘汰,恢复 loopback 连接复用且不回退旧版行为;Server 启动计时复用现有 profiler,支持宿主名称与分段统计。
|
|
101
|
+
- **发布产物精简**:cbc 的 full 与 headless 产物不再拆分 lazy chunk,分发文件数与升级期间的 chunk 合并复杂度明显下降;lite-wb 保持既有 lazy 化不变,用于压低 standby 常驻内存。
|
|
102
|
+
- **Server 构建与组件复用**:Server 提供独立 default 工具预设构建目录,宿主可共享组件模块图及 Effect 依赖,现有 Cloud/workbuddy 预设保持独立;复用 lite-wb 的惰性加载和模型目录压缩,并修复跨平台产物中的构建机路径残留。
|
|
103
|
+
- **Daemon 任务回执**:Agent Home 支持逐项、仅整批或关闭自动完成回执,同时保留频道事件与负责人收口流程。
|
|
104
|
+
- **完成通知与模式切换**:新增 Windows 系统通知支持,云端 / 无桌面环境下提示并引导改用浏览器通知(设置页显示浏览器授权状态);侧栏的「单干 / 组队」切换器收成纯图标,使用搜索时也保留切换入口。
|
|
105
|
+
|
|
106
|
+
### 🐛 问题修复
|
|
107
|
+
|
|
108
|
+
- **模型列表不再回落旧清单**:修复在容器、远程开发机等凭据读取较慢的环境下,新开终端时 `/model` 列表退化成随包内置旧清单、看不到最新上线模型的问题,登录完成后的补拉现在会立即生效。
|
|
109
|
+
- **长会话恢复后主 Agent 模式失效**:会话身份(主 Agent 模式、多任务 overlay、A2A 上下文、宿主类型)快照现在会在恢复时补读文件头、并随历史增长周期性补写到文件末尾,身份可自愈;关闭多任务模式能真正落盘,不再重开会话又变回开启;中途开启多任务模式不再把主 Agent 打回标准模式,字段按字段继承、新值优先,不会再被视野不全的写入方擦掉。
|
|
110
|
+
- **任务标题稳定性**:上下文压缩后保留已生成或用户修改的会话标题,阻止后台任务通知、监控事件等系统信封被误用为标题;WorkBuddy 任务标题恢复自动生成,统一清除隐藏的系统提醒,并在用户输入与后台通知分块共存时优先识别明确的用户查询,同时继续排除混合通知和格式异常的消息。
|
|
111
|
+
- **本地多图片对话**:提高 ACP 本地 HTTP 请求体上限,避免大量图片经 base64 编码后触发 `request entity too large` 并导致发送失败。
|
|
112
|
+
- **空流与失败切备**:Completions 空 Readable 切一次备站,避免主站连打;上游只吐思考并以 `finish_reason=error` 收尾时会话层恢复最多 1 次重试;Agent Team 后台成员遇到模型空输出时不再永久卡在 running/retrying,成员任务如实失败收口并通知,空输出也不再被成功率遥测误记为成功。
|
|
113
|
+
- **空闲 job / worker 回收**:回收判定收紧为「真的在跑」,attach 只在 1 小时内钉住回收,无 pid 的僵死行空闲 24 小时后收成终态,不再长期占用内存或显示「运行中」;回收拒绝原因按可检索的原因码记日志。
|
|
114
|
+
- **长任务内存占用**:修复 Trace、缓存及预览截断文本仍保留完整父字符串、导致内存持续增长并可能堆溢出的问题,保持原有展示长度与 Unicode 文本内容。
|
|
115
|
+
- **Team 子任务授权恢复空转**:工具批准写入产生中断的准确运行状态,来源运行已结束或已释放时不再触发恢复;同一组未决工具调用无任何实际进展时最多重复恢复 3 次即阻断,正常等待用户审批不计入;延迟派发模式下的子任务排队消息可正常消费;同 ID 会话不再被旧任务清理误释放。
|
|
116
|
+
- **团队 teammate 权限档与审批**:spawn 时把 leader 当前生效的权限档显式带给 teammate,teammate 启动时真正落位(`plan` 不外传);需要审批的 teammate 会把审批通过团队通道转给 lead,由用户作答后继续;同事执行体取值做白名单校验;启动参数解析不再把「值」当成「旗标」,审批请求不会被送到非预期地址。
|
|
117
|
+
- **频道轮转唤醒与交接**:修复非 @ 用户发言后唤醒队列断链的问题;接力叫到不可达成员时当场交棒给下一位,完全没送出去的唤醒不再占用自动唤醒限速预算;@ 点名成员未回频道发言时按固定间隔催办、满额后按弃权推进队列;成员进程不在时显示头像红点并支持一键重启,轮次收场在频道里落一行系统消息说明原因;交棒 / 催办不再被回执误写成「被 @ 点名」。
|
|
118
|
+
- **频道工具可见性与身份归属**:频道发言、任务板、私信工具对所有 Agent Home job agent 可见,含尚未被认领的后台任务;发言、改板、私信等动作要求真实身份,认不出同事身份时明确拒绝,不再以用户身份代发;派生会话不再能以同事身份私信别人或写入用户主对话邮箱;会话身份登记上限淘汰改为保留最新记录。
|
|
119
|
+
- **Agent Home 生效范围**:在 Web UI 打开 CodeBuddyS 后,终端里新开的对话不再被当成 Agent Home 主对话,不再注入同事花名册 / 频道提醒或提供自治工具,同事完成回报留在队列等 Web UI 会话打开时投递;同事身份改为按会话持久登记,job 内派生的会话与新建智能体首轮未完成认领的窗口不再丢失频道能力。
|
|
120
|
+
- **提问与权限面板重复渲染**:修复 Web UI 回答提问后,会话历史回放(刷新页面 / 切换会话 / 断线重连)可能把同一提问再渲染一次的问题;回放窗口内处理过的审批面板不再以未处理状态复活,也不会再拦住输入框。
|
|
121
|
+
- **WebUI 频道消息与多会话**:频道消息气泡限制在共享阅读宽度内并自然换行,使用与普通聊天一致的方向性圆角;上一对话持续运行时仍可新建并切换对话,晚到的会话事件不会再串到新选中的对话。
|
|
122
|
+
- **切换智能体后工作目录串台**:每次切换都按当前所在会话重新确定工作目录,切回主对话立即恢复该会话自己的目录;归属目录取不到时统一回落到启动目录,不再跟着「添加目录」的结果走;目录入口直接展示会话创建时确定的固定目录与说明,避免「添加目录」被误读为切换工作目录。
|
|
123
|
+
- **会话可靠性与对话状态**:强化后台进程身份核验与恢复清理,避免进程号复用导致状态误判;统一 Web 与终端中的思考、工具调用、运行阶段和恢复状态展示;修复移动端浏览器安全区、动态视口、Markdown 表格及输入区宽度问题,消息内容与输入框保持同宽。
|
|
124
|
+
- **工作区文件回退与重命名**:修复冷打开历史会话后、未先发送消息时文件回退因沙箱规则未准备而失败的问题;修复通过 Bash 改名的文件未进入产物回退预览的问题,回退时恢复原路径并移除新路径。
|
|
125
|
+
- **后台子代理取消**:主 Agent 执行中按 Esc 会同时停止其后台 subagent,不再需要逐个进入成员视图取消。
|
|
126
|
+
- **终端审批选项**:修复终端审批选项低频出现方向键可移动、但回车和 Esc 无法生效的问题。
|
|
127
|
+
- **Agent 管理目录符号链接**:修复 Agent 管理目录遗漏符号链接或 Windows junction 子目录中的定义,使 `agent/list` 与运行时加载结果一致。
|
|
128
|
+
- **定时任务执行记录不再「复活」**:重启或状态合并时,若磁盘上的终态记录已被删除或被保留策略清理,本地缓存不再把它写回列表。
|
|
129
|
+
- **`@文件引用` 不再误伤 git diff**:引用语法统一为仅识别行首或空白后的单个 `@`,词内 `@`(如邮箱)、`@@` diff 标记及代码块或行内代码中的 `@path` 均按字面文本处理。
|
|
130
|
+
- **技能命令转发**:统一识别带或不带斜杠的自定义命令名,修复技能通过名称转发项目命令时提示找不到命令的问题。
|
|
131
|
+
- **状态栏上下文用量**:自定义状态栏改为只输出最新一次模型请求的 token,并正确拆分普通输入、缓存读取和缓存写入,不再混入会话累计缓存量,与 `/context` 共用同一统计口径。
|
|
132
|
+
- **PTC / Code Mode Hook**:PTC 模式下在 REPL 中调用需审批的工具时,现会正确触发 PermissionRequest hook;在 REPL 中发起需要用户应答的交互时,现会补发权限提示通知,便于审计、策略联动与桌面 / 终端提醒。
|
|
133
|
+
- **工具发现口径一致**:`REPL.describeTool` / `describeTools` / `searchTools` 与骨架目录共用同一份沙箱可见性判定,不再返回沙箱里实际不存在的工具或提示不存在的全局;加入频道、身份登记完成这类会话级能力变化后,同一会话的下一次调用即可用上新可见的工具。
|
|
134
|
+
- **会话历史落盘失败不再终止回合**:Windows `EBUSY` / `EPERM` / `EACCES` 等本地写失败被识别为旁路故障,短退避重试后放弃当批并只记日志;恢复会话时严格配对 tool_call 与 tool_result,丢掉孤儿调用与重复调用,此前本地正文里的持久化孤儿会让每次恢复都被上游拒绝。
|
|
135
|
+
- **网络监控口径补齐**:API 请求指标补充 `host`(最终目标域名)、`path`(动态段归一化)与 `error_code`(传输层错误码)维度,支持按请求量口径统计主备域名流量分布与传输层失败细分。
|
|
136
|
+
- **Daemon 与自动更新**:修复 pnpm 安装在缺少环境变量或存在多个全局副本时被误判为 npm、更新到错误位置仍提示成功的问题;修复 systemd 托管下自重启可能静默全停,旧版服务配置未迁移时安全拒绝自重启;补齐空闲会话的空闲起始时间;Daemon 默认使用普通权限模式;Web 对话明确支持 headless PTC,并保证会话结束、取消和重连后正确恢复输入状态。
|
|
137
|
+
- **Product 首次加载**:内置配置接口和宿主自定义配置请求可在认证刷新完成前加载,避免循环等待,普通业务请求仍等待新凭据。
|
|
138
|
+
- **Server 关闭与生命周期**:关闭失败时保留具体清理阶段和原始错误堆栈;取消 Product 延迟刷新、停止配置通知并等待在途同步;等待 MCP 配置刷新结束后再释放执行服务;未启用的可选组件不再导致容器清理提前失败;关闭时明确拒绝仍在等待的配置读取,避免调用永久挂起;Windows 本地命令超时和取消时回收进程树,PTY 自然结束后释放仍保活的连接资源。
|
|
139
|
+
- **Server 会话工作目录与审批等待**:Server 的每条会话 query 在各自工作目录中执行,提示词、Bash 与会话历史使用传入的 `cwd`,同一进程服务多个工作区时不再回退到宿主进程启动目录;修复 `/server` 会话在工具审批等待超过 30 秒时提前结束 `query` 的问题,等待 `canUseTool` 回调期间保持回合打开,直到续跑结果或显式取消到达。
|
|
140
|
+
- **Server 共享组件**:配置组件支持宿主提交回调和版本化用户配置事务,配置缓存区分文件系统与路径;插件、Agent、命令和 Skill 目录读取复用原解析器;会话 Product 与 MCP 工具目录按执行上下文读取;文件工具可向宿主提供变更事实;修复模型完成后重试导致的用量遗漏,以及会话标题生成、超时和关闭时的资源清理问题。
|
|
141
|
+
- **Server Bash 输出方式**:支持宿主通过 query 选项为 Bash 选择输出方式,未指定时保留 CLI 原有选择,沙箱规则、权限审批与进程回收不变。
|
|
142
|
+
- **沙箱与工具名称映射**:修复 bash/zsh 沙箱未传递 Electron 的 Node 运行模式标记、导致文件操作辅助命令启动失败的问题;修复 Server 进程内会话延迟加载 Sandbox Shell 时遗漏命令输出和退出事件、导致 Bash 工具一直等待的问题;修复工具名称映射将 Agent 与 MCP SDK 提前载入 lite-wb 启动主包,并在 MCP 工具目录整组替换后同步更新名称别名。
|
|
143
|
+
- **WebUI 界面细节**:打开目录弹窗可显示并进入有效目录符号链接,在文件树与文件浏览列表中标识符号链接并保持沙箱工作目录边界校验;定时任务执行记录页筛选下拉框的文字与箭头间距在窄屏和中英文文案下保持一致。
|
|
144
|
+
|
|
10
145
|
## [2.156.0] - 2026-09-20
|
|
11
146
|
|
|
12
147
|
### 🎉 新功能
|