@tencent-ai/codebuddy-code 2.127.2 → 2.127.3-next.548f19c.202607281034

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 CHANGED
@@ -7,6 +7,23 @@ CodeBuddy Code 的所有重要更新都会记录在这里。
7
7
 
8
8
  ## [未发布]
9
9
 
10
+ ## [2.127.3] - 2026-07-27
11
+
12
+ ### 🔧 功能改进
13
+
14
+ - **stdio initialize 加速**:`AgentManager.getInitializeMetadata` 改走 prewarm → activate 快照路径。`@PostConstruct` 时 fire-and-forget 起一份「元数据快照」promise,直接从 `productManager.waitConfiguration()` 的 raw agents/models 派生 `defaultAgentName` / `models` / `currentModelId`,绕开 `buildAgentsFromProductConfiguration` 内部的 fingerprint 计算、`applyPluginAgentSetting` / `applySettingsAgent` / `settingsManager.get('permissions')` 等前置。initialize 握手只 await 快照 promise。真实 agent 执行(`getDefault` / `get`)仍走 `readyDeferred`,语义不变。沙箱侧 `[InitializePhase] getInitializeMetadata` 从 409ms 降到 <10ms。 #75774
15
+ - **stdio initialize 加速**:延后 `OutputStyleManager` 加载至处理消息时,initialize 握手只返回 product 内置样式列表,不再做工作目录树遍历与插件迭代。沙箱侧 `[InitializePhase] getOutputStyles` 从 23ms 降到 <1ms,`total handle()` 从 27ms 降到 8ms;多个慢 MCP 场景下 initialize 关键路径依然不受影响。 #75774
16
+
17
+ ### 🐛 问题修复
18
+
19
+ - **流式输出中文乱码**:修复 OpenAI 兼容模型流式响应按 chunk 直接 UTF-8 解码,chunk 边界劈开多字节字符时产生 U+FFFD(�) 乱码并在多轮对话中污染会话历史的问题(改用跨 chunk 流式解码)。
20
+ - **修复流超时后对话卡死**:模型响应连续第二次发生流超时(重试额度已用尽)时,会话内部对"是否还会自动重试"的判断出现分歧,导致本轮 `session/prompt` 永远收不到结束信号、前端一直 loading 且点取消也无效。现已让两处判断共用同一重试额度口径,额度用尽时正常收尾该轮对话。
21
+ - **CephFS 工作区下自定义 agent/命令生效**:修复当项目根目录整机挂载在 CephFS 上时,`.codebuddy/agents/*.md`、`.codebuddy/commands/*.md` 等配置目录被静默跳过、导致自定义 agent 与自定义命令全部不加载的问题。CLI 目录扫描去掉了 CephFS 特判,扫描行为恢复为读取目录全部条目、不设条目上限、不静默截断。
22
+ - **本地记忆保留**:修复聊天记录清理策略会误删长期记忆 topic 文件的问题,避免 `MEMORY.md` 索引指向已删除文件。
23
+ - **预热模式环境变量生效**:修复预热(`--prewarm`)模式下 activate 阶段透传的网络环境相关环境变量在部分场景未被产品配置消费的问题,激活后拿到的模型列表与端点现在会正确反映当前会话的网络环境。
24
+ - **预热驱逐防误杀**:预热驱逐按 `prewarmId` 匹配待清理条目时新增对占位条目(`manual === true` / `pid <= 0`)的过滤,避免把占位 `pid = -1` 交给 `process.kill`;Unix 下 `kill(-1, SIGTERM)` 会向当前用户所有可发信号进程广播,可能误终止非目标进程。
25
+ - **进程信号发送防御性守卫**:`DaemonProcessManagerImpl.sendSignal` 在调用 `process.kill()` 前校验 `pid > 0`、为整数且不等于自身 PID,兜底避免误伤 WorkBuddy 之外的用户进程;`isProcessRunning` 同样在探测前拒绝非整数 / `pid <= 0`,避免 `kill(-1, 0)` 语义导致 `waitForExit` 永远等不到退出而跑满超时。 #73790
26
+
10
27
  ## [2.127.2] - 2026-07-26
11
28
 
12
29
  ### 🐛 问题修复