# 🚀 CodeBuddy Code v2.98.0 发布

## 📦 版本信息

| 组件 | 版本 |
|------|------|
| CodeBuddy Code CLI | v2.98.0 |
| Agent SDK JS | v0.3.156 |
| Agent SDK Python | v0.3.155 |

## ✨ 新功能

### OpenTelemetry 自定义上报（traces）

支持通过 OTel 标准环境变量将内部 traces 上报到自有 Collector，便于和企业可观测平台集成：

```bash
export CODEBUDDY_CODE_ENABLE_TELEMETRY=1
export OTEL_EXPORTER_OTLP_ENDPOINT=https://otel.corp.example.com
export OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer%20<TOKEN>
```

支持 `OTEL_TRACES_EXPORTER` / `OTEL_SERVICE_NAME` / `OTEL_RESOURCE_ATTRIBUTES` 等标准变量。详见 `docs/monitoring.md`。

### 沙箱生态资产目录白名单

沙箱安全策略默认允许 WorkBuddy 生态资产目录和跨平台技能目录写入，减少插件、技能与连接器在沙箱环境中的访问受限问题。

## 🔧 改进优化

- **自动压缩窗口提升**：未配置 `maxInputTokens` 的模型，默认 auto-compact 窗口从 100k 提升到 200k token
- **Hooks 注入 agent_id / agent_type**：所有 hook 事件 payload 补齐触发源标识，方便在全局 hook 里区分主会话与子 agent
- **Hook 去重精细化**：解决"同事件触发两次"问题，settings 跨 scope 同一 command 折叠成一份，不同插件 / 子 agent scope 各自保留一份
- **多源 hook 命中可观测**：同一事件命中 ≥ 2 条不同 hook 时，日志列出所有命中命令，方便自查冲突
- **CLI 文档补齐**：新增 `monitoring.md` 与 `codebuddy-dir.md`，完成 v2.96.1 ~ v2.97.5 release notes 中英文同步与导航更新

## 🐛 问题修复

- **后台 Bash 僵尸进程**：修复 `nohup` 等后台命令残留僵尸进程。stdout/stderr 改为直接写文件 fd；新增 50MB 输出看门狗（`CODEBUDDY_BASH_BG_MAX_OUTPUT_BYTES` 可调）和 `CODEBUDDY_BASH_BG_PIPE_MODE=1` 回滚开关
- **官方 Copilot 网关保留 thinking 字段**：修复 `auto` 模型开启思考后，请求发往官方网关时 thinking 字段被过早清理的问题
- **压缩类型透传**：修复自动压缩与手动 `/compact` 在 ACP `_meta` 中无法区分的问题
- **进程终止可靠性**：修复 `dispose()` 后 `kill()` 被 `_disposed` 标志拦截、以及 `disposeAll()` exit 事件路由丢失的问题

## 📝 文档更新

- **CLI 监控文档**：新增 `monitoring.md` 介绍 OpenTelemetry 自定义上报
- **目录结构说明**：新增 `codebuddy-dir.md` 说明 `~/.codebuddy/` 与 `.codebuddy/` 目录结构、配置优先级与记忆加载顺序
- **Release Notes 索引**：补齐 v2.96.1 ~ v2.97.5 共 7 个版本的中英文 release notes
