# 更新日志

CodeBuddy Code 的所有重要更新都会记录在这里。

我们遵循 [语义化版本](https://semver.org/spec/v2.0.0.html) 规范。


## [未发布]

## [2.61.2] - 2026-03-13

### 🔧 功能改进

- **企业微信 AI Bot WebSocket 兼容性**：将 WebSocket 实现从 Node.js 专用库迁移到 W3C 标准 API，支持 Bun 和 Node.js 双运行时
- **企业微信 AI Bot 自动连接**：新增 `--wecom-bot` 启动参数，支持启动时自动连接企业微信 AI Bot

## [2.61.1] - 2026-03-12

### 🔧 功能改进

- **SDK 版本更新**：升级 Agent SDK JS 至 0.3.81

## [2.61.0] - 2026-03-12

### ✨ 新功能

- **# 快捷键记忆保存重构**：将 # 快捷键的记忆保存从 Auto Memory (MEMORY.md) 改为通过 `MemoryManager.addFact()` 保存到 CODEBUDDY.md，支持选择 Project 或 User 两种 scope
- **/memory 命令支持参数调用**：`MemoryCommandExecutor` 新增参数模式，支持通过 `args` 直接传入 fact 和 scope 进行保存，无需导航到管理页面

### 🔧 功能改进

- **Auto Memory 重构**：重构记忆系统，支持独立控制 Auto Memory 开关，新增 `/memory` 管理面板和 `/config` 面板切换
- **Typed Memory**：新增实验性 Typed Memory 模式，支持 4 种结构化记忆类型（user/feedback/project/reference）和 YAML frontmatter 格式
- **记忆配置**：新增 `autoMemoryEnabled` 和 `typedMemory` 设置项，支持通过环境变量 `CODEBUDDY_DISABLE_AUTO_MEMORY` 和 `CODEBUDDY_TYPED_MEMORY_ENABLED` 控制
- **工具搜索与执行解耦**：ToolSearch 不再将延迟工具注入 LLM 工具列表，改为返回完整参数 schema，由新增的 DeferExecuteTool 代理执行，保持上下文前缀稳定以提升 KV 缓存命中率
- **上下文管理优化**：降低 token 使用量告警阈值，使上下文压缩更早触发，减少因上下文过长导致的对话质量下降
- **Shell 性能优化**：优化 PTY fd 泄漏检测机制，避免阻塞事件循环
- **Web UI 清空会话**：修复 /clear 后 loadSession 触发重复 render 循环导致的异常，通过追踪活跃连接避免重复进入 prompt 迭代器
- **企业微信机器人超时修复**：采用两阶段回复机制避免 30s 流式超时问题，长时间运行的 Agent 任务可正常返回结果
- **Web UI 会话同步**：在 Web UI 中执行 /clear 或新建对话时，CLI 终端视图同步刷新
- **文件路径补全**：Web UI 输入框支持 @ 触发文件路径补全，选中后自动添加空格
- **斜杠指令加载**：修复通过 tunnel 访问时斜杠指令列表无法加载的问题
- **提示词建议**：Web UI 支持显示 CLI 端生成的 prompt suggestion，按 Tab 快速采纳

### 🐛 问题修复

- **工具调用重试**：修复模型返回不合法 JSON 参数时直接报 400 错误的问题，现在会告知模型具体的 JSON 解析错误并自动重试一次
- **子代理 Hook 隔离**：跳过子代理 session 的 Stop/UserPromptSubmit hooks 执行，避免子代理触发主 session 专用的钩子逻辑
- **SubagentStop Hook 竞态修复**：将 settled 标记提前到 hook 执行之前设置，防止多检测路径并发导致 hook 重复触发
- **权限通配符匹配**：修复 `Bash(ls *)` 等通配符权限规则无法匹配包含路径参数的命令（如 `ls -al /xxx`）的问题，现在通配符 `*` 能正确匹配包含 `/` 的命令参数

## [2.60.0] - 2026-03-12

### ✨ 新功能

- **企业微信机器人远程控制**：支持通过企业微信 AI Bot 长连接远程控制 CodeBuddy Agent，无需公网 IP，使用 `/wecom-bot` 命令快速接入
- **远程控制客户端架构重构**：将远程控制模块重构为可扩展的多客户端注册架构，支持灵活接入不同 IM 平台

### 🔧 功能改进

- **自定义模型认证错误优化**：自定义模型返回 401 错误时，不再触发自动登出，并提供针对性的 API Key 检查提示
- **模型不可用提示增强**：当指定的模型不存在时，自动列出当前账户可用的模型列表
- **Tracing 初始化**：修复部分用户终端出现 "No API key provided for OpenAI tracing exporter" 报错的问题
- **Web 端命令处理**：移除客户端侧斜杠命令拦截，统一由服务端处理命令逻辑
- **恢复会话面板**：当前正在使用的会话会以绿色高亮显示并带有勾号标记，方便快速识别

### 🐛 问题修复

- **图片历史还原**：修复图片 blob 引用追踪时序问题，确保历史图片去重判断正确；补充 SDK 内部循环中 tool message 图片内容的还原处理，避免模型收到未解析的 blob 引用
- **嵌套 Skills 加载**：修复包含子 Skills 的目录（如 wedata/wedata-poll）无法被发现和加载的问题，同时增加扫描深度上限以支持更深层嵌套结构
- **跳过内部请求头**：修复 CODEBUDDY_SKIP_INTERNAL_HEADERS 环境变量不生效的问题，确保连接第三方网关时内部请求头被正确清理

## [2.59.0] - 2026-03-12

### 🎉 新功能

- **Hook 驱动的 Worktree 支持**：为 SVN、Perforce 等非 Git VCS 项目提供隔离工作区能力，通过 `WorktreeCreate` 和 `WorktreeRemove` Hook 事件实现完全自定义的 worktree 创建和清理逻辑；即使在 Git 仓库中，若配置了 `WorktreeCreate` Hook，也会优先使用 Hook-based 方式；Hook-based worktree 跳过 `git status` 检测，始终显示保留/删除菜单
- **Worktree 指定基础分支**：`--worktree` 参数现在支持配套使用 `--worktree-branch <branch>` 来指定 worktree 的基础分支，支持远程分支和本地分支两种格式；分支不存在时自动降级到远程默认分支并打印警告。`EnterWorktree` 工具同步支持 `branch` 参数

### 🔧 功能改进

- **Plan 模式审批**：修复 ExitPlanMode 工具在 Web UI 中审批时无法正确显示 plan 内容的问题，现在用户可以在审批弹窗中看到完整的计划内容和权限请求列表
- **图片读取去重优化**：修复同一路径图片被修改后重新读取时被错误去重的问题，现在能正确识别文件更新并返回最新图片内容；同时当文件未变化时，提供明确的"文件内容未改变"提示
- **Worktree Hook 兼容性**：补齐 `WorktreeCreate` 和 `WorktreeRemove` 的 SDK 协议与文档说明，确保自定义 worktree hook 能接收完整上下文并稳定接入

### 🐛 问题修复

- **ACP 连接清理**：修复新建聊天时旧连接未正确清理，导致广播消息重复渲染的问题

## [2.58.0] - 2026-03-11

### ✨ 新功能

- **微信客服远程网关适配器**：新增微信客服（WeChat KF）平台接入，支持通过微信客服 Webhook 回调接收消息并主动回复，包含回调签名校验、AES 加解密、sync_msg 消息拉取、客服账号自动创建等完整能力
- **企业微信远程网关适配器**：新增企业微信（WeCom）平台接入，支持 Webhook 回调验证、消息加解密、主动消息回复

### 🔧 功能改进

- **Headless 模式稳定性**：重构模块导出为三层结构，消除 headless 构建中的 IoC 解析失败
- **SDK 错误诊断**：Python SDK 新增启动崩溃检测和 stderr 捕获，改善错误提示
- **JS SDK 健壮性**：改进进程退出原因追踪和跨平台换行符处理
- **Python SDK 认证**：新增独立认证 API（`authenticate`/`logout`），支持 two-phase 登录流程
- **Python SDK 控制请求**：重构控制请求机制，支持请求-响应匹配和超时处理
- **Python SDK 类型**：新增 `McpServerStatus`、`AuthenticateResponse`、`UserInfo` 等类型定义
- **JS SDK 错误处理**：优化错误类型导出和连接模块结构
- **隧道协议优化**：强制使用 HTTP/2 替代 QUIC，提升网络兼容性
- **隧道进程复用**：支持 detached cloudflared 进程跨会话复用，避免重复创建隧道
- **隧道状态持久化**：新增 tunnel-state.json 管理多端口并发隧道，自动清理游离进程
- **任务进度显示**：优化 loading-box 中任务和队友描述的文本截断，避免长文本溢出终端宽度
- **插件市场自动更新开关**：市场详情页新增启用/禁用自动更新功能，内置市场默认开启，第三方市场默认关闭
- **市场存储一致性修复**：修复市场配置更新不生效的问题，确保存储记录唯一且可靠
- **配置缓存隔离**：修复 CLI 临时参数（如 `--system-prompt`）污染配置缓存的问题，确保每次调用使用独立的临时配置
- **Web UI 文件服务**：兼容 Bun SFE 扁平模式下的静态资源加载，修复虚拟文件系统不支持 stream 读取的问题
- **跨平台构建**：使用跨平台方式替代 shell 命令处理 headless 构建产物
- **Gateway 命令**：启动 Gateway 服务时显示 Loading 动画，防止用户重复操作
- **Web UI 图片支持**：历史回放时支持展示用户消息中的图片，新增图片放大查看功能
- **空白内容修复**：修复助手消息和工具组在无内容时产生空白的问题
- **子代理交互优化**：活跃状态的子代理支持点击折叠/展开，工具调用统一可点击
- **稳定性提升**：修复子代理和会话中断时 abortSignal 可能为空的问题，MultiEdit 计算失败时增加降级处理
- **Web UI 静态资源嵌入**：支持将 Web UI 静态文件自动嵌入 Bun 单文件可执行程序，确保打包后的二进制文件可以正确加载 Web UI 资源

### 🎨 界面优化

- **暗色主题视觉优化**：调暗并统一了暗色模式下各组件（侧边栏、状态栏、输入框、实例管理面板及终端面板）的边框颜色，使其在暗色背景下更加柔和自然，提升视觉体验

### 🐛 问题修复

- **Hooks 执行**：修复 hook 脚本启动后台进程时导致执行挂起的问题，同时处理 stdin EPIPE 错误避免未捕获异常
- **SubagentStop Hook**：修复 SubagentStop hook 回调中 transcript_path 指向不存在文件的问题
- **子代理交互**：修复子代理中 AskUserQuestion 被自动批准导致无法在主界面显示问题面板的问题
- **Compact 历史链**：修复 compact agent 因历史截断导致上下文不完整的问题
- **消息分组**：修复 compact 消息分组在多条 assistant 消息场景下归组错误的问题
- **工具审批导航**：修复工具审批确认框消失后输入框不可见的渲染问题
- **子代理标识**：AskUserQuestion 工具调用和中断服务中显示子代理名称，提升可识别性
- **模型同步**：修复 Web UI 切换模型后 CLI 未同步更新的问题，确保 `/model` 命令和后续对话使用正确的模型

## [2.57.1] - 2026-03-11

### 🔧 功能改进

- **无头模式**：补齐定时任务相关能力的导出，便于在无头集成场景中直接使用定时任务功能


## [2.57.0] - 2026-03-11

### ✨ 新功能

- **Remote Gateway（Beta）**：新增远程网关模块，支持通过 Cloudflare Tunnel 远程访问 CLI，包含 Web UI、认证、实例管理、终端面板、交互问答、对话压缩显示、Team 进度展示等完整功能
- **定时任务**：支持创建、查看和取消定时任务，并可让 CodeBuddy 按计划自动执行重复性工作

### 🔧 功能改进

- **工具调用截断判断优化**：仅在 finish_reason 为 length 时才视为截断，避免模型返回格式错误的 JSON 时产生无限重试
- **ToolSearch 参数描述精简**：移除冗余的搜索引擎细节描述，减少 Token 消耗
- **工具搜索参数优化**：将搜索参数重命名为复数形式以更准确反映其数组类型，并增强参数描述以提供更好的使用指引
- **恢复面板快捷键控制**：新增 `showRenameShortcuts` 参数，允许在调用恢复面板时禁用重命名相关快捷键
- **Hook 输出折叠配置**：新增 `hookOutputCollapsed` 设置项，用户可通过 `/config` 面板控制 Hook 输出默认是否折叠
- **消息提取**：优化用户消息内容提取逻辑，正确处理 userQuery 标签包裹的内容
- **首 token 超时检测优化**：改为检测模型有意义的输出而非 HTTP 原始字节，避免服务器心跳或空 SSE 消息导致超时检测失效
- **首 token 超时重试机制增强**：使用 session 级别计数器替代历史消息窗口检测重试状态，解决重试后新消息将 marker 推出窗口导致重复重试的问题
- **定时任务会话隔离**：修复多会话场景下的任务隔离问题，避免查看、取消或清理任务时影响其他会话
- **子代理 MCP 继承**：修复自定义子代理无法继承 MCP 工具的问题，子代理现在可以正确使用父代理配置的 MCP 服务器工具
- **Fish shell 键盘兼容**：修复在 Fish shell 3.4+ 搭配支持 Kitty keyboard protocol 的终端中，Enter、Tab、Backspace 等按键无响应的问题

### 🐛 问题修复

- **API 错误响应处理**：修复 API 返回错误时（如频率限制）UI 卡住的问题
- **MCP OAuth 认证**：修复 OAuth Provider 缓存查找失败的问题，确保认证流程稳定可靠
- **消除 MaxListenersExceededWarning**：修复长时间运行时 abort 监听器超出上限导致的内存泄漏警告
- **流式输出**：修复 stream-json-view 中 JSON 输出的格式和完整性问题
- **Hooks 中文编码**：修复 Windows 上 PreToolUse hook 修改工具参数时中文内容乱码的问题，统一使用 UTF-8 解码 Git Bash 输出


## [2.56.1] - 2026-03-09

### 🐛 问题修复

- **对话压缩显示**：修复压缩对话组的完成判断逻辑，改为检查是否包含 assistant 回复而非固定消息数量，避免在特殊情况下压缩状态显示异常


## [2.56.0] - 2026-03-07

### ✨ 新功能

- **Worktree PR 支持**：支持从 CNB (Code Nebula Buddy) 平台 PR 链接创建 worktree，包括 cnb.woa.com 和 cnb.cool 等域名

### 🔧 功能改进

- **新增 GPT-5.4 模型**：支持 272K 输入、128K 输出，具备推理和图片能力
- **SDK Transport 错误诊断增强**：改进进程关闭时的错误信息，捕获 stderr 输出并提供详细的关闭原因
- **MCP 面板**：移除边框，按配置来源分组展示服务器列表，当存在配置问题时显示诊断信息区域；分割线始终显示在服务器列表顶部，诊断区域为可选展示
- **模型兼容性层**：新增模型兼容性处理器，自动适配 Gemini 和 Moonshot 等第三方模型的 API 请求格式差异
- **错误诊断增强**：改进模型请求的错误日志，支持流式错误响应体读取，便于排查 API 异常
- **SDK Patch 扩展**：修复 reasoning content 在 function_call 场景下的丢失问题
- **工具搜索**：将 ToolSearch 的搜索和激活操作拆分为独立参数 `query` 和 `tool_names`，替代原有的 `mode` 切换方式，提升调用清晰度；未匹配的工具名自动回退模糊搜索
- **用户查询标识**：为用户消息添加 `<user_query>` 标签包裹，帮助模型更准确地区分用户实际查询与系统上下文内容

### 📝 文档更新

- **MCP 环境变量扩展文档**：新增环境变量扩展使用文档，包含语法说明、配置字段支持、示例和常见用例


## [2.55.1] - 2026-03-06

### 🔧 功能改进

- **MCP 环境变量默认值**：支持 `${VAR:-default}` 语法，当环境变量未设置时自动使用默认值
- **Worktree 初始化优化**：优化 symlink 创建逻辑，支持文件和目录类型自动检测，改进已存在目标的冲突处理；优化 `.worktreeinclude` 文件处理，避免大型仓库中加载全量忽略列表导致的性能问题
- **Worktree 会话日志**：修复日志输出被终端 UI 框架覆盖的问题
- **Hooks Windows 路径兼容**：修复切换到 Git Bash 执行 hook 命令后，插件根目录路径和项目目录在 Windows 上使用反斜杠路径导致 bash 误解析转义符的问题，统一转换为 Unix 风格路径

### 🐛 问题修复

- **SDK 认证修复**：修复登录时认证 URL 被错误覆盖的问题
- **环境配置保护**：修复用户通过 `.env` 或 `settings.json` 显式设置的网络环境被 session 检测自动覆盖的问题
- **SessionStart hook 竞态修复**：修复 SessionStart hook 在 session-middleware 中以 fire-and-forget 方式执行导致的竞态条件，首轮消息可能在 hook 完成前被处理，注入的上下文丢失。通过引入门闩机制，在拦截器注入点按需等待 hook 完成，同时不阻塞交互模式的启动流程


## [2.55.0] - 2026-03-06

### ✨ 新功能

- **Git Worktree 支持**：新增 `--worktree` 参数，支持在独立的 git worktree 中运行 CodeBuddy，实现并行开发和安全隔离。配合 `--tmux` 参数可在独立的 tmux 会话中运行，适合长时间任务。新增 `WorktreeCreate` 和 `WorktreeRemove` 事件钩子，支持自定义 VCS 集成
- **Worktree 工具**：新增 EnterWorktree 工具，支持 Agent 在会话中动态创建和进入 git worktree。新增独立的工作目录管理服务，支持主 Agent 和子代理的目录隔离

### 🔧 功能改进

- **工具搜索优化**：支持搜索和激活双模式，搜索模式下分层展示已激活工具和候选工具，激活模式下支持按名称精确激活
- **状态栏折行显示**：状态栏长文本支持自动折行，不再截断隐藏超出部分
- **Diff 宽字符适配**：修复 Diff 视图中包含中文、Emoji 等宽字符时折行位置不准确的问题
- **消息识别**：优化用户消息识别逻辑，排除框架自动发送的队友消息
- **Worktree 退出清理**：退出时自动检测变更并清理无变更的 worktree，创建前自动清理残留的 worktree 记录，避免分支冲突
- **Worktree 退出交互**：优化 worktree 会话退出时的用户交互体验，通过独立的上下文管理和菜单组件，提供更清晰的变更提示和操作选项
- **Worktree 退出稳定性**：将退出事件通道抽离为独立模块，修复 headless 打包时因间接引入 React.createContext 导致的运行时崩溃问题
- **Worktree 子代理隔离**：子代理任务在 worktree 环境中自动继承正确的工作目录，确保文件操作在正确路径下执行


## [2.54.0] - 2026-03-05

### ✨ 新功能

- **Skills 嵌套子目录**：支持在 skills 目录中使用子目录组织 skills，嵌套 skill 自动生成冒号分隔的限定名称，同时支持短名称匹配

### 🔧 功能改进

- **启动优化**：避免 PromptContext 初始化过程中的重复执行，并发请求复用同一初始化结果
- **模型选择**：优化了不同代理模式下的模型选择机制，提升配置灵活性
- **远程控制连接**：优化 WebSocket 适配器实现，提升连接稳定性
- **远程控制稳定性**：修复会话处理逻辑，避免误用旧执行结果导致的异常
- **上下文压缩**：修复自动压缩流程中消息入队导致压缩不执行的问题，增强中断等待的健壮性
- **压缩 UI 显示**：修复压缩过程中内部续行消息在聊天界面异常展示的问题
- **输入编辑器**：Vim 模式和快捷键的词移动（w/b/e）现在正确支持中日韩字符，每个 CJK 字符视为独立词
- **任务面板**：修复任务详情视图在任务状态更新时未同步刷新的问题
- **Gzip 压缩判断优化**：完善自定义端点的检测逻辑，当用户配置了自定义 API 地址或模型使用自定义 URL 时自动跳过 gzip 压缩，避免第三方服务不支持 gzip 导致请求失败
- **Hook 输出乱码修复**：修复在中文 Windows 系统上，Hook 脚本的错误信息（stderr）显示为乱码的问题
- **MCP 配置环境变量展开**：MCP 服务器配置中的 `${VAR_NAME}` 占位符会自动替换为对应环境变量值，支持 stdio 的 command/args/env 和 SSE/HTTP 的 url/headers 字段。缺失的变量保留原样并生成诊断提示
- **/skills 面板增强**：Skills 面板现在同时展示自定义斜杠命令，不再过滤 `userInvocable: false` 的项目，分组标题包含来源目录路径
- **Token 计数优化**：Skills 和斜杠命令的 token 计数改为只统计描述部分（description tokens），避免对上下文占用产生误解
- **Custom Agents 来源显示修复**：修复 `/context` 命令中插件来源的 Custom Agent 显示 `undefined` 的问题
- **优化截断重试机制**：当工具调用参数过长导致输出被截断时，重试提示现在会根据工具类型给出具体的拆分建议，引导模型将大型操作分解为多个较小的操作
- **修复无限重试循环**：统一了两套独立重试机制的检测标记，扩大检测窗口，并添加了最大重试次数限制（2 次）以防止无限循环

### 🐛 问题修复

- **Plan 确认框显示优化**：修复退出 Plan 模式确认框中错误显示 "Loading plan..." 的问题，现在会正确加载并展示 Plan 内容


## [2.53.0] - 2026-03-05

### ✨ 新功能

- **企业微信集成**：支持通过企业微信远程控制 CLI，实现移动端任务下发和结果推送

### 🔧 功能改进

- **MCP 动态工具更新**：支持 MCP 服务器的 `tools/list_changed` 通知，当服务器工具列表发生变化时自动刷新可用工具，无需重启或手动重连
- **Reasoning Effort 配置**：在 /config 面板新增 Reasoning Effort 设置项，支持 auto/low/medium/high/xhigh 五个级别，用户可自定义模型推理深度
- **模型默认推理级别**：将多个模型的默认 reasoning effort 从 medium 提升至 high，提升推理质量
- **状态栏数据增强**：新增会话名称、权限模式、上下文窗口使用情况、额外工作目录、Vim 状态等字段，为状态栏脚本提供更丰富的展示数据
- **状态栏多行渲染**：支持脚本输出多行内容，不再限制为单行
- **状态栏样式优化**：移除边框，支持从配置读取内边距，添加文本截断保护
- **LSP 服务器懒加载**：LSP 服务器现在默认采用懒加载模式，仅在首次使用时启动，减少启动时资源占用；可通过 `eager: true` 配置恢复立即启动行为
- **错误追踪**：WebSearch 和 ImageGen 工具在 API 调用失败时，错误信息中包含 requestId，便于后端定位问题
- **非交互模式权限拒绝优化**：改进 print 模式下工具权限被拒绝时的提示信息，提供清晰的绕过指引，并引导模型在能力受限时主动向用户说明所需权限
- **文件自动补全刷新**：修复输入 `@` 时无法提示新增文件的问题，文件列表缓存现在会在过期后自动刷新
- **Skill 工具结果展示优化**：改进 Skill 和斜杠命令执行后的结果消息格式，移除冗余的启动提示，使返回内容更清晰；增加 `<command-name>` 标签检测提示，避免重复调用已加载的 Skill
- **Hook 输入处理器**：新增 `HookInputProcessor` 扩展点，支持在 Hook 执行前对 `HookInput` 进行富化处理，内置注入生成 ID、模型、客户端、版本等上下文字段
- **图片服务重构**：将 `ImageService` 抽象为接口并移入协议层，类型定义统一收拢至协议文件，降低模块耦合
- **设置读取优化**：图片模型解析从单一 CLI 设置升级为多层级合并设置，支持更灵活的模型配置
- **错误处理**：改进 ACP 模式下的错误信息传输，客户端可获取更详细的错误状态码和错误代码
- **插件面板排序**：移除插件面板中的字母排序，保持数据源返回的原始顺序
- **模型列表排序**：统一国内版和 iOA 版产品配置中模型定义的排列顺序，使其与模型列表声明顺序保持一致

### 🐛 问题修复

- **对话历史恢复**：修复执行 compact 后 resume 会话时丢失压缩前上下文的问题
- **Team 中断信号隔离**：子代理不再监听主 Session 的 abort 信号，避免内部操作（如上下文压缩）误杀 Teammate
- **工具确认框冲突**：修复多个 Teammate 同时请求权限时确认框互相覆盖的问题
- **消息投递可靠性**：优化 Teammate 消息投递重试机制，未就绪时保持消息未读状态等待下次轮询
- **空闲唤醒机制**：Teammate 空闲时收到消息会自动唤醒 Agent，不再卡在队列中
- **消息去重**：防止同一条消息被重复添加到对话视图
- **全局锁超时**：工具审批全局锁增加 30 秒超时保护，防止死锁
- **修复路径解析**：修正相对路径 `./` 的解析方向，使用工作目录而非主目录
- **修复上下文切换数据丢失**：切换设置时状态栏数据不再重置为空


## [2.52.6] - 2026-03-03

### 🔧 功能改进

- **模型请求日志增强**：新增请求生命周期完整日志，包含请求发送、首 Token 到达、流式传输进度、完成/错误/超时等关键节点，支持通过 requestId 和 agent 名称快速定位问题
- **消除运行时警告**：修复长对话中出现的 MaxListenersExceededWarning 警告，封装统一的中止控制器管理工具
- **Hook 消息渲染增强**：Hook 消息现在会根据执行状态（成功/阻断/警告/错误）显示不同的图标和颜色，并支持展开/折叠查看详细内容


## [2.52.5] - 2026-03-03

### 🔧 功能改进

- **图片历史优化**：对话历史中的图片数据通过 BlobStore 去重存储，仅最近 N 轮保留完整图片，更早轮次自动替换为文本占位符，显著降低上下文 token 消耗
- **图片读取去重**：同一轮对话中重复读取相同图片时返回引用提示而非重复发送完整数据
- **Bash 超时配置**：支持通过 settings env 动态配置 Bash 工具超时时间
- **主题系统重构**：扩展主题色彩体系，支持语义化颜色（如 success、warning、error、info 等），增强终端颜色兼容性
- **终端适配**：新增 ChalkFactory 智能检测终端能力，自动适配颜色级别，支持色盲友好主题
- **硬编码颜色迁移**：将分散的 chalk 硬编码颜色调用统一收归主题系统管理，确保全局一致性
- **Gzip 压缩**：修复企业地址登录时请求体被错误压缩的问题，仅在 SaaS 和 iOA 环境下启用 gzip 压缩
- **自定义模型 URL 处理**：自动为自定义模型的 URL 补全 `/chat/completions` 后缀，用户无需手动拼接完整路径
- **异步压缩会话标识修正**：修复异步上下文压缩后会话身份被误判的问题，确保压缩消息正确归属主会话

### 🐛 问题修复

- **Hooks 命令执行**：修复 `node -e "..."` 等包含引号的 hook 命令执行失败的问题
- **登出竞态修复**：修复登出过程中异步操作（token 刷新、session 存储订阅）未及时终止，导致 session 被重新写回的问题
- **工具克隆修复**：修复工具对象克隆时丢失原型链方法的问题


## [2.52.4] - 2026-03-02

### 🔧 功能改进

- **首 token 超时检测**：新增请求发出后首个响应数据的超时检测机制，超时后自动断开并重试，避免长时间无响应的等待
- **流超时检测优化**：将流数据监控间隔从 10 秒缩短至 1 秒，提升异常连接的检测速度
- **超时环境变量**：支持通过 `CODEBUDDY_STREAM_TIMEOUT_MS` 和 `CODEBUDDY_FIRST_TOKEN_TIMEOUT_MS` 环境变量自定义超时时间
- **智能重试策略**：首 token 超时仅重试 1 次，流数据超时保持原有多次重试策略，避免无限重试
- **请求压缩**：支持对 API 请求体进行 gzip 压缩，减少网络带宽消耗，提升慢速网络下的响应速度
- **CLI 子命令别名**：为 `mcp list`、`sandbox list`、`marketplace list` 添加 `ls` 简写别名，与 `config list` 保持一致
- **CLI 配置命令**：为 `config remove` 和 `config add` 添加 `-g/--global` 选项，支持操作全局配置
- **子命令路由修复**：修复使用别名调用子命令时路由路径错误的问题
- **macOS 代码签名**：修复 macOS 26+ 上因缺少 TeamIdentifier 导致多实例运行时被系统终止的问题
- **MCP 工具钩子修复**：解决 MCP 工具无法访问 Session 上下文导致 PreToolUse/PostToolUse 钩子无法正确触发的问题
- **Shell 环境快照**：修复 PATH 导出方式，使用 shell 自身的 PATH 变量替代 Node.js 进程变量，改善 Windows Git Bash 下路径格式兼容性
- **工具调用截断重试**：优化模型输出长度超限导致工具调用参数被截断时的重试机制，通过 SDK 输入过滤器在请求发送前自动修复，提升重试成功率并减少无效 API 请求
- **截断错误提示**：截断的工具调用结果展示更友好的错误提示，替代原始的 JSON 解析错误信息
- **Hook 权限确认提示优化**：PreToolUse Hook 返回 ask 决策时，将决策原因以黄色警告样式展示在权限确认框中，帮助用户更清晰地了解需要确认的原因
- **工具搜索服务**：优化延迟加载工具的索引和过滤机制，确保只有当前 Agent 配置的工具可被搜索
- **粘贴行为**：粘贴文本内容时不再自动检测是否为图片路径并转换，粘贴的文字始终原样插入
- **截图粘贴**：通过 Cmd+V 直接粘贴截图或剪贴板图片数据的功能不受影响，仍可正常转换为图片
- **设置项清理**：移除 `/config` 中已无实际用途的「Paste Image from Clipboard」开关
- **Shell 配置**：移除对 PowerShell 和 CMD 的支持，统一要求 Windows 用户使用 Git Bash，避免路径格式不兼容问题
- **命令解析**：修复 Bash 工具在命令包含未定义环境变量时无法正确识别命令根的问题
- **模型升级**：将 Gemini Pro 模型从 3.0 版本升级至 3.1 版本，以避免旧版本下线带来的影响

### 🐛 问题修复

- **输入历史导航**：修复按上键浏览历史时，滚动到以 `/` 开头的条目后无法继续滚动的问题
- **工具权限拒绝渲染**：修复 PreToolUse hook 拒绝和权限规则拒绝时工具调用无法在 UI 中正常渲染的问题


## [2.52.3] - 2026-02-28

### 🔧 功能改进

- **Gemini 生图模型**：新增 Gemini-3.0-Pro-Image、Gemini-3.1-Flash-Image、Gemini-2.5-Flash-Image 三个生图模型，支持文生图和图生图
- **图片模型选择面板**：修复当前模型标记不正确的问题，对齐模型列表展示格式
- **Ctrl+D 退出优化**：Ctrl+D 仅在输入框为空且没有进行中的对话时才触发双击退出流程，避免误操作
- **Windows 兼容性**：修复 Windows 环境下 Shell 路径选择逻辑，确保优先使用 Git Bash 而非 WSL bash，解决路径格式不兼容问题
- **Windows Shell 环境**：优化 Windows Git Bash 环境下的 shell snapshot 功能，改进配置文件检测、路径转换和编码处理，提升 Windows 平台的命令执行稳定性
- **Shell 环境快照**：修复 Windows 环境下 shell 类型检测不准确的问题，现在能正确识别 fish、tcsh 等非 POSIX shell 并优雅跳过快照创建
- **MCP 配置解析**：`--mcp-config` 参数支持文件路径和直接 JSON 两种格式，统一了 CLI 初始化和中间件的解析逻辑
- **MCP 权限优化**：非项目作用域的 MCP 服务器（用户配置、插件等可信来源）跳过审批检查，减少不必要的确认操作
- **MCP 初始化时序修复**：修复服务器列表初始化时序问题，确保状态同步时能正确获取完整服务器列表
- **Python SDK 类型扩展**：新增 HTTP、SSE、Remote 等 MCP 服务器配置类型定义，支持工具级配置选项
- **插件配置**：启用 PR 审查工具集、安全指导和 Ralph Loop 插件，增强代码审查和安全分析能力
- **依赖升级**：升级 OpenAI Agents SDK 至 0.5.2，OpenAI SDK 至 v6

### 🐛 问题修复

- **插件列表显示**：修复缓存清除后插件 skills 无法正确加载的问题


## [2.52.2] - 2026-02-28

### 🔧 功能改进

- **自定义令牌认证**：支持从 ACC_PRODUCT_CONFIG 环境变量中识别 custom-token 认证配置，修复配置已加载但同步未完成时的认证回退问题
- **/doctor 命令**：修复 session 为空时可能导致属性访问错误的问题
- **修复 SDK Python 构建脚本**：更新 goreleaser 输出目录路径以匹配 headless 构建产物命名，移除未使用的导入
- **会话加载性能优化**：`/resume` 命令加载历史会话时使用并行读取，减少等待时间
- **插件加载提速**：并行化插件加载流程，多插件场景下启动速度提升数倍


## [2.52.1] - 2026-02-28

### 🔧 功能改进

- **启动速度**：`cbc -v` / `cbc --version` 现在即时响应，不再触发完整的初始化流程，启动时间从 5~10 秒缩短至约 500ms
- **管道环境**：在非 TTY 环境下执行子命令（config、mcp、sandbox、plugin 等）时不再等待 stdin，避免卡住
- **稳定性**：认证初始化增加超时保护，网络不通时不再导致 CLI 无限等待
- **团队成员切换**：使用左右键即时切换成员视图，无需回车确认，切换后输入框自动可用
- **成员选择模式**：按下键进入选择模式并默认选中 @main，按上键或 Esc 退出
- **输入历史隔离**：上下键的历史导航与成员选择模式互不干扰，清空输入框自动退出历史导航
- **SDK MCP Server API 简化**：简化 Python SDK 中 MCP Server 的传参方式，可直接传入 server 对象，无需手动构造字典
- **JS SDK 新增可执行文件配置**：支持通过 `executable` 和 `executableArgs` 自定义 CLI 可执行文件路径和参数
- **跳过内部请求头**：支持通过 `CODEBUDDY_SKIP_INTERNAL_HEADERS` 环境变量清理内部请求头，避免干扰第三方 API 网关

### 🐛 问题修复

- **Skill 加载**：修复插件中的 Skill 偶发无法加载的问题，确保插件管理器初始化完成后再读取插件列表
- **Team 成员生成**：修复并发生成 Team 成员时颜色索引重复的问题，将成员注册逻辑统一串行化
- **Skill 调用**：修复 `user-invocable: false` 的 Skill 无法被模型自动调用的问题
- **子代理并发**：增加 abort signal 最大监听器数量，避免大量并发子代理时产生 MaxListenersExceededWarning


## [2.52.0] - 2026-02-26

### 🚀 新功能

- **团队视图切换**：支持通过方向键在不同的团队成员视图之间进行切换，按 ↓ 进入切换模式，←/→ 选择成员，Enter 确认切换，支持高亮预览和边框颜色同步
- **Headless 构建**：新增轻量级 headless 模式（体积减少 45%），支持 `--print`、`--serve`、`--acp` 快速启动

### 🔧 功能改进

- **启动性能**：优化启动流程，Application.start() 耗时降低 96%，内存占用减少 31%
- **Bun 原生优化**：使用 Bun 原生 API 替代第三方依赖（PTY、glob、semver 等），提升运行时性能
- **依赖精简**：移除不再需要的依赖项，减小安装体积
- **认证时序修复**：确保认证在 API 调用前完成，消除冷启动 401 错误
- **模型排序优化**：调整国内版默认模型优先级顺序
- **配置清理**：移除 iOA 和私有化版本中未使用的 SaveMemory 工具
- **命令执行稳定性**：优化命令执行与环境初始化流程，减少异常情况下的执行中断
- **认证体验**：增强 API Key Helper 获取令牌过程的健壮性，提升认证流程稳定性
- **错误处理优化**：将 model 和 session 层的错误处理从字符串匹配升级为自定义错误类，提升错误识别的可靠性和代码可维护性
- **流超时自动重试**：当模型流式响应超时时自动重试，避免用户手动操作
- **超时时间可配置**：支持通过环境变量 `CODEBUDDY_STREAM_TIMEOUT` 自定义流超时时间
- **命令建议过滤**：标记为不可直接调用的 Skill 不再出现在斜杠命令建议列表中
- **Topic Generator 优化**：强化提示词职责边界，改进解析逻辑，减少 token 浪费

### 🐛 问题修复

- **团队成员工具权限确认**：修复团队成员执行工具时跳过权限确认的问题，现在团队成员会继承主 Agent 的权限模式，需要用户确认后才能执行敏感工具
- **权限确认框成员标识**：权限确认框中显示团队成员名称和专属颜色，便于用户区分不同成员的工具调用请求
- **插件 MCP 配置加载**：修复插件 `.mcp.json` 不支持扁平格式的问题，现在同时兼容 `{ "mcpServers": {...} }` 包装格式和直接以服务名为 key 的扁平格式
- **团队成员状态显示**：修复团队成员正常完成任务后因 shutdown 流程被错误标记为 killed 的问题，已完成的成员现在正确显示完成状态；统一两处状态图标的显示逻辑
- **界面修复**：修正状态面板中 Memory 字段的拼写错误


## [2.51.2] - 2026-02-26

### 🔧 功能改进

- **新增模型支持**：添加 Gemini 3.0 Pro 和 Gemini 3.0 Flash 模型配置，扩展可用模型选择范围


## [2.51.1] - 2026-02-25

### 🔧 功能改进

- **stdin 读取调试日志**：在标准输入读取流程中添加日志记录，便于排查管道输入相关问题
- **Ctrl+N/P 快捷键映射**：支持使用 Ctrl+N/Ctrl+P 替代方向键 ↓/↑，在输入框、选择菜单、确认面板等所有场景中均可使用
- **Agent Teams 设置显示**：修复设置面板中 Agent Teams 默认状态显示为关闭的问题，现在正确显示为默认开启
- **Loading 状态 Token 展示优化**：修复主 agent 等待 subagent 时 token 显示为 0 的问题，现在能正确展示实时流式 token 变化；subagent 进度行新增实时流式 token 展示，同时保留累计 tool uses 和 tokens 信息
- **MCP 连接超时保护**：为 MCP 服务器连接等待添加超时机制，防止在 headless 模式下因服务器无响应而无限挂起
- **会话级授权同步**：在子代理执行过程中选择"本次会话不再询问"时，授权现在会同步到主会话和所有子代理，确保整个会话范围内生效
- **Team 成员流式 Token 显示**：Team 成员进度条支持实时流式 Token 数量展示，与子代理进度条保持一致的显示风格
- **Team 通知机制重构**：重构后台任务完成通知，改用 Team 邮箱延迟去重机制，避免重复通知干扰对话流；修复队列消息处理丢失发送者身份的问题；已完成的 teammate 收到关闭请求时自动回复；子代理发现的延迟加载工具同步到父 session；优化 Team 提示词
- **新增模型支持**：添加 GPT-5.3-Codex 模型配置

### 🐛 问题修复

- **自定义命令/Skill 覆盖内置命令**：修复自定义斜杠命令和 Skill 无法覆盖同名内置命令的问题，现在按项目级 > 用户级 > 内置的优先级正确覆盖，菜单中也不再显示被覆盖的内置命令
- **启动界面渲染优化**：修复欢迎 Banner 重复渲染以及信任对话框与 Banner 内容重叠的显示问题
- **后台任务查询**：修复后台 Agent 启动后通过 TaskOutput 查询时报 "not found" 的问题，现在同时支持两种 ID 格式查找


## [2.51.0] - 2026-02-24

### 🎉 新功能

- **记忆目录摘要**：系统提示词中新增记忆文件列表摘要，展示文件名、大小、修改日期及首行标题，帮助模型按需加载相关记忆文件
- **记忆文件自动清理**：会话历史清理时同步清理过期记忆文件，复用相同的保留期配置，避免记忆目录无限增长

### 🔧 功能改进

- **Skills 支持内联 Shell 命令**：Skills 的 SKILL.md 现在支持 `` !`command` `` 语法执行 Shell 命令，与斜杠命令保持一致的处理管道
- **Skill 斜杠命令分发**：支持通过 `/skill-name` 或 `skill-name` 直接调用已注册的 Skill，未匹配到内置命令时自动回退到 Skill 查找
- **自定义子代理工具继承**：修复自定义子代理在未配置工具列表时会继承创建子代理能力的问题，避免递归调用
- **斜杠命令菜单**：描述过长时自动截断，避免菜单项跨多行显示
- **YAML 解析**：支持折叠块标量语法（`>-`、`>+`），正确将多行描述折叠为单行
- **模型系数更新**：更新各模型的计费系数至最新值，新增部分模型支持

### 🐛 问题修复

- **确认框滚动**：修复权限确认框、计划确认框和编辑确认框内容超过终端高度时滚动条自动跳到顶部的问题


## [2.50.7] - 2026-02-19

### 🔧 功能改进

- **Team 成员焦点导航**：支持通过 Shift+↑/↓ 在 Team 成员之间切换视图，查看成员的对话历史、实时进度和 Token 消耗，Ctrl+O 快速返回主视图
- **成员消息直达**：聚焦成员后，输入框自动切换为向该成员发送消息模式，使用 @main 可将消息路由回主代理
- **成员会话恢复优化**：修复子代理 respawn 时 resultSubject 订阅丢失导致 0 token 的问题，修复 agent_end 事件竞态条件
- **消息路由增强**：SendMessage 工具支持 "main" 别名解析为 "team-lead"，用户消息在注入成员会话时不再添加 XML 包装

### 🐛 问题修复

- **子代理 AbortSignal 监听器泄漏修复**：修复 AgentTask 中 abort 事件监听器注册在旧的 AbortSignal 上、cleanup 时却从新的 AbortSignal 上移除的问题，消除级联 abort 时的 `Cannot read properties of undefined` 异常

## [2.50.6] - 2026-02-19

### 🔧 功能改进

- **高危命令识别规则优化**：大幅减少误杀率，细化 CRITICAL/HIGH/MEDIUM 三级风险判定规则，常见开发命令（如 `git restore --staged`、`rm temp.log`、`docker rm`、`kill -9`）不再被错误拦截
- **权限规则安全分层**：将 allow 规则按来源区分为可信（用户设置）和不可信（项目设置），防止恶意仓库通过 `.codebuddy/settings.json` 注入 allow 规则绕过安全检查
- **安全白名单扩展**：新增 50+ 常见开发工具命令到安全白名单，涵盖构建工具、测试框架、包管理器等
- **子代理模型配置优化**：为 MiniMax-M2.5 和 Kimi-K2.5 模型添加 relatedModels 配置，使子代理能正确使用对应的轻量级和推理模型

### 🐛 问题修复

- **进程僵死修复**：修复关闭终端后进程不退出且 100% CPU 占用的问题
- **Shell 句柄泄漏修复**：修复多处 Shell 执行句柄未正确释放的问题，防止 PTY 文件描述符泄漏
- **node-pty fd 泄漏修复**：检测并在 dispose 时关闭 node-pty 内部泄漏的额外 ptmx 文件描述符
- **诊断增强**：在 /doctor 面板中添加 Active PTYs 计数，便于检测潜在的 PTY 泄漏

## [2.50.5] - 2026-02-14

### 🎉 新功能

- **Bash 内置子代理**：新增 Bash 专用子代理，专注于命令执行任务（git 操作、构建工具、测试执行等），使用轻量级模型快速响应
- **命令注入检测**：新增 Bash 命令注入检测机制，拦截反引号替换、`$()` 命令替换、换行符注入等潜在危险命令
- **命令前缀提取**：新增多词命令前缀提取功能，支持环境变量前缀、子命令识别，对齐 Claude Code policy_spec 规范

### 🔧 功能改进

- **子代理工具配置优化**：调整 Plan 子代理工具集，新增团队协作工具和 ToolSearch；精简 Explore 子代理工具，移除不必要的 TaskStop 和 TaskOutput
- **子代理标签渲染优化**：子代理名称统一使用前景色文字显示，替代原有的背景色标签样式，视觉更简洁一致

## [2.50.4] - 2026-02-14

### 🔧 功能改进

- **后台任务统一为团队系统**：后台 Agent 自动创建轻量级团队，通过 SendMessage 回传结果，无需手动轮询
- **移除 TaskOutput 工具依赖**：后台任务完成后自动通知主 Agent，不再需要 TaskOutput 轮询获取结果
- **简化 UI 进度展示**：后台任务统一纳入 TeammateProgressView 展示，TodoProgressBar 移除 teammate 合并逻辑
- **启动性能优化**：优化首次启动时的初始化流程，减少不必要的等待时间，并行化注册流程，提升启动速度约 10%
- **终端渲染优化**：统一所有动画组件（Spinner、呼吸灯、计时器）为全局单一时钟驱动，减少独立定时器导致的终端闪动
- **Static 渲染修复**：修复消息完成后不显示、需要 resize 终端才能看到的问题，优化增量渲染机制
- **内存泄漏修复**：修复 `refreshStatic` 导致 Ink 内部 `fullStaticOutput` 无限累积的问题
- **任务清理修复**：修复失败的子任务未从 TaskManager 中移除导致进度显示残留的问题

### 🐛 问题修复

- **Bash 工具渲染**：修复 Bash 工具执行结果下方偶尔出现多余空白行的问题

## [2.50.3] - 2026-02-13

### 🐛 问题修复

- **模块加载兼容性修复**：修复 `createRequire` 使用 `import.meta.url` 在某些打包环境下不可用的问题，改用 `__filename` 确保兼容性

## [2.50.2] - 2026-02-13

### 🔧 功能改进

- **MCP Remote 传输类型**：新增 `remote` 传输类型支持，允许通过远程 HTTP 连接 MCP 服务器
- **构建优化**：切换到 Rspack 拷贝插件并将 patch 脚本并行化，提升构建速度
- **任务进度显示优化**：已完成的子任务在全部执行完毕后自动清除，避免大量已完成条目累积占据屏幕空间

### 🐛 问题修复

- **粘贴 URL 误判修复**：修复粘贴以 `http://` 或 `https://` 开头的 URL 时被错误识别为文件路径的问题

## [2.50.1] - 2026-02-12

### 🔧 功能改进

- **文档导航优化**：将 Agent Teams 文档移至 Sub-Agents 之后，使导航结构更符合功能关联性

### 🐛 问题修复

- **配置文件注释保留**：修复保存 MCP 配置时 mcpServers 字段下的 JSONC 注释丢失的问题

## [2.50.0] - 2026-02-12

### 🎉 新功能

- **Agent Teams**：支持多 Agent 协作的 Team 功能，包括 TeamCreate、TeamDelete、SendMessage 工具
- **Team 任务协调**：Task 工具扩展支持 teammate 生成，TaskList 支持团队任务协调
- **功能开关**：通过环境变量控制 Team 功能的启用，关闭时自动屏蔽相关工具、参数和提示

### 🔧 功能改进

- **子代理任务展示优化**：后台任务以 `@AgentType` 样式展示实时进度，同步任务进度集成到 loading spinner 中，减少界面冗余
- **任务完成通知增强**：通知消息包含执行时长、工具调用次数和 token 用量等统计信息
- **后台 shell 任务清理**：子代理结束时自动清理其关联的后台 shell 任务，避免资源泄漏
- **TaskOutput 默认超时调整**：默认超时从 30s 提升到 120s，默认阻塞等待完成
- **延迟加载工具激活修复**：修复延迟加载工具通过搜索激活后仍报 "Tool not found" 的问题
- **工具未找到错误提示优化**：区分工具不存在和未激活两种场景，未激活时自动激活并提示重试
- **工具搜索结果展示优化**：搜索结果改为简洁文本格式，未展开时即可看到工具名称和描述
- **MCP 服务器移除**：修复移除 MCP 服务器后配置文件未实际删除对应条目的问题
- **SDK MCP 服务器生命周期管理**：SDK 注册的 MCP 服务器现在会在初始化时自动连接并立即可用，而非仅保存配置
- **依赖注入稳定性**：修复单例组件在循环依赖场景下可能被重复实例化的问题
- **SDK CLI 参数格式统一**：JS 和 Python SDK 的 CLI 参数格式标准化为 `--flag=value` 风格
- **Plan Mode 交互优化**：拒绝计划时区分"继续规划"和"退出规划模式"两种操作，避免用户被困在不可恢复的规划循环中
- **队列消息显示优化**：支持中文字符宽度感知的智能截断，自适应终端宽度，改善长消息的展示效果
- **Memory 功能默认启用**：将 Memory 功能的默认值调整为开启状态
- **主题扩展**：新增 delegate mode 专属颜色配置
- **Bot 触发配置**：调整 PR 评论触发方式为 NPC 模式

## [2.49.7] - 2026-02-11

### 🎉 新功能

- **GLM-5.0 模型支持**：新增 GLM-5.0 模型，支持 200K 上下文和 48K 输出，提供更强的推理能力

## [2.49.6] - 2026-02-11

### 🔧 功能改进

- **CI 配置优化**：为 bot 配置添加 npcName 参数支持
- **ACP SDK 升级**：升级 ACP SDK 至 0.14.1 版本，修复终端输出字节限制参数类型兼容性问题
- **SDK MCP 初始化时序**：修复 SDK 模式下 MCP 服务器注册与 prompt 处理的竞态问题，确保 MCP 工具在 prompt 处理前就绪
- **Headless 模式检测**：改进 headless 模式识别逻辑，支持 ACP 模式和非 TTY 环境
- **MCP 配置文件路径**：SDK 的 mcpServers 参数新增支持文件路径字符串格式

## [2.49.5] - 2026-02-11

### 🔧 功能改进

- **MCP 服务器就绪检测**：修复 SDK 模式下 MCP 工具在初始化时可能未就绪的问题
- **构建优化**：移除 Bun 编译中不再需要的构建标志，简化二进制打包流程

### 🐛 问题修复

- **会话压缩挂起修复**：修复了 ACP 会话在压缩消息日志后可能永久挂起的问题
- **超时保护**：为消息订阅者等待机制增加了超时保护，防止异常情况下的永久阻塞
- **会话历史恢复**：修复查找最后消息 ID 时未正确跳过自定义消息项的问题，避免恢复会话时定位到错误的消息位置

## [2.49.3] - 2026-02-10

### 🔧 功能改进

- **模型错误提示优化**：当模型不可用时，自动展示当前账号支持的模型列表，方便用户快速切换到可用模型
- **错误处理**：优化了被封装的模型行为错误（ModelBehaviorError）的处理逻辑，确保工具调用失败时能够正确识别并重试
- **MCP 服务器就绪检测**：修复 SDK 模式下 MCP 工具在初始化时可能未就绪的问题

## [2.49.2] - 2026-02-10

### 🔧 功能改进

- **跨会话任务列表共享**：支持通过环境变量 `CODEBUDDY_TASK_LIST_ID` 在不同会话间共享任务列表，便于多终端协作和持续任务追踪
- **日期格式优化**：系统信息中的日期显示现在包含星期和更友好的格式，提升可读性

### 🐛 问题修复

- **中断状态竞态条件**：修复 ACP 流式模式下中断状态因共享 RunState 被后续运行修改导致的竞态问题，改用事件快照缓存中断状态
- **结果消息查找**：改进最终助手消息查找逻辑，支持从响应输出中反向搜索已完成消息，并在未找到时回退到会话历史
- **会话切换权限保持**：修复切换会话时权限模式未保留的问题，确保切换后延续当前的权限设置
- **拦截器重试机制**：修复了当模型响应拦截器触发自动重试时，视图层仍然输出原有失败结果的问题。现在拦截器启动重试后，会正确抑制失败结果的输出，仅显示重试后的成功响应

### 🔧 构建优化

- **构建工具升级**：升级 goreleaser、bun、uv 至最新版本
- **Bun 编译优化**：启用字节码编译和 ESM 格式，提升启动性能

## [2.49.1] - 2026-02-09

### 🔒 安全加固

- **沙箱配置文件保护**：沙箱模式下自动禁止写入 CodeBuddy 配置文件（settings.json），防止通过注入 hooks 实现沙箱逃逸攻击
- **工具权限同步**：沙箱的文件系统拒绝规则现在同步应用到 Write、Edit 等文件操作工具，确保安全策略全面一致

### 🔧 功能改进

- **会话列表过滤**：过滤子代理和压缩分支会话，确保会话列表和最近会话仅展示用户真实会话
- **SDK 文档修复**：修复认证配置链接中的括号格式问题

### 🐛 问题修复

- **会话历史定位**：修复了切换会话或恢复历史时，`lastMessageId` 可能错误指向无 ID 的自定义消息（如摘要、主题）导致对话链断裂的问题

## [2.49.0] - 2026-02-08

### ✨ 新功能

- **使用洞察报告**：新增 `/insights` 命令，生成 AI 驱动的使用洞察分析报告，涵盖交互风格、项目领域、摩擦点、亮点、改进建议等多个维度，支持在浏览器中查看 HTML 报告

### 🔧 功能改进

- **统计数据准确性**：优化 token 用量统计逻辑，正确区分主会话与子代理会话，修复工具调用 token 遗漏问题
- **进度显示**：支持自定义进度文本，在 loading 状态中实时展示当前处理进度
- **会话查询性能**：跨项目会话查询支持时间范围预过滤，减少不必要的反序列化开销
- **渲染稳定性**：修复 Static 组件渲染时机问题，改善消息列表显示一致性
- **会话上下文**：在 prompt 上下文中自动注入当前会话 ID，便于追踪和关联会话信息
- **自定义模型配置**：修复自定义模型错误继承全局关联模型配置的问题，确保自定义模型使用时行为符合预期
- **记忆系统**：优化记忆上下文提示词，精简表述并新增隐式记忆源支持，提升跨会话记忆召回能力
- **多语言支持增强**：所有子 Agent（Explore、Plan、Statusline、Content Analyzer 等）现在会正确遵循用户的语言设置进行回复
- **UI 刷新优化**：优化了工具执行完成后的终端刷新策略，仅在编辑类工具完成时触发刷新，并增加防抖机制减少不必要的渲染
- **内存优化**：子 Agent 任务完成后自动释放会话历史和引用，减少内存占用
- **Grep 搜索**：自动修正搜索模式参数，避免不必要的调用失败；兼容 ripgrep 正则语法
- **文件读取**：读取目录时返回目录列表，帮助快速定位目标文件
- **界面优化**：调整错误和中断状态的显示颜色，降低视觉干扰

### 🐛 问题修复

- **工具错误处理**：改进工具未找到时的错误提示和处理逻辑
- **Headless 模式**：修复使用非默认 agent（如 compact）时流式输出阻塞的问题，确保 completion 信号正确发送
- **工具结果显示**：修复 Edit 等工具执行完成后输出不显示，需要手动调整终端大小才能看到的问题
- **会话恢复列表**：移除会话恢复面板中不必要的 agent 类型过滤，允许恢复所有有效会话

## [2.48.1] - 2026-02-06

### 🔧 功能改进

- **环境变量认证冲突检测**：当设置了 `CODEBUDDY_API_KEY` 或 `CODEBUDDY_AUTH_TOKEN` 环境变量时，/login 命令会检测并提示用户如何解决冲突；认证失败时显示更详细的诊断信息
- **子代理消息标识**：修复子代理 user 消息在流式输出时缺少父工具标识的问题，客户端现可正确区分主代理和子代理的消息
- **MCP prompt 命令**：统一 MCP prompt 与斜杠命令的上下文拼接格式，确保模型能正确理解命令来源和参数

### 📝 文档更新

- **Prompt Hooks 文档**：完善基于提示词的 Hooks 功能文档，新增支持事件说明、配置示例和最佳实践指南

## [2.48.0] - 2026-02-05

### 🎉 新功能

- **图生图工具（ImageEdit）**：新增 `ImageEdit` 工具，支持基于已有图片进行 AI 编辑和修改
  - 支持风格转换、添加元素、修改颜色等图片编辑操作
  - 使用 `/model:image-to-image` 命令切换图生图模型
  - 通过 `CODEBUDDY_IMAGE_TO_IMAGE_MODEL` 环境变量或 `imageToImageModel` 设置项配置默认模型
- **Prompt Hook**：新增基于 LLM 的 Hook 类型，支持使用自然语言定义触发条件，实现更灵活的工作流控制

### 🔧 功能改进

- **图片 API 客户端重构**：提取共享的 `ImageApiClient` 模块，统一文生图和图生图的 API 调用逻辑
- **模型标签系统**：引入 `text-to-image` 和 `image-to-image` 模型标签，支持同一模型同时具备多种图像生成能力
- **Hook 配置面板**：支持显示和管理 Prompt Hook
- **Hook 错误反馈**：优化阻断信息的展示方式
- **Token 计算准确性**：`/context` 命令现在只统计实际启用的工具，排除被禁用的内置工具和 MCP 工具
- **Plan 模式权限继承**：Plan 模式下保留进入前的权限设置，支持 "plan + bypass" 等组合模式，子代理同样继承此权限配置
- **计划模式**：退出计划模式时恢复到进入前的权限模式，而非固定切换到特定模式
- **确认选项**：简化计划模式退出时的确认选项，提升用户体验
- **热更新系统优化**：在低文件描述符（FD）限制的容器环境中自动检测并优化热更新行为，避免 EMFILE 错误导致崩溃
- **新增环境变量**：支持 `CODEBUDDY_DISABLE_HOT_RELOAD` 完全禁用热更新，适用于资源受限环境
- **Windows 路径提示**：在 Windows 平台添加使用正斜杠的提示，避免反斜杠导致路径解析错误
- **WorkBuddy 配置目录分离**：WorkBuddy 现在使用独立的配置目录 `.workbuddy/`，与 CodeBuddy CLI 的 `.codebuddy/` 目录分离，避免配置冲突
- **路径处理优化**：改进了路径工具函数的兼容性和稳定性
- **UI 组件优化**：修复了 Skills 和 Agents 面板的显示问题
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.43，SDK-Python 至 0.3.41

### 🐛 问题修复

- **ACP 取消处理**：优化取消请求的事件传递机制，确保会话能正确响应取消操作
- **MCP 非交互模式**：修复 ACP 模式下 MCP 工具未正确识别为非交互模式的问题
- **记忆上下文注入**：修复记忆提示注入时缺少系统标签的问题，确保格式一致性
- **目录扫描**：修复软链接目录下文件相对路径计算不正确的问题

## [2.47.0] - 2026-02-04

### ✨ 新功能

- **跨会话记忆功能**：新增实验性记忆功能，支持 Agent 在会话间保持持久化记忆。可通过 `/config` 设置面板或 `memory.enabled` 配置项启用
- **团队记忆模式**：支持团队协作场景，将记忆存储在项目目录下便于共享

### 🔧 功能改进

- **command:// URI 处理**：优化 ACP 协议中 command:// 资源链接的处理，正确转换为斜杠命令格式并回显原始内容块
- **命令推送过滤**：修复内置命令被错误推送到 IDE 的问题，现在只推送用户自定义命令、skills 和特定内置命令
- **文件路径搜索**：优化重复字符查询的匹配精度，避免误匹配分散的字符
- **SSH 远程剪贴板**：修复在 Linux + SSH 远程环境下 Ctrl+Y 复制到剪贴板失败的问题，通过实现 OSC 52 协议支持远程终端剪贴板操作
- **会话恢复历史控制**：优化 SDK 恢复会话时的历史回放逻辑，通过 `hasPrompt` 信号让 CLI 智能判断是否需要回放历史消息，提升 resume 场景的使用体验
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.42，SDK-Python 至 0.3.40

### 🐛 问题修复

- **管道输入**：修复使用管道传递输入时内容无法被读取的问题（如 `cat file.txt | codebuddy -p "分析"`）
- **Stop Hooks 执行时机**：修复当工具需要用户确认时 Stop Hooks 被错误执行的问题，现在只有在没有待审批工具时才会触发

## [2.46.0] - 2026-02-04

### ✨ 新功能

- **语言设置**：在 `/config` 中新增 Language 选项，用户可以设置首选响应语言，CodeBuddy Code 将使用指定语言进行回复

### 🔧 功能改进

- **复制快捷键**：新增 Ctrl+Y 快捷键，可快速复制最后一条 AI 回复到剪贴板
- **Shell 命令执行优化**：修复命令执行时无条件使用 eval 包装的问题，仅在加载额外环境配置时才使用 eval，保持默认情况下的原有行为
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.41，SDK-Python 至 0.3.39

## [2.45.1] - 2026-02-04

### 🔧 功能改进

- **登录界面优化**：调整登录方式顺序，将 iOA 登录放置到最后并标注仅限腾讯内部员工使用
- **文档完善**：在快速入门文档中添加四种登录方式的详细说明
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.40，SDK-Python 至 0.3.38

## [2.45.0] - 2026-02-03

### ✨ 新功能

- **工具搜索**：新增 ToolSearch 和 DescribeTool 工具，支持通过自然语言搜索和按名称获取延迟加载的工具
- **延迟加载**：MCP 服务器支持 defer_loading 配置，减少上下文消耗并提高工具选择准确性
- **环境变量模型配置**：支持通过环境变量配置模型，方便在 CI/CD 环境和脚本中灵活控制模型选择
  - `CODEBUDDY_MODEL`：覆盖默认代理模型
  - `CODEBUDDY_SMALL_FAST_MODEL`：配置 lite 变体模型
  - `CODEBUDDY_BIG_SLOW_MODEL`：配置 reasoning 变体模型
  - `CODEBUDDY_CODE_SUBAGENT_MODEL`：配置子代理模型
  - `MAX_THINKING_TOKENS`：启用扩展思考并设置 token 预算
- **Commands 订阅**：SDK 新增 `getAvailableCommands()` 和 `subscribeToCommands()` 方法，支持获取和订阅 CLI 可用命令列表

### 🔧 功能改进

- **预发环境域名配置**：新增 staging.codebuddy.cn 等预发环境域名支持
- **命令订阅频道**：支持 SDK 订阅命令列表变更通知，实时获取可用的自定义命令和 Skills
- **Skill Fork 上下文**：支持在 Skill 中使用 `context: fork` 配置，使 Skill 在独立的子代理上下文中执行，不访问主对话历史
- **Agent 类型指定**：新增 `agent` 字段，可指定执行 Skill 的子代理类型（如 Explore、Plan 等）
- **模式命名简化**：将 "Plan Mode" 简化为 "Plan"，使界面文案更简洁
- **图片粘贴**：增加剪贴板读取重试机制，提高第三方截图工具粘贴成功率
- **图片格式支持**：扩展 macOS 剪贴板图片格式检测，支持更多截图工具
- **快捷键提示**：macOS 下明确支持 Cmd + V 和 Ctrl + V 两种粘贴方式
- **回退提示**：完善双击 Esc 回退功能的说明，包含代码回退
- **错误恢复**：当模型返回无效工具名时，系统会提示模型检查并重试，而非直接停止会话
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.39，SDK-Python 至 0.3.37

### 🐛 问题修复

- **ACP 多轮对话**：修复第二轮 prompt 直接返回结果、缺少 sessionUpdate 事件的问题
- **插件加载去重**：修复插件 skills、agents、commands 在菜单中重复显示的问题

## [2.44.1] - 2026-02-03

### 🔧 功能改进

- **Skill/Command 调用控制**：新增 `disableModelInvocation` 配置项，支持将 skill 或 command 设置为仅手动触发模式，避免被模型自动调用
- **自定义 Headers 合并优化**：修复 HTTP headers 合并时的大小写敏感问题，现在会正确覆盖同名但大小写不同的 header（如 `Authorization` 和 `authorization`）
- **输入框**：修复消息发送时序问题，确保消息完全发送后再清空输入
- **子代理中断处理**：优化 Task 子代理被用户中断时的行为，现在会返回清晰的中断提示和可恢复的 Agent ID，支持通过 `resume` 参数继续任务
- **Plan 子代理能力增强**：Plan 子代理现在可以使用 Write、Edit、MultiEdit 工具编辑 plan 文件
- **媒体内容错误自动恢复**：当图片过大、格式无效或数量过多导致请求失败时，系统会自动移除问题内容并提供压缩建议，让对话能够继续进行
- **allowed-tools 字段格式支持**：自定义 Skill 和 Command 的 `allowed-tools` 字段现在同时支持逗号分隔字符串和 YAML 数组两种格式
- **WebFetch 工具**：增强对 SPA 页面的支持，当页面主体内容为空时自动提取 meta 标签信息（title、description、og:title、og:description、keywords）
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.38，SDK-Python 至 0.3.36

### 🐛 问题修复

- **自定义请求头解析**：修复换行符判断逻辑，确保多行 header 配置能够被正确解析
- **文档**：修正沙箱文档链接指向正确的文件

### 📚 文档更新

- **SDK 示例文档**：新增 SDK 演示页面，提供 TypeScript SDK 的使用示例和最佳实践
- **技能与命令文档**：更新技能和斜杠命令的相关文档说明

## [2.44.0] - 2026-02-02

### 🚀 新功能

- **会话标题同步**：支持将会话主题（Topic）通过 ACP 协议同步给 IDE，便于在标签页或侧边栏显示有意义的会话名称

### 🔧 功能改进

- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.37，SDK-Python 至 0.3.35

## [2.43.1] - 2026-02-02

### 🚀 新功能

- **任务管理工具重构**：将任务管理功能拆分为 TaskCreate、TaskGet、TaskUpdate、TaskList、TaskStop 5 个独立工具，提供更细粒度的任务控制能力
- **Skill 工具增强**：支持直接执行斜杠命令，新增 args 参数用于传递命令参数

### 🔧 功能改进

- **计划模式增强**：新增 `/plan` 命令用于预览当前计划文件内容，优化计划模式下的权限控制，仅允许编辑计划文件
- **UI 优化**：改进计划文件编辑时的展示效果，优化进入计划模式的确认框样式
- **子代理配置**：更新 Explore 和 Plan 子代理的工具列表配置，新增 max_turns 参数支持控制代理执行轮次
- **Shell 环境快照**：执行命令时自动捕获用户 shell 配置（函数、别名、选项），确保命令在用户熟悉的环境中运行
- **Shell 环境文件支持**：新增 `CODEBUDDY_ENV_FILE` 环境变量，解决非登录 shell 无法加载 `/etc/profile` 等系统配置的问题
- **提示词优化**：优化 Agent 提示词模板，移除冒号前缀说明，新增时间预估禁用规则，提升回复简洁性
- **文件搜索优化**：精简硬编码忽略规则，优先依赖项目 .gitignore 配置，避免误杀用户需要的文件
- **Grep 工具**：新增 context 参数别名，提升使用便捷性
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.36，SDK-Python 至 0.3.34

## [2.42.3] - 2026-01-31

### 🔧 功能改进

- **会话摘要生成**：自动为会话生成 AI 摘要，在 resume 列表中展示更友好的描述
- **会话主题持久化**：终端标题现在会保存到会话历史，便于后续查看
- **非交互模式支持**：新增 `--enable-session-tracking` 参数，支持在非交互模式下启用会话追踪功能
- **会话追踪配置拆分**：将 `--enable-session-tracking` 拆分为 `CODEBUDDY_INCLUDE_SUMMARY_MESSAGE` 和 `CODEBUDDY_INCLUDE_TOPIC_MESSAGE` 两个独立环境变量，支持更细粒度的控制
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.34，SDK-Python 至 0.3.32

## [2.42.2] - 2026-01-31

### 🔧 功能改进

- **CI 并行测试**：MR 时单元测试和 E2E 测试并行执行，提升 CI 效率
- **热更新服务**：简化热更新流程，移除冗余的用户通知逻辑
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.33，SDK-Python 至 0.3.31

## [2.42.1] - 2026-01-31

### 🔧 功能改进

- **启动性能监控**：新增启动时间分析器，可在 /doctor 面板查看各阶段耗时
- **E2E 性能测试**：新增启动性能 E2E 测试，CI 中自动验证启动时间不超过阈值
- **WSL 环境支持**：自动检测 WSL 环境并提示模型使用正确的 Linux 路径格式
- **路径兼容性**：修复模型在非 Windows 平台发送 Windows 风格路径时的解析问题
- **Session 初始化优化**：优化 Session 的 transport 初始化逻辑，确保并发调用时只执行一次初始化
- **Transport 就绪检测**：改进 CLI 进程就绪状态判断，使用显式标志位替代轮询检测
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.32，SDK-Python 至 0.3.30

## [2.42.0] - 2026-01-30

### 🎉 新功能

- **MCP 配置 JSONC 支持**：MCP 配置文件现在支持 JSONC 格式，允许添加单行注释 (`//`)、多行注释 (`/* */`) 和尾随逗号，提升配置文件的可读性和可维护性

### 🔧 功能改进

- **Python 3.10 支持**：Agent SDK 现已支持 Python 3.10，扩展了兼容的 Python 版本范围
- **ACP 会话控制**：修复了通过 SDK 设置模型和权限模式的功能
- **数据追踪**：修复 prompt suggestion 与主对话数据混淆的问题，确保数据统计更准确
- **工具调用截断恢复**：当模型返回不完整的工具调用参数时，自动检测并请求模型重新生成，提升对话稳定性
- **会话 Fork 功能增强**：支持更多参数组合方式，可通过 `--resume` 或 `--session-id` 指定源会话，并支持自定义新会话 ID
- **命令消息格式**：统一斜杠命令和技能的消息标签格式，新增 `command-args` 标签支持参数提取
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.31，SDK-Python 至 0.3.29

### 🐛 问题修复

- **Hook 输出显示**：修复 hook 执行后显示多余 JSON 原始数据的问题，现在只显示有意义的消息内容
- **软链接支持**：修复 rules 目录下软链接文件无法正确加载的问题，增加遍历深度限制防止循环软链接导致无限遍历

## [2.41.8] - 2026-01-30

### 🔧 功能改进

- **Print 模式输出优化**：在 print 模式下静默通知类消息，避免污染 agent 输出流
- **配置优化**：移除冗余的 deploymentType 配置字段，简化产品配置结构
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.30，SDK-Python 至 0.3.28

### 🐛 问题修复

- **自定义请求头解析**：修复换行符判断逻辑，确保多行 header 配置能够被正确解析
- **系统提示词传递**：修复 SDK v2 Session API 中 `systemPrompt` 参数未正确传递给 transport 的问题
- **会话加载竞态条件**：修复多窗口场景下并发调用 `loadSession` 和 `prompt` 时的竞态条件问题，防止会话数据不一致

### 📚 文档更新

- **环境变量文档**：新增 `CODEBUDDY_IMAGE_GEN_ENABLED` 功能开关说明
- **发版说明**：新增 v2.40.0 至 v2.41.7 版本的中英文发版说明
- **SDK 文档**：完善 hooks、permissions、TypeScript SDK 等文档内容

## [2.41.7] - 2026-01-29

### 🔧 功能改进

- **Checkpoint 性能优化**：将 checkpoint 文件读取改为异步并行处理，避免阻塞事件循环，提升响应性能
- **产品配置优先级修复**：调整 MODELS provider 优先级，确保在 CLOUD 配置之后执行
- **部署类型标识**：为各产品配置添加 deploymentType 字段，支持区分 SaaS、Cloud-Hosted 和 Self-Hosted 部署环境
- **SDK 工具参数传递**：修复 allowedTools/disallowedTools 参数格式，确保正确传递多个工具名称
- **Python SDK 流缓冲区**：增加 100MB 缓冲区限制，防止 MCP 服务返回大 JSON 响应时出错
- **会话恢复优化**：改进 session/load 流程，确保历史消息和 artifact 恢复在响应发送后执行，修复多连接场景下的重复发送问题
- **SDK 版本追踪**：SDK 在与 CLI 通信时会自动注入 User-Agent 请求头，包含 SDK 版本和运行时信息，便于后端服务追踪和诊断
- **CI 配置优化**：更新 Homebrew 发布流程的认证配置
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.29，SDK-Python 至 0.3.27

### 📝 文档修复

- **SDK Custom Tools 文档**：修复 Python SDK 示例中 tool 装饰器的错误用法，改为从包直接导入并使用正确的装饰器语法

## [2.41.6] - 2026-01-28

### 🔧 功能改进

- **输入提交优化**：修复在输入斜杠命令时无法按回车提交的问题，现在可以正常提交命令或将无效命令作为普通消息发送
- **热更新优化**：修复 plugins 目录热更新时可能触发 `.git` 等系统目录变更事件的问题，提升稳定性
- **上下文压缩**：优化历史记录处理逻辑，过滤分支历史确保压缩准确性
- **工具描述模板**：优化工具描述中的引号格式，提升可读性
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.28，SDK-Python 至 0.3.26

## [2.41.5] - 2026-01-28

### 🐛 问题修复

- **热更新优化**：修复 plugins 目录热更新时可能触发 `.git` 等系统目录变更事件的问题，提升稳定性

### 🔧 功能改进

- **会话锁优化**：将 session lock 的获取延迟到实际使用时，减少锁泄漏风险，并支持 fork 操作无需获取锁
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.27，SDK-Python 至 0.3.25

## [2.41.4] - 2026-01-28

### 🔧 功能改进

- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.26，SDK-Python 至 0.3.24

## [2.41.3] - 2026-01-27

### 🔧 功能改进

- **新增模型**：支持 Kimi-K2.5 模型，具备工具调用、图像理解和推理能力
- **参数校验优化**：改进工具参数校验错误提示，提供更清晰的错误信息
- **类型自动转换**：支持字符串形式的数字参数自动转换，提升兼容性
- **热更新通知优化**：用户级 settings.json 热更新时不再显示通知，减少不必要的干扰
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.25，SDK-Python 至 0.3.23

## [2.41.2] - 2026-01-27

### 🔧 功能改进

- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.24，SDK-Python 至 0.3.22

## [2.41.1] - 2026-01-27

### 🔧 功能改进

- **会话管理优化**：SDK 重构 sessionId 参数，改为自动生成，简化 API 调用
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.23，SDK-Python 至 0.3.21

## [2.41.0] - 2026-01-27

### ✨ 新功能

- **配置热更新**：支持 Skills、记忆、配置文件的热更新，修改后无需重启 CLI 即可生效

### 🔧 功能改进

- **工具白名单**：新增 `--tools` 选项，支持限制 CodeBuddy 可使用的内置工具集。可设置为空字符串禁用所有内置工具，或指定逗号分隔的工具列表
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.22，SDK-Python 至 0.3.20

### 📝 文档更新

- **环境配置说明**：为 SDK、ACP 和 IAM 文档添加 `CODEBUDDY_INTERNET_ENVIRONMENT` 环境变量配置指引，帮助不同版本用户正确配置认证环境

## [2.40.1] - 2026-01-27

### 🐛 问题修复

- **图片生成工具**：修复 Windows 系统下输出目录路径解析错误的问题
- **输入建议**：修复从建议菜单选择后消息重复发送的问题

### 🔧 功能改进

- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.21，SDK-Python 至 0.3.19

## [2.40.0] - 2026-01-27

### 🎉 新功能

- **SDK 延迟控制请求同步**：SDK 新增延迟控制请求同步功能，支持在发送消息前设置权限模式和模型，提供更灵活的 API 调用方式

### 🔧 功能改进

- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.20，SDK-Python 至 0.3.18

## [2.39.0] - 2026-01-26

### 🎉 新功能

- **图片生成工具**：新增 `ImageGen` 工具，支持通过 AI 模型根据文本描述生成图片，可自定义尺寸、风格、质量等参数
- **文生图模型切换**：新增 `/model:text-to-image` 命令，支持查看和切换文生图模型
- **CLI 参数支持**：新增 `--text-to-image-model` 参数，可在启动时指定文生图模型
- **配置持久化**：支持通过 `textToImageModel` 配置项设置默认文生图模型

### 🔧 功能改进

- **配置面板**：将 Env-Route 选项移至开发者模式，通过 `/config --dev` 或 `/config -d` 激活
- **输入提交优化**：修复在输入斜杠命令时无法按回车提交的问题，现在可以正常提交命令或将无效命令作为普通消息发送
- **工具描述模板**：优化工具描述中的引号格式，提升可读性
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.19，SDK-Python 至 0.3.17

## [2.38.2] - 2026-01-26

### 🔧 功能改进

- **路径解析优化**：使用 PathUtils 统一 WASM 文件和证书文件的路径解析逻辑，支持从 EMBED_FS 加载嵌入资源，提升不同部署环境下的兼容性
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.18，SDK-Python 至 0.3.16

### 🐛 Bug 修复

- **控制台输出**：修复特定场景下控制台输出模式解析异常的问题

## [2.38.1] - 2026-01-25

### 🔧 功能改进

- **命令安全检查**：移除未使用的命令黑名单功能，简化代码结构
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.17，SDK-Python 至 0.3.15

## [2.38.0] - 2026-01-25

### 🚀 新功能

- **子 Agent 模型变体**：Task 工具新增 `model` 参数，支持指定 `lite`、`reasoning` 等模型变体，根据任务复杂度选择合适的模型

### 🔧 功能改进

- **Checkpoint Hook**：优化文件变更统计计算，通过对比备份文件与当前文件提供准确的增删行数
- **Shell 编码处理**：优化终端输出的字符编码解码逻辑，改善 Windows 环境下中文等非 ASCII 字符的显示效果
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.16，SDK-Python 至 0.3.14

### 📝 文档更新

- **环境要求**：明确 Node.js 最低版本为 18.20+
- **开发文档**：完善 CODEBUDDY.md，补充开发命令、目录结构说明和构建流程细节
- **文档同步**：同步 CLI 文档到 IDE docs 目录，包括中英文版本
- **Release Notes**：新增 v2.37.4 至 v2.37.20 版本的发布说明
- **新增文档**：添加费用说明文档 (costs.md)
- **文档优化**：更新 hooks、settings、models 等核心文档

## [2.37.20] - 2026-01-24

### 🔧 功能改进

- **模型临时切换**：在模型选择面板按 `t` 键可仅对当前会话生效，不修改用户配置
- **--model 参数优化**：命令行 `--model` 参数现在正确覆盖项目级配置，当前会话立即生效
- **上下文压缩优化**：压缩时过滤规则和记忆内容，避免将配置指令压缩进摘要，压缩后自动重新注入完整规则
- **配置面板**：隐藏开发者选项，需通过 `/config --dev` 访问
- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.15，SDK-Python 至 0.3.13

## [2.37.19] - 2026-01-23

### 🔧 功能改进

- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.14，SDK-Python 至 0.3.12

## [2.37.18] - 2026-01-23

### 🐛 问题修复

- **登录视图优化**：修复登录方式映射配置问题，优化登录流程的界面展示

### 🔧 功能改进

- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.13，SDK-Python 至 0.3.11

## [2.37.17] - 2026-01-23

### 🔧 功能改进

- **SDK 版本更新**：同步更新 SDK-JS 至 0.3.12，SDK-Python 至 0.3.10

## [2.37.16] - 2026-01-23

### 🔧 功能改进

- **配置更新**：将机器人配置文件纳入构建流程

### 🐛 问题修复

- **产品配置加载**：修复 endpoint 变更后模型列表不一致的问题，确保用户切换企业版 URL 登录时配置正确加载

## [2.37.15] - 2026-01-23

### 🐛 问题修复

- **退出登录流程优化**：修复退出登录后 token 未清理的问题,确保认证拦截器正确处理登出状态
- **HTTP 拦截器增强**：改进认证 HTTP 拦截器的错误处理和状态同步机制

## [2.37.14] - 2026-01-22

### 🔧 功能改进

- **SDK 动态配置**：新增 `getAvailableModes()` 和 `getAvailableModels()` 方法，支持动态获取可用权限模式和模型列表
- **会话级设置**：`setModel()` 和 `setPermissionMode()` 现在仅影响当前会话，不再持久化到配置文件
- **新增用户提示**：添加更多内置提示，帮助用户了解快捷键和操作技巧
- **模型切换快捷键**：支持 Option/Alt + P 快速切换模型
- **输出限制统一调整**：将各类工具的 token 限制统一为 20000，并排除图片内容不受此限制
- **环境变量支持**：Read 工具支持 `CODEBUDDY_CODE_FILE_READ_MAX_OUTPUT_TOKENS` 环境变量自定义限制
- **Bash 输出上限**：新增 100000 字符的硬上限，防止环境变量设置过大
- **启动性能优化**：优化认证和服务配置初始化流程，提升 CLI 冷启动速度
- **插件市场安装**：优化市场和插件安装流程，提升首次安装和自动更新的性能，显著减少等待时间
- **代码清理**：移除会话处理器中的冗余调试日志，减少日志噪音
- **构建优化**：修复外部 npm 包依赖配置，确保构建稳定性

### 🐛 问题修复

- **Diff 渲染稳定性**：修复了工具调用参数解析时因空字符串或不完整 JSON 导致的渲染崩溃问题

### 🔧 性能优化

- **异步文件操作**：将自定义命令、Agent 和 Skill 的加载改为异步并行处理，提升启动性能
- **Git 信息收集**：优化仓库扫描逻辑，采用异步并行处理提升性能
- **产品配置加载**：改进配置文件查找机制，支持并行路径检查

## [2.37.13] - 2026-01-22

### 🔧 功能改进

- **企业版认证**：优化企业 ID 获取时序，确保企业模型列表正确加载
- **自定义认证**：修复认证状态变化时 token 丢失导致的认证失败问题

## [2.37.12] - 2026-01-22

### 🎨 界面优化

- **应用图标更新**：更新 Work 应用图标，提升视觉一致性

### 🔧 功能改进

- **活动栏增强**：新增活动栏组件，支持更丰富的导航和交互功能
- **设置服务优化**：重构设置服务，提供更灵活的配置管理能力
- **历史记录缓存**：新增历史缓存服务，改善会话历史的加载和管理体验
- **进程池管理**：引入 ACP 进程池，提升多会话场景下的资源利用效率
- **Mermaid 图表**：增强 Mermaid 图表渲染，支持更多图表类型和交互
- **国际化完善**：补充中英文界面文案

## [2.37.10] - 2026-01-21

### 🔧 功能改进

- **登录方式优化**：简化登录选项为"Chinese Site"、"International Site"和"Enterprise Domain"，国内站点登录会自动根据网络环境选择最佳认证方式

## [2.37.9] - 2026-01-21

### 🔧 功能改进

- **侧边栏交互优化**：支持拖拽调整宽度，新增会话管理操作按钮
- **User-Agent 标识**：ACP 进程启动时自动设置包含版本信息的 User-Agent 请求头
- **配置同步优化**：为产品配置同步添加节流+防抖机制，减少高频调用造成的性能开销
- **日志增强**：增加流式消息处理和配置缓存过期的调试日志，便于问题排查

## [2.37.8] - 2026-01-21

### 🔧 功能改进

- **Session lastMessageId 处理**：优化会话状态管理，确保 lastMessageId 在异步压缩时正确更新，简化父消息 ID 的关联逻辑

## [2.37.7] - 2026-01-21

### 🎉 新增功能

- **红包封面推广**：帮助面板新增「码到成功」红包封面领取入口，根据国内/国际版自动显示对应链接

## [2.37.6] - 2026-01-21

### 🎨 界面优化

- **品牌色更新**：将 UI 主色调从蓝色更新为 CodeBuddy 品牌绿色，提升品牌一致性
- **Activity Bar**：新增 VSCode 风格侧边活动栏，支持聊天、账户、设置视图切换
- **账户面板**：展示登录状态、用户信息和认证方式
- **设置面板**：支持主机切换、主题模式和语言偏好设置
- **会话管理**：优化会话连接状态管理和错误处理

### 🔧 功能改进

- **会话恢复**：支持显示通过 /compact 命令生成的会话，用户不再丢失压缩后的会话历史

## [2.37.5] - 2026-01-20

### 🐛 问题修复

- **ACP 会话模型设置**：修复通过 SDK 切换模型后，后续对话仍使用旧模型的问题

## [2.37.4] - 2026-01-20

### ✨ 新功能

- **SDK 自定义 Session ID**：SDK 现在支持在创建会话时指定自定义 session ID，便于外部系统追踪和管理会话

### 🐛 问题修复

- **栈溢出**：防止 session 被重复订阅时导致的递归栈溢出问题
- **Stop Hook 序列化**：移除未使用的 result 字段，避免序列化循环引用导致的错误

## [2.37.3] - 2026-01-20

### 🔧 功能改进

- **SDK Session API**：新增 `setPermissionMode` 和 `getPermissionMode` 方法，支持动态切换权限模式
- **SDK Query API**：优化 resume + prompt 场景下的历史消息处理流程

## [2.37.2] - 2026-01-20

### 🔧 功能改进

- **ACP 认证增强**：在 authenticate 响应中返回用户信息，客户端可获取当前登录用户的 ID、用户名和昵称；修复已登录用户再次调用认证接口时无法弹出登录页面的问题
- **ACP 会话模型隔离**：修复切换模型时影响全局配置的问题，现在模型切换仅影响当前会话
- **上下文压缩**：引入异步上下文压缩机制，当对话历史达到临界阈值时自动触发后台压缩，提升长对话场景下的响应性能
- **插件卸载清理**：修复卸载插件后 MCP 配置仍然残留的问题，卸载时会自动清理相关配置，避免启动时加载失败的警告
- **网络错误处理**：优化 print 模式下网络错误自动重试逻辑，避免异常退出
- **SDK 连接性能**：优化连接池机制，支持并发查询场景下的预热连接复用，显著降低首次消息延迟；增加 `prewarmInitialize` 选项和会话锁机制
- **SDK 性能优化**：优化了会话恢复和用户交互流程，提升了 SDK 响应速度和稳定性
- **会话存储**：支持跨项目目录搜索会话，新增 meta 文件分离存储
- **认证流程**：优化认证机制，新增用户信息查询接口
- **服务模式**：增强服务器模式策略功能

## [2.37.1] - 2026-01-19

### 🔧 功能改进

- **认证 API 增强**：新增 `unstable_v2_logout()` API，支持清除缓存的认证 token，允许切换用户或环境；`authenticate()` 现在会自动检测已有有效认证，避免重复登录
- **Checkpoint Hook**：新增实验性 `unstable_Checkpoint` Hook，支持在文件修改后自动触发，提供文件快照和变更统计信息，便于追踪文件变更历史和实现自动化审计
- **Session API Hooks 支持**：V2 Session API 现在支持配置 Hooks，可在会话中拦截和控制工具执行

## [2.37.0] - 2026-01-18

### ✨ 新功能

- **SDK 认证 API**：新增实验性认证接口，支持 SDK 独立完成登录流程
  - 支持多种认证环境（external、internal、iOA、cloudhosted、selfhosted）
  - 自动检测已登录状态，避免重复登录
  - 通过回调通知登录 URL，支持自定义浏览器打开逻辑

### 🔧 功能改进

- **React 不可变更新**：重构 `addMessageToGroups` 函数中的消息状态更新逻辑，使用不可变操作替代直接修改对象属性，符合 React 最佳实践

## [2.36.3] - 2026-01-17

### 🔧 功能改进

- **测试系统**：修复测试运行问题，确保测试套件正常执行
- **Shell 执行**：优化跨平台兼容性，修复 Windows 系统下包含空格的路径处理问题
- **权限匹配优化**：改进复杂 Shell 命令的权限规则匹配，支持 `&&`、`||`、`|`、`;` 等操作符组合的命令解析
- **SDK 版本要求**：将文档中的 CodeBuddy Agent SDK 版本要求从 v0.2.0 更新为 v0.1.24
- **输入菜单响应**：修复了菜单状态检测延迟导致的快捷键冲突问题，提升了命令和文件建议菜单的响应速度
- **SDK 自定义工具文档**：修正导入路径，`createSdkMcpServer` 和 `tool` 应直接从 `@tencent-ai/agent-sdk` 导入
- **历史记录过滤**：优化会话历史加载时的消息展示

### 🐛 问题修复

- **上下文窗口溢出**：修复 Claude 模型在高负载场景下 token 超限导致请求失败的问题
- **Windows 配置路径**：修复 Windows 系统下全局配置路径错误（`%appdata%` 环境变量未正确展开）导致无法加载用户配置的问题

## [2.36.2] - 2026-01-17

### 🔧 功能改进

- **权限配置处理**：重构权限规则配置加载逻辑，支持空字符串和纯空白字符的安全处理
- **工具注册检查**：优化启动流程，防止工具重复注册导致的警告

### 🐛 问题修复

- **文件读取行为**：修复 offset 参数为 0 时被错误忽略的问题，现在能正确从第 1 行开始读取
- **Shell 命令解析**：修复反引号（`）语法在 Shell 命令中被错误分割的问题
- **显示设置**：修复 showSuggestions 配置项在某些场景下无法生效的问题
- **流式输出中断**：修复调试日志影响工具流式输出行为的问题

## [2.36.1] - 2026-01-16

### 🔧 功能改进

- **模型显示优化**：改进模型选择列表中推理模型的显示方式，添加 "推理" 后缀以便区分
- **路径补全**：优化文件路径补全体验，解决某些场景下补全结果显示异常的问题

### 🐛 问题修复

- **Windows 兼容性**：修复 Windows 系统下通配符路径 (`\*`) 转换为多文件路径时的解析错误
- **进程清理**：修复程序退出时可能残留僵尸子进程的问题，确保相关后台进程正确终止

## [2.36.0] - 2026-01-15

### ✨ 新功能

- **系统级配置**：新增 `/etc/codebuddy/` 目录支持，IT 管理员可部署统一的权限规则和配置策略

### 🔧 功能改进

- **配置加载顺序**：优化配置文件加载逻辑，现在按照系统级 → 用户级 → 项目级的顺序合并配置
- **网络错误提示**：改进 API 调用失败时的错误信息，提供更清晰的故障排查指引

## [2.35.0] - 2026-01-15

### ✨ 新功能

- **内置规则模板**：新增全局规则配置，代理默认遵守仓库 `.codebuddy/rules` 和 `CODEBUDDY.md` 文件中的规则，提供更好的代码风格和约定支持

### 🔧 功能改进

- **历史加载流程**：重构会话历史消息加载机制，支持增量加载
- **消息处理**：支持处理元数据类型消息，扩展消息类型覆盖范围

## [2.34.1] - 2026-01-15

### 🐛 问题修复

- **MCP 配置类型处理**：修复 `mcpServers` 配置为非对象类型时导致启动失败的问题，增强配置解析的健壮性

## [2.34.0] - 2026-01-14

### ✨ 新功能

- **Anthropic API Key 支持**：新增 `--anthropic-api-key` 参数和 `ANTHROPIC_API_KEY` 环境变量支持，可直接使用 Anthropic API（需配合 `--anthropic-base-url` 使用）

### 🔧 功能改进

- **第三方 API 配置**：统一 API Key 配置方式，通过独立参数管理密钥更安全

## [2.33.1] - 2026-01-14

### 🐛 问题修复

- **配置兼容性**：移除 `chat.input.clearOnSubmit` 配置项，该功能在 CLI 环境下无实际意义

## [2.33.0] - 2026-01-13

### ✨ 新功能

- **代码智能 (LSP)**：新增 `LSP` 工具，提供语言服务器协议支持
  - 跳转到定义（Go to Definition）
  - 查找引用（Find References）
  - 悬停文档（Hover Information）
  - 文档符号（Document Symbols）
  - 工作区符号搜索（Workspace Symbol Search）
  - 调用层级分析（Call Hierarchy）

### 🔧 功能改进

- **UI 视觉更新**：优化版本标识显示，移除内部版本标记

## [2.32.0] - 2026-01-12

### ✨ 新功能

- **复制快捷键**：支持 Ctrl+Shift+C 快捷键快速复制 AI 最后一条回复

### 🔧 功能改进

- **模型显示**：优化模型选择器中 Claude 模型的显示效果
- **会话恢复**：改进历史会话的恢复显示逻辑
- **输入体验**：修复中文输入法在某些场景下的交互问题

### 🐛 问题修复

- **ACP 连接**：优化 ACP 心跳机制，提升连接稳定性
- **工具输出**：修复工具执行结果在某些场景下无法正确渲染的问题

## [2.31.2] - 2026-01-09

### 🐛 问题修复

- **Markdown 转义**：修复渲染问题，确保代码块中的 `$` 和 `{` 字符正确显示
- **文件操作**：修复 Windows 下文件 diff 的路径解析问题

## [2.31.1] - 2026-01-09

### 🔧 功能改进

- **会话存储优化**：改进会话数据持久化策略，提升会话列表加载速度

### 🐛 问题修复

- **内存泄漏**：修复长时间运行时 React 组件未正确卸载导致的内存增长问题
- **热键冲突**：解决某些终端环境下快捷键响应异常的问题

## [2.31.0] - 2026-01-08

### ✨ 新功能

- **输入编辑器外挂**：支持配置使用外部编辑器（如 VSCode、Vim）编写复杂输入，按 Ctrl+G 打开
- **即时会话导出**：支持在会话过程中随时导出对话历史为 Markdown 文件

### 🔧 功能改进

- **自动更新检测**：启动时在后台静默检查新版本，不阻塞用户操作
- **配置热更新**：支持在运行时重载部分配置项，无需重启

## [2.30.1] - 2026-01-08

### 🐛 问题修复

- **子代理通信**：修复子代理结果返回时偶发的解析错误

## [2.30.0] - 2026-01-07

### ✨ 新功能

- **子代理任务**：新增 `Task` 和 `TaskOutput` 工具，支持启动专门化的子代理执行复杂任务

### 🔧 功能改进

- **并行工具调用**：优化多工具并发执行策略，提升复杂任务处理效率
- **上下文窗口管理**：动态调整历史消息裁剪阈值，更高效地利用模型上下文

## [2.29.0] - 2026-01-06

### ✨ 新功能

- **计划模式**：新增 `EnterPlanMode` 和 `ExitPlanMode` 工具，支持 AI 在执行复杂任务前先制定计划
- **任务追踪**：新增 `TodoWrite` 工具，AI 可创建和管理任务清单，提供进度可视化

### 🔧 功能改进

- **中断响应**：优化 Ctrl+C 中断行为，支持更快地终止工具执行

## [2.28.1] - 2026-01-06

### 🐛 问题修复

- **日志路径**：修复 Windows 下日志文件路径包含非法字符导致写入失败的问题

## [2.28.0] - 2026-01-05

### ✨ 新功能

- **Web 搜索**：新增 `WebSearch` 工具，支持实时搜索互联网获取最新信息
- **网页抓取**：新增 `WebFetch` 工具，可抓取指定网页内容并提取关键信息

### 🔧 功能改进

- **Glob 模式**：支持更复杂的文件匹配模式，包括否定模式和大括号展开

## [2.27.3] - 2026-01-05

### 🐛 问题修复

- **会话恢复**：修复从历史会话恢复时，工具调用状态未正确还原的问题

## [2.27.2] - 2026-01-04

### 🔧 功能改进

- **错误信息国际化**：常见错误提示支持中英文双语显示
- **配置校验**：优化配置文件语法错误的提示信息

### 🐛 问题修复

- **Unicode 处理**：修复某些特殊字符在终端显示时的宽度计算问题

## [2.27.1] - 2025-12-31

### 🐛 问题修复

- **会话列表**：修复会话列表在某些终端尺寸下的滚动问题

## [2.27.0] - 2025-12-30

### ✨ 新功能

- **会话管理面板**：新增图形化会话列表，支持浏览、搜索、恢复历史会话

### 🔧 功能改进

- **会话持久化**：完善会话元数据存储，支持按项目和时间检索
- **启动参数**：新增 `-r/--resume` 参数，可直接恢复指定会话

## [2.26.0] - 2025-12-29

### ✨ 新功能

- **用户交互工具**：新增 `AskUserQuestion` 工具，AI 可主动向用户提问以获取必要信息

### 🔧 功能改进

- **批量编辑**：优化 `MultiEdit` 工具的性能，支持更大规模的批量修改

## [2.25.1] - 2025-12-26

### 🐛 问题修复

- **Shell 后台任务**：修复后台命令输出捕获不完整的问题

## [2.25.0] - 2025-12-25

### ✨ 新功能

- **后台 Shell**：`Bash` 工具新增 `run_in_background` 参数，支持启动长时间运行的后台任务
- **输出监控**：新增 `BashOutput` 和 `KillShell` 工具，用于监控和管理后台 Shell

### 🔧 功能改进

- **Shell 复用**：同一会话内的命令在同一 Shell 实例中执行，保持环境状态

## [2.24.0] - 2024-12-24

### ✨ 新功能

- **多文件编辑**：新增 `MultiEdit` 工具，支持在单次调用中对同一文件进行多处修改

### 🔧 功能改进

- **编辑预览**：优化文件编辑的 diff 展示，支持语法高亮

## [2.23.5] - 2025-12-24

### 🐛 问题修复

- **Windows 路径**：修复 Windows 下绝对路径处理的兼容性问题

## [2.23.4] - 2025-12-23

### 🔧 功能改进

- **错误恢复**：优化网络错误后的自动重连逻辑

## [2.23.3] - 2025-12-23

### 🐛 问题修复

- **配置加载**：修复嵌套配置项合并时的覆盖问题

## [2.23.2] - 2025-12-23

### 🐛 问题修复

- **终端尺寸**：修复终端窗口大小变化时 UI 布局未正确更新的问题

## [2.23.0] - 2025-12-22

### ✨ 新功能

- **Hooks 系统**：支持用户自定义 Hook 脚本，可在工具执行前后插入自定义逻辑

### 🔧 功能改进

- **权限规则**：支持在配置文件中定义工具权限白名单/黑名单

## [2.22.0] - 2025-12-20

### ✨ 新功能

- **MCP 支持**：新增 Model Context Protocol (MCP) 服务器集成，可连接外部工具提供商

### 🔧 功能改进

- **工具发现**：动态加载 MCP 提供的工具，支持热插拔

## [2.21.0] - 2025-12-19

### ✨ 新功能

- **自定义命令**：支持在 `.codebuddy/commands/` 目录下创建自定义斜杠命令

### 🔧 功能改进

- **命令补全**：输入 `/` 时显示可用命令列表

## [2.20.1] - 2025-12-19

### 🐛 问题修复

- **Print 模式**：修复 `-p` 模式下输出格式化异常的问题

## [2.20.0] - 2025-12-19

### ✨ 新功能

- **Print 模式**：新增 `-p` 参数，支持非交互式输出，便于脚本集成
- **自动批准**：新增 `-y` 参数，跳过所有工具执行确认提示

### 🔧 功能改进

- **退出码**：规范化程序退出码，便于脚本判断执行结果

## [2.19.2] - 2025-12-16

### 🐛 问题修复

- **Token 统计**：修复长对话中 token 计数不准确的问题

## [2.19.1] - 2025-12-15

### 🐛 问题修复

- **Grep 工具**：修复正则表达式中特殊字符未正确转义的问题

## [2.19.0] - 2025-12-12

### ✨ 新功能

- **Grep 搜索**：新增 `Grep` 工具，支持正则表达式搜索文件内容

### 🔧 功能改进

- **Glob 性能**：优化大型项目中的文件匹配性能

## [2.18.0] - 2025-12-11

### ✨ 新功能

- **Glob 工具**：新增 `Glob` 工具，支持通配符模式匹配文件路径

### 🔧 功能改进

- **文件读取**：`Read` 工具支持读取图片文件，AI 可进行视觉分析

## [2.17.0] - 2025-12-10

### ✨ 新功能

- **Notebook 编辑**：新增 `NotebookEdit` 工具，支持编辑 Jupyter Notebook 单元格

### 🔧 功能改进

- **文件类型识别**：优化二进制文件检测，避免误读

## [2.16.0] - 2025-12-09

### ✨ 新功能

- **文件编辑**：新增 `Edit` 工具，支持精确的字符串替换操作

### 🔧 功能改进

- **Write 工具**：优化大文件写入性能

## [2.15.1] - 2025-12-08

### 🐛 问题修复

- **Bash 超时**：修复长时间运行命令未正确超时的问题

## [2.15.0] - 2025-12-08

### ✨ 新功能

- **Bash 执行**：新增 `Bash` 工具，支持在终端中执行 Shell 命令

### 🔧 功能改进

- **安全检查**：对潜在危险命令增加二次确认提示

## [2.14.1] - 2025-12-07

### 🐛 问题修复

- **文件编码**：修复非 UTF-8 编码文件读取乱码的问题

## [2.14.0] - 2025-12-05

### ✨ 新功能

- **文件读取**：新增 `Read` 工具，支持读取本地文件内容
- **文件写入**：新增 `Write` 工具，支持创建和覆盖文件

### 🔧 功能改进

- **路径补全**：文件路径输入支持 Tab 补全

## [2.13.0] - 2025-12-04

### ✨ 新功能

- **模型切换**：支持通过 `/model` 命令在会话中切换 AI 模型

### 🔧 功能改进

- **Token 显示**：状态栏显示当前对话的 token 使用量

## [2.12.0] - 2025-12-03

### ✨ 新功能

- **配置命令**：新增 `/config` 命令，支持在终端中查看和修改配置

### 🔧 功能改进

- **配置热重载**：修改配置文件后自动生效，无需重启

## [2.11.0] - 2025-12-02

### ✨ 新功能

- **@ 引用**：支持 `@file` 语法引用文件内容到对话

### 🔧 功能改进

- **上下文管理**：新增 `/context` 命令查看当前上下文状态

## [2.10.1] - 2025-12-01

### 🐛 问题修复

- **历史记录**：修复输入历史在某些终端下无法正常工作的问题

## [2.10.0] - 2025-11-28

### ✨ 新功能

- **帮助系统**：新增 `/help` 命令，显示可用命令和快捷键

### 🔧 功能改进

- **命令系统**：重构斜杠命令框架，支持命令别名

## [2.9.0] - 2025-11-26

### ✨ 新功能

- **对话历史**：支持上下箭头键浏览输入历史

### 🔧 功能改进

- **UI 响应**：优化长消息渲染性能

## [2.8.6] - 2025-11-26

### 🐛 问题修复

- **输入处理**：修复多行粘贴时的换行符处理问题

## [2.8.5] - 2025-11-26

### 🐛 问题修复

- **滚动行为**：修复消息列表自动滚动在某些场景下失效的问题

## [2.8.4] - 2025-11-25

### 🔧 功能改进

- **错误提示**：优化 API 错误信息的可读性

## [2.8.3] - 2025-11-25

### 🐛 问题修复

- **会话清理**：修复 `/clear` 命令后历史消息未完全清除的问题

## [2.8.2] - 2025-11-25

### 🐛 问题修复

- **终端适配**：修复在 Windows Terminal 中的显示问题

## [2.8.1] - 2025-11-24

### 🐛 问题修复

- **启动检查**：修复 Node.js 版本检测逻辑

## [2.8.0] - 2025-11-24

### ✨ 新功能

- **清屏命令**：新增 `/clear` 命令清空当前对话
- **退出命令**：新增 `/exit` 命令安全退出程序

### 🔧 功能改进

- **快捷键**：支持 Ctrl+L 清屏，Ctrl+D 退出

## [2.7.0] - 2025-11-21

### ✨ 新功能

- **继续对话**：新增 `-c` 参数，支持继续上次对话

### 🔧 功能改进

- **会话存储**：自动保存对话历史到本地

## [2.6.1] - 2025-11-19

### 🐛 问题修复

- **认证流程**：修复 OAuth 回调处理异常的问题

## [2.6.0] - 2025-11-19

### ✨ 新功能

- **账户管理**：支持多账户切换和登出

### 🔧 功能改进

- **认证状态**：状态栏显示当前登录账户信息

## [2.5.0] - 2025-11-18

### ✨ 新功能

- **配置文件**：支持 `.codebuddy/settings.json` 项目级配置

### 🔧 功能改进

- **默认配置**：优化开箱即用体验

## [2.4.0] - 2025-11-17

### ✨ 新功能

- **代理支持**：支持 `HTTP_PROXY` 和 `HTTPS_PROXY` 环境变量

### 🔧 功能改进

- **网络诊断**：连接失败时提供网络问题排查建议

## [2.3.1] - 2025-11-14

### 🐛 问题修复

- **安装脚本**：修复全局安装时权限不足的问题

## [2.3.0] - 2025-11-14

### ✨ 新功能

- **全局安装**：支持 `npm install -g @anthropic/codebuddy-code` 全局安装

### 🔧 功能改进

- **二进制分发**：提供预编译的平台特定二进制文件

## [2.2.0] - 2025-11-13

### ✨ 新功能

- **流式输出**：AI 回复实时逐字显示

### 🔧 功能改进

- **渲染性能**：优化 Markdown 实时渲染

## [2.1.0] - 2025-11-12

### ✨ 新功能

- **Markdown 渲染**：支持代码块语法高亮
- **状态栏**：显示当前模型和会话状态

### 🔧 功能改进

- **UI 主题**：支持终端颜色主题适配

## [2.0.0] - 2025-11-11

### ✨ 新功能

- **全新 TUI**：基于 React Ink 重构终端界面
- **会话管理**：支持多会话切换
- **工具系统**：基础工具框架

### 🔧 功能改进

- **架构重构**：采用 CellJS 依赖注入框架

## [1.0.0] - 2025-11-01

### ✨ 首次发布

- 基础对话功能
- Claude 模型支持
- 命令行参数解析
