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

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