All notable changes to this project will be documented in this file.
- 实现会话恢复时保留原始上下文消息 (d80631f)
- 移除 GitHub Copilot 和 Google Antigravity 相关代码 (91cdcdc)
- 修复重复创建 abortController 导致任务状态错误的问题 (189152a)
- 新增 Function 和 HTTP Hook 支持 (5281f6f)
- 添加并发调度器实现工具调用分桶限流 (0af1b62)
- 添加工具黑名单支持并优化会话处理 (9750322)
- 增强任务中止处理逻辑并支持中断原因区分 (538a058)
- 过滤会话消息中的非用户和助手消息 (d9fe11d)
- 修复令牌计数使用 totalTokens 而不是计算值 (db1318e)
- 改进帮助命令输出和权限模式处理 (04e0532)
- 重构权限决策流程为多阶段仲裁 (7165385)
- 实现渐进式工具披露、自动验证传感器和内置验证Agent (618ecae)
- 添加真实仓库基准测试工具和更详细的无头事件 (d4e5ad3)
- 改进代码块和确认提示的显示效果 (deabaee)
- 支持 Markdown 引用块渲染并改进表格显示 (150a48f)
- 重构系统提示构建顺序并模块化默认提示 (7711103)
- 增强Bash命令权限检查的语义分析和规范化 (56d703a)
- 引入统一的 CWD 管理系统 (4b779c6)
- 新增多模态消息处理、错误分类、流式缓冲和slash命令路由功能 (9de54d5)
- 确保恢复分支消息的持久化和正确顺序 (07276fa)
- 流式工具安全与 fallback 事务边界 (Phase 1) (e26212d)
- 添加模型降级处理逻辑 (6d5407d)
- 添加 token 预算递减收益检测功能 (28915fa)
- 添加模型降级和输出恢复功能 (70c77a2)
- 添加上下文压缩和工具结果预算功能 (4024f51)
- 重构 agent 循环为 AsyncGenerator 模式并实现 drainLoop 工具 (b7e6a7b)
- 改进发布脚本的远程同步和分支校验逻辑 (c1a8b2c)
- 修复 Enter 键行为,仅用于提交而非接受建议 (0df82e5)
- 修复分支显示和加载文案优先级问题 (98d2730)
- 修复多轮对话中stream_end的finalize问题 (30e7688)
- 修复模型切换后未立即生效的问题 (aafce51)
- 事件协议收敛 + 接口定型 + continue 分支状态修复 (aeccc85)
- 修复最终 code review 发现的三个问题 (6f48b1f)
- 修复 code review 发现的两个问题 (336a46d)
- 删除 SubagentContext 旧命名回调,完成 onEvent 收敛 (99c201a)
- 修复 setTimeout 泄漏并删除不可达类型 (dacb2bc)
- 修复 appendBoth 导致消息重复的 bug (cad0a77)
- 修复工具执行中的信号处理和恢复计数器问题 (d0a4e69)
- 替换表情符号和箭头为文本标记 (80370a4)
- 重做确认弹窗信息架构,添加 Diff 展开/折叠 (6786a77)
- 简化加载短语列表并更新提示概率 (ca2a234)
- 移除 displayContent 字段并统一工具输出格式 (805ef7a)
- 删除所有 deprecated 代码 (9544bc8)
- 消费者迁移到 chatStream() 统一事件协议 (Phase 4) (6fe4799)
- 删除未使用的 drainLoop 导入 (db5ea8b)
- 接口分层 — chatStream() 成为唯一事件流入口 (Phase 3) (e6657c4)
- 策略提取与语义 bug 修复 (Phase 2) (cb13993)
- 清理 code review 问题 (d9244b4)
- 消除消息双源,统一走 ConversationState (02ad9d7)
- 重构事件类型系统并统一事件处理逻辑 (e52dc3a)
- 修改package.json中的dev脚本路径 (4968015)
- 添加多个单元测试文件 (a83ddee)
- release v0.3.0 (c2fe9e5)
- ignore project-local worktrees (ffee334)
- 配置 npm 使用官方注册表 (8cbfe8f)
- 迁移项目从pnpm到bun包管理器 (9533cea)
- 支持多模态图像输入功能 (fecd446)
- 添加稳定的工具调用和子代理ID生成功能 (0ae38b7)
- API 错误信息友好化,不再向用户暴露完整堆栈 (58b1bd4)
- stop release flow after npm publish failure (1b1d3bf)
- add web image input design spec (c9b3a51)
- 终端交互层全面性能优化 (82937a8)
- 添加无头模式支持并实现结构化事件流输出 (bd7089e)
- 引入会话运行时管理以支持会话级资源隔离 (5d30dac)
- add native openai provider support (523633b)
- add native openai provider support (5cd1734)
- add /memory edit command with $EDITOR support (75dbfe7)
- add Auto Memory system for cross-session persistent knowledge (4012898)
- createTool.execute now passes ExecutionContext to tools (bbd353a)
- add Auto Memory documentation (b2716e9)
- update README with Auto Memory feature and /memory commands (2ae1dab)
- clean up ContextManager/PersistentStore responsibilities (e799a2f)
- add 20 unit tests for ContextAssembler (4bd66f1)
- add Auto Memory unit tests (38 cases) (511c523)
- Auto Memory 系统 — Agent 跨会话持久化项目知识(构建命令、代码模式、调试洞察)
MemoryRead/MemoryWrite工具:Agent 自动读写记忆文件,内置敏感数据过滤/memory命令:list/show/edit/clear管理记忆文件- 启动时自动注入 MEMORY.md 前 200 行到 system prompt
- 环境变量
BLADE_AUTO_MEMORY=0可禁用
createTool.execute()现在正确传递ExecutionContext到工具函数,修复context.workspaceRoot等始终为 undefined 的问题
- 清理
PersistentStore废弃方法(saveContext/saveSession/saveConversation) - 新增
ContextAssembler:集中 JSONL 事件流到 ContextData 的重建逻辑,修复 tool calls 和 compaction summary 丢失问题 - 修复
ContextManager.saveCurrentSession()重复写入 JSONL 的问题
- 新增 58 个单元测试(AutoMemoryManager 20 + MemoryTools 18 + ContextAssembler 20)
- upgrade @jrichman/ink from 6.4.6 to 6.4.10 (e6ff7ca)
- allow root execution in container/sandbox/CI environments (9f02561)
- 重构依赖项结构,将web相关依赖移动到cli/web目录 (1b2a17a)
- 移除内置免费模型的相关文档和代码 (9b5db9d)
- 支持单次对话指定模型功能 (80e80c5)
- 增强子任务执行状态展示和交互 (f725f00)
- 添加子代理会话ID支持并优化相关功能 (c39a083)
- 添加bun-pty类型定义并修复pty调用 (ae75567)
- 添加全面的单元测试、集成测试和端到端测试 (4e7ce95)
- git operations should run in monorepo root to include changelog (913d26c)
- 更新文档以反映0.2.0版本新增的Web UI功能 (b583c93)
- 重构子会话实现为独立会话模型 (6b7f4c9)
- 修复测试中文件路径和模拟数据的错误 (f674f49)
- 修复单元测试问题 (eb6a72b)
- 大幅提升测试覆盖率和测试基础设施 (12650b1)
🎉 重大更新:Web UI 发布!
本版本带来了全新的 Web UI 界面,让你可以在浏览器中使用 Blade Code。
- 完整的 Web 界面 - 在浏览器中使用 Blade Code,支持所有核心功能
blade web命令 - 启动 Web 服务器并自动打开浏览器blade serve命令 - 启动无头服务器模式,适合远程访问- 实时终端 - 支持 WebSocket 连接的终端功能
- 会话管理 - 创建、切换、恢复会话
- 模型管理 - 在 Web 界面中配置和切换模型
- 权限控制 - 支持权限模式切换和操作确认
- 多语言支持 - 中英文界面切换
- 支持展示所有变更文件并允许展开/折叠差异 (a96ac69)
- 移除 pino 日志库并实现自定义日志系统 (d5b5b67)
- 支持 Node.js 环境的终端 WebSocket 连接 (ff2cde1)
- 添加多语言支持并优化 UI 主题配置 (de2fe52)
- 添加权限模式支持并优化侧边栏样式 (5b83127)
- 添加终端功能及 UI 改进 (37831e3)
- 实现临时会话功能并增强侧边栏 (4c598e9)
- 添加模型管理和会话功能 (c85cff9)
- 实现聊天会话管理和消息流式处理功能 (9b2682c)
- 新增 Blade 服务器核心功能及 API 路由 (52e3db3)
- RESTful API 支持会话、模型、配置、权限等管理
- WebSocket 支持实时消息推送和终端交互
- 支持 CORS 配置和 Basic Auth 认证
- 修复 Web 静态资源路径检测问题 (b778444)
- 简化 monorepo 架构 (1c820dd)
- 重构消息组件和状态管理逻辑 (05e579a)
- 重构会话存储结构,移除工具切片并优化事件处理 (e6fe25e)
- 重构会话存储结构,将状态管理拆分为多个切片 (785bd56)
- 重构会话管理及事件处理机制 (18d75a5)
- 移除事件总线并重构会话和权限处理 (67a4dab)
- 统一使用 PermissionMode 枚举类型 (11b3b4d)
# 更新到 0.2.0
npm update -g blade-code
# 启动 Web UI
blade web
# 或启动无头服务器
blade serve --port 3000 --hostname 0.0.0.0- 使用运行时验证替代静态枚举检查 (ae3c033)
- 添加子任务执行进度显示功能 (a3254c3)
- 重构聊天服务以支持无状态设计和AI SDK集成 (60fce5a)
- 更新文档内容,添加自定义Provider和OAuth命令说明 (f99a563)
- 添加模型配置向导组件及支持自定义HTTP头 (2dd1f1a)
- 更新用户文档和配置指南 (338535c)
- 移除 blade-claude 相关代码及依赖 (b39d743)
- 为useConfirmation添加确认对话框队列功能 (91627d2)
- 移除内置 Claude 模型及相关功能 (e5dfdb4)
- add blade-claude provider to ModelConfigWizard (2976448)
- remove redundant website button from coverpage (2ef7d7c)
- 添加 Blade Claude 服务支持 (e65ce52)
- 在 README 中添加启动界面截图 (340ad08)
- 添加启动界面截图 (bb56bee)
- 更新启动页截图 (1c6261a)
- 修复内置模型更新逻辑 (36dd8c1)
- 更新智谱 API 代理服务地址并实现密钥获取逻辑 (176a4ad)
- 改进日志系统以支持会话隔离和优雅关闭 (a319da3)
- 统一目录创建权限为755并修复路径处理问题 (f055e1e)
- 更新文档内容并改进路径处理函数 (7352bac)
- 更新文档链接为新的地址 (0ef2a3b)
- 更新 changelog 文件路径并移除重复的同步逻辑 (624eb65)
- WebSearch 集成 Exa MCP:使用 Exa 公开 MCP 端点进行网页搜索,无需 API key,支持多提供商自动故障转移(Exa → DuckDuckGo → SearXNG)(83cb4c5)
- WebFetch 集成 Jina Reader:新增
extract_content参数,使用 Jina Reader 提取网页内容为干净的 Markdown 格式,自动移除 HTML 杂乱内容 (83cb4c5) - 添加 Discord Webhook 通知功能,发布时自动推送 changelog (d6ce657)
- 清理未使用类型定义并优化代码结构 (ca8b506)
- 重新设计 ToolResult.metadata 泛型类型系统 (83cb4c5)
- 添加泛型
Metadata<T>类型,实现类型安全的元数据定义 - 为各工具创建专用元数据接口:ReadMetadata, WriteMetadata, EditMetadata, GlobMetadata, GrepMetadata, BashMetadata, WebSearchMetadata, WebFetchMetadata 等
- 添加类型守卫函数:isDiffMetadata, isFileMetadata, isBashMetadata, isGlobMetadata, isGrepMetadata 等
- 添加泛型
- 更新文档链接和 README 内容 (f2b267c)
- 添加项目文档和代理配置文件 (203140b)
- 更新 Node.js 最低版本要求至 20.0.0 (e6f1a70)
🎉 首个开源版本发布!
- 重构流式消息处理与Markdown增量解析 (ea391df)
- 支持流式响应中的token用量统计 (6cb5735)
- 添加内置免费模型 GLM-4.7 及相关支持功能 (6295748)
- resolve unused variable lint errors (f4e23a6)
- 添加 Bun 运行时支持 (bec375e)
- 在 CI 环境跳过 prepare 脚本避免 bun 依赖 (ef92bc3)
- 使用 npm 安装 pnpm 替代 action-setup 修复兼容性问题 (e18543c)
- 使用 standalone 模式修复 pnpm 安装问题 (e16a57d)
- 使用 pnpm/action-setup 修复 CI 流程 (d75ed21)
- 替换 any 类型为 unknown 或具体类型以增强类型安全性 (0533fdc)
- 清理未使用的配置文件和空目录 (codecov.yml, patches/, public/)
- 移除重复的 shell 脚本 (download-ripgrep.sh)
- 移除未使用的代码和导出 (a9db838)
- 实现插件系统核心功能 (7eae689)
- 更新文档结构和内容,优化用户指南和功能说明 (d1579cd)
- 指定官方 registry 确保获取最新版本 (c6771e6)
- 移除模型相关配置选项 (ac7dbc9)
- 添加对Claude Code配置的兼容支持 (99f42e9)
- 重构后台任务管理并引入 TaskOutput 工具 (94c5919)
- 修复 resume 无法保留对话历史的问题 (d0b39e4)
- 修复 killAgent 无法停止后台任务的问题 (8867b7e)
- 重构子代理注册机制,内置核心代理配置 (5b9189d)
- 优化流式输出渲染性能并改进工具详情显示 (33884a8)
- 实现流式消息处理与性能优化 (e17d0af)
- 优化消息折叠策略并重构渲染逻辑 (1690b10)
- 优化 Spec 模式工作流和状态管理 (979967d)
- improve spec mode (c80ec8e)
- 实现规格驱动开发模式的核心功能 (8534a5e)
- 修复消息序列验证问题并更新本地设置 (cad5916)
- 添加 AskUserQuestion 工具支持 (78a44e2)
- 添加统一的代理fetch工具并替换多处直接fetch调用 (b727697)
- 添加 Gemini CLI OAuth 支持并优化用户初始化流程 (e11732b)
- 修复命令中止时的竞态条件问题 (a6bed3a)
- 优化确认提示组件性能,分离静态内容 (4e8e990)
- 添加 Antigravity 和 Copilot 的 OAuth 登录功能 (2b31dae)
- 添加同步远程 tags 功能确保 changelog 生成正确 (05a4a23)
- 为依赖检查添加超时避免卡住 (1bf7816)
- 多模型提供商支持:添加对 Anthropic、Google Gemini 和 Azure OpenAI 的原生支持 (33ec933)
- 添加完整的 Base64 编解码工具 (cab5a2c)
- 修复 CustomTextInput 快捷键处理问题 (cf1e447)
- 添加思维链支持文档及模型配置说明 (3607d0d)
- 添加大量单元测试和测试工具 (0c9a6ac)
- 优化加载指示器和代码高亮组件 (44c12d1)
- 添加 Blade 命令和技能文档文件 (7b9a092)
- 添加自定义 Slash Commands 系统 (db22092)
- 实现完整的钩子系统与Claude对齐 (dfe8edb)
- 添加 Todo 列表更新回调并发送 ACP plan 更新 (691a651)
- 添加操作中止检查并优化中止处理流程 (27596d4)
- 添加原子操作 addAssistantMessageAndClearThinking 避免闪烁 (a7726ed)
- 新增 SkillInstaller 用于首次启动时自动下载官方技能 (2fc2661)
- 替换直接process.exit为safeExit确保终端状态恢复 (169af5d)
- 统一主题管理逻辑并优化动态引入 (ead4bd0)
- 实现完整的技能管理系统 (af6f40f)
- 添加 Skills 系统支持动态 Prompt 扩展和工具限制 (f2588b6)
- 添加终端resize时的Static组件刷新功能 (183affb)
- 支持同步 changelog 到外部 blade-doc 仓库 (0e1ea8b)
- 解决终端resize残影问题并优化布局 (a1701e1)
- 更新项目文档链接和问题反馈地址 (064824e)
- 添加历史消息折叠功能及快捷键支持 (5f34b2b)
- 添加图片粘贴和多模态消息处理功能 (a0532a4)
- 合并 isThinking 状态到 isProcessing 并优化处理逻辑 (6e83764)
- 支持 thinking 模型的 reasoning 内容处理 (811c8aa)
- 添加 Agent Client Protocol 支持 (ab1b699)
- 添加 GPT OpenAI Platform 支持及清屏功能 (f48aa42)
- 添加 pre-commit 命令用于 AI 生成 commit message (318bbde)
- enhance WebSearch tool with multi-provider fallback (caf98e7)
- 添加对话轮次限制功能 (fd1879f)
- 重构 MCP 配置管理并支持全局配置 (8fd56ba)
- 添加交互式版本更新提示组件 (5fe01b0)
- 增强模型配置和版本自动升级功能 (0323f54)
- add thinking block UI and model detection, enhance chat features (afb11a3)
- 支持带scope的提交消息格式 (a8ad572)
- 统一使用 getUI 发送消息并支持取消信号 (24c401f)
- release v0.0.30 (4d0b33d)
- release v0.0.29 (41e0784)
- release v0.0.28 (6be8a21)
- release v0.0.27 (6bf8783)
- release v0.0.26 (77a60d0)
- release v0.0.25 (4742a4b)
- 添加 CHANGELOG.md 到打包文件列表 (91db333)
- 添加 Agent Client Protocol 支持 (ab1b699)
- 添加 GPT OpenAI Platform 支持及清屏功能 (f48aa42)
- 添加 pre-commit 命令用于 AI 生成 commit message (318bbde)
- enhance WebSearch tool with multi-provider fallback (caf98e7)
- 添加对话轮次限制功能 (fd1879f)
- 重构 MCP 配置管理并支持全局配置 (8fd56ba)
- 添加交互式版本更新提示组件 (5fe01b0)
- 增强模型配置和版本自动升级功能 (0323f54)
- add thinking block UI and model detection, enhance chat features (afb11a3)
- 支持带scope的提交消息格式 (a8ad572)
- 添加 CHANGELOG.md 到打包文件列表 (91db333)
- add project documentation and build script (a0b903d)
- 简化README文档结构并更新内容 (796aae7)
- add /git slash command with AI-powered git operations (72526f1)
- 重构状态管理为 Zustand 实现单一数据源架构 (b52d9f2)
- 重构工具系统并添加Plan模式支持 (b9b3bc7)
- 优化孤儿 tool 消息过滤逻辑并添加测试 (cb98b66)
- 将代码中的中文提示信息翻译为英文 (b07f430)
- 添加Subagents系统及相关文档 (6bd6cc9)
- 实现子代理系统及任务工具改进 (b5b8fc1)
- 添加后台命令管理和网络搜索功能 (8d436cb)
- 全面更新文档内容以匹配当前实现 (9fbd18e)
- 统一代码格式化和修复缩进问题 (0f11b8a)
- 移除遥测系统及相关代码 (ecc83b3)
- 迁移状态管理至 Zustand 并重构相关组件 (d4b1c30)
- 清理测试配置和工具文档 (58096e1)
- 清理未使用的代码和优化模块结构 (dbca510)
- release v0.0.16 (4601d44)
- update pnpm setup in CI workflow (073bf7d)
- add /git slash command with AI-powered git operations (72526f1)
- 重构状态管理为 Zustand 实现单一数据源架构 (b52d9f2)
- 重构工具系统并添加Plan模式支持 (b9b3bc7)
- 优化孤儿 tool 消息过滤逻辑并添加测试 (cb98b66)
- 将代码中的中文提示信息翻译为英文 (b07f430)
- 添加Subagents系统及相关文档 (6bd6cc9)
- 实现子代理系统及任务工具改进 (b5b8fc1)
- 添加后台命令管理和网络搜索功能 (8d436cb)
- 全面更新文档内容以匹配当前实现 (9fbd18e)
- 统一代码格式化和修复缩进问题 (0f11b8a)
- 移除遥测系统及相关代码 (ecc83b3)
- 迁移状态管理至 Zustand 并重构相关组件 (d4b1c30)
- 清理测试配置和工具文档 (58096e1)
- 清理未使用的代码和优化模块结构 (dbca510)
- update pnpm setup in CI workflow (073bf7d)
- Grep 工具重大重构 (v3.0.0): 实现四级智能降级策略
- 优先使用系统 ripgrep > vendor ripgrep > @vscode/ripgrep
- 降级策略: ripgrep → git grep → system grep → JavaScript fallback
- 将 @vscode/ripgrep 改为可选依赖,减少包体积
- 使用 picomatch 替代自制 glob 匹配实现
- 添加 vendor ripgrep 支持(可选,~40-50MB)
- 新增下载脚本:
npm run vendor:ripgrep - 完整文档:
docs/development/implementation/grep-tool.md
- 删除
SystemPrompt类,统一改为函数式入口buildSystemPrompt(src/prompts/builder.ts)。- 运行时覆盖:
--system-prompt完全替换,--append-system-prompt追加。 - Plan 模式提示:使用
PLAN_MODE_SYSTEM_PROMPT,并通过createPlanModeReminder注入提醒。 - 影响范围:旧文档与测试已同步移除类引用,使用统一入口与配置字段。
- 运行时覆盖:
- 整合 Grep 工具相关文档到统一位置
- 新增完整的 Grep 工具实现文档
- 添加 vendor ripgrep 设置指南
- 更新 ink 依赖至 6.4.0 并同步 pnpm-lock (22405f7)
- 实现智能文件提及功能(@提及) (24d426f)
- 移除错误处理和遥测相关代码 (647ae4c)
- 重构日志系统并优化文本编辑工具 (4b1a57b)
- 重构为无状态Agent并实现JSONL持久化存储 (9f7f10f)
- release v0.0.10 (16cd9ff)
- 实现首次使用设置向导和多提供商支持 (5f42000)
- 实现用户确认流程集成与权限系统增强 (1d62c16)
- 添加 TODO 管理工具并规范文件命名 (b5e2a6d)
- add theme command and UI theme selector with enhanced theme system (bd87bdd)
- remove main field requirement from release script (e0348ab)
- 更新README中的命令行使用说明 (f9570fc)
- 更新文档结构和内容,添加英文README (222e35b)
- 移除 Ink UI 组件并更新主题系统\n\n- 移除大量 Ink UI 组件及相关测试文件\n- 更新主题系统,添加语法高亮颜色配置\n- 从 package.json 中移除 main 字段\n- 更新 Claude 安全设置,允许更多 bash 命令 (f77c969)
- release v0.0.8 (91b00af)
- release v0.0.7 (e28a010)
- 添加 TODO 管理工具并规范文件命名 (b5e2a6d)
- add theme command and UI theme selector with enhanced theme system (bd87bdd)
- remove main field requirement from release script (e0348ab)
- 更新README中的命令行使用说明 (f9570fc)
- 更新文档结构和内容,添加英文README (222e35b)
- 移除 Ink UI 组件并更新主题系统\n\n- 移除大量 Ink UI 组件及相关测试文件\n- 更新主题系统,添加语法高亮颜色配置\n- 从 package.json 中移除 main 字段\n- 更新 Claude 安全设置,允许更多 bash 命令 (f77c969)
- 添加 Ink UI 组件库集成和现代化界面改进 (8a1fcd9)
- 更新 UI 组件样式和提示文本 (95be248)
- add task abort functionality and improve UI feedback (1f5c4e4)
- 移除 TurnExecutor 类并简化 Agent 实现 (d21a345)
- 迁移命令行工具从commander到yargs (08c2498)
- release v0.0.4 (10fb8a2)
- 更新axios依赖至1.12.2,并调整release配置以跳过安全检查 (72dd801)
- 迁移命令行工具从commander到yargs (08c2498)
- 更新axios依赖至1.12.2,并调整release配置以跳过安全检查 (72dd801)
- 实现 agentic loop 核心功能 (3fd5693)
- 临时禁用发布前的代码质量检查和测试 (e46031a)