# 🚀 CodeBuddy Code v2.95.0 发布

## ✨ 新功能

### Agent Team 能力对齐

团队协作能力大幅增强，让多 agent 协作更稳定可控：

- **队员空闲感知**：团队 lead 现在能精确查询每个队员的实时状态，等待指定队员空闲（支持超时和 abort signal），或注册"一旦空闲就回调"的钩子。UI 展示、任务调度、优雅关停等场景无需再订阅复杂的 stream，一个 API 调用即可获知队员状态
- **Plan 审批用户体验对齐**：队员在 Plan 模式下结束 plan 时，审批弹窗自动显示在 lead 侧终端，带队员颜色徽章，选项为"通过 / 继续规划 / 退出 Plan 模式"三档（和常规工具审批的"通过 / 永久通过 / 拒绝"语义明确区分）
- **优雅关停握手 + 超时兜底**：`TeamDelete` / 手动关停队员时，lead 会发送关停请求等待队员响应；若队员在默认 15 秒内无响应，自动强制终止进程，避免队员卡死导致清理流程永挂
- **队员进度快照**：实时追踪每个队员跑了多少轮工具调用、累计生成多少文本，以及最近 10 次工具活动摘要，为 TUI/Web UI 展示"队员正在做什么"打好基础

### 新增环境变量

- `CODEBUDDY_TEAM_IDLE_DETECTION_DISABLED`：关闭队员空闲感知
- `CODEBUDDY_TEAM_SHUTDOWN_GRACEFUL_TIMEOUT_MS`：关停兜底超时毫秒数（默认 15000，设为 0 禁用）
- `CODEBUDDY_BASH_ASSISTANT_BUDGET_MS`：主对话响应预算（Bash/PowerShell 共享）
- `CODEBUDDY_BASH_AUTO_BACKGROUND_DISABLED`：关闭超时自动后台化

## 🔧 改进优化

### Bash 工具

- **超时自动后台化**：前台命令到 `timeout` 时不再直接杀子进程，而是自动转为后台任务继续跑，返回 `task_id` 供你用 TaskOutput（兼容旧名 BashOutput）拉取后续进度/结果。`yarn install` / `docker build` / `cargo build` / `make` 等冷跑远超默认 timeout 的长命令不再被工具层冤杀
- **长命令引导更新**：描述模板引导你对长命令显式传 `run_in_background: true`，并说明超时不再是"kill"而是"auto-background"的新语义

### PowerShell 工具

- **超时自动后台化**：对齐 Bash 工具，`Invoke-WebRequest` 大文件下载、长 `Copy-Item -Recurse`、经由 PowerShell 调用的构建等冷跑超时不再被工具层冤杀
- **后台任务状态查询**：显式传 `run_in_background: true` 的后台命令现在完整支持 TaskOutput 查询，可以和 Bash 一样拉取 stdout/stderr/status
- **Ctrl+B 转后台**：从"未实现"占位符升级为真实功能
- **主对话响应预算**：和 Bash 共享 `CODEBUDDY_BASH_ASSISTANT_BUDGET_MS`，超过预算自动转后台保持对话响应

### 会话中断语义

- Bash 与 PowerShell 工具均区分"用户主动取消"和"内部流程切换"两种中断信号；内部流程切换时不再杀掉正在跑的命令，改为尝试转为后台继续跑，避免并发调用或 turn 切换冤杀长命令

## 🐛 问题修复

- **PowerShell 后台任务状态更新**：转后台后任务状态现在会根据真实退出码更新为 `completed`/`failed`（之前永远停留在 `running`，TaskOutput 查询看不到最终状态）
- **PowerShell 后台任务异常回灌**：转后台后若命令晚些时候异常终止，不再冒泡为 Node unhandledRejection 警告，错误详情会回灌到任务的 stderr 输出供 TaskOutput 查询展示
- **PowerShell 后台文案语义准确**：返回文案准确区分超时 / 主对话预算 / Ctrl+B / 显式后台 / 内部中断五种来源，不再复用相近文案造成语义污染
