@tencent-ai/codebuddy-code 0.0.1-beta.21 → 0.0.1-beta.22
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 +271 -0
- package/dist/codebuddy.js +1 -1
- package/package.json +2 -1
- package/product.json +4 -3
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the agent-cli module will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.0.1-beta.22] - 2025-08-22
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **自动更新系统**:新增完整的自动更新服务,支持后台检查和通知用户可用更新
|
|
12
|
+
- 新增 `AutoUpdateService` 组件,提供版本检查、自动安装和错误处理功能
|
|
13
|
+
- 添加 `AutoUpdateLifecycle` 生命周期管理器,集成到应用启动流程
|
|
14
|
+
- 新增 `UPDATE_NOTIFICATION` 输入状态,统一更新通知的显示逻辑
|
|
15
|
+
- 在用户设置中添加 `autoUpdates` 选项,支持用户自定义更新偏好设置
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- **重构更新通知系统**:将更新通知从 chat-header 迁移到 input-hint 系统,实现统一的提示管理
|
|
19
|
+
- 简化更新通知显示为单行文字格式,提升用户体验和界面简洁性
|
|
20
|
+
- 提取 `DEFAULT_TOKEN_THRESHOLD` 常量到 `context-protocol`,实现配置的集中化管理
|
|
21
|
+
- 优化 token 阈值默认值从 0.95 调整为 0.7,提高上下文压缩的触发频率
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
- **🐛 关键修复:解决更新通知订阅只执行一次的问题**,修复单例模式导致的订阅失效
|
|
25
|
+
- 修复 `useEffect` 中的无限渲染循环问题,优化依赖项管理避免重复订阅
|
|
26
|
+
- 解决订阅生命周期管理不当导致的内存泄漏和通知丢失问题
|
|
27
|
+
- 修复剪贴板兼容性错误提示的边距样式问题
|
|
28
|
+
|
|
29
|
+
### Technical Details
|
|
30
|
+
- 自动更新服务:基于 npm registry 检查版本,支持 alpha/beta/latest 标签自动识别
|
|
31
|
+
- 通知系统重构:集成到 input-hint 优先级系统,确保重要通知优先显示
|
|
32
|
+
- 订阅管理优化:使用函数式状态更新避免闭包陷阱,确保订阅稳定性
|
|
33
|
+
- 常量抽取:将硬编码配置迁移到协议文件,提升代码可维护性
|
|
34
|
+
- 依赖注入改进:修复容器实例管理问题,确保服务单例的正确性
|
|
35
|
+
|
|
36
|
+
## [0.0.1-beta.21] - 2025-08-21
|
|
37
|
+
|
|
38
|
+
### Added
|
|
39
|
+
- 新增 MCP (Model Context Protocol) 模块,支持服务器配置管理与 REST API 接口集成
|
|
40
|
+
- 添加指令对应 panel 初版,提升命令行界面交互体验
|
|
41
|
+
- 增强编辑工具验证逻辑,提高代码编辑准确性和安全性
|
|
42
|
+
- 添加标准输出和错误输出的截断功能,防止超长输出影响终端性能
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
- 改进剪贴板兼容性检查和 Agent 状态管理,优化跨平台体验
|
|
46
|
+
- 优化窄终端下的欢迎页边框显示,提升视觉效果
|
|
47
|
+
- 改进 diff 颜色显示,删除重复的变量名定义
|
|
48
|
+
|
|
49
|
+
### Fixed
|
|
50
|
+
- **🐛 关键修复:修复搜索中止时的内存泄漏问题,提升应用稳定性**
|
|
51
|
+
- 修复 diff 文本替换错误问题,改进文本处理准确性
|
|
52
|
+
- 删除错误消息的无必要刷新操作,优化性能
|
|
53
|
+
- 修复错误的 lastitem 判断逻辑,改进会话状态管理
|
|
54
|
+
- 添加缺失的 React key 属性,移除冗余逻辑
|
|
55
|
+
|
|
56
|
+
### Technical Details
|
|
57
|
+
- MCP 模块:实现服务器配置管理和 REST API 接口
|
|
58
|
+
- 内存泄漏修复:优化搜索中止时的资源清理机制
|
|
59
|
+
- 编辑工具验证:增强参数校验和错误处理
|
|
60
|
+
- 输出截断:标准输出和错误输出自动截断,防止终端性能问题
|
|
61
|
+
- UI 优化:修复 diff 显示异常,改进窄终端适配
|
|
62
|
+
- 状态管理:优化 Agent 状态更新和会话状态处理逻辑
|
|
63
|
+
|
|
64
|
+
## [0.0.1-beta.20] - 2025-08-21
|
|
65
|
+
|
|
66
|
+
### Added
|
|
67
|
+
- 新增剪贴板平台兼容性检查系统,支持 macOS、Windows、Linux 三大平台
|
|
68
|
+
- 添加 ClipboardCompatibilityUtils 工具类,提供统一的兼容性检测接口
|
|
69
|
+
- 增强剪贴板错误处理,新增 CLIPBOARD_COMPATIBILITY_ERROR 输入状态
|
|
70
|
+
- 为 macOS 平台添加 osascript 作为 pngpaste 的后备方案
|
|
71
|
+
- 新增 ClipboardCompatibilityErrorBox 组件,提供友好的错误提示和安装指引
|
|
72
|
+
- 在 PromptContext 中新增 homeDir 和 userMemory/projectMemory 分离支持
|
|
73
|
+
- 添加标准输出和错误输出的截断功能,当输出超过50000字符时自动截断并添加提示信息
|
|
74
|
+
|
|
75
|
+
### Changed
|
|
76
|
+
- 重构 Agent 状态管理,将状态监听逻辑从 AgentStateAgentRunInterceptor 移至 AgentFactory
|
|
77
|
+
- 优化 Agent 事件处理,使用更精确的事件监听和状态更新机制
|
|
78
|
+
- 改进剪贴板图片粘贴流程,增加平台兼容性预检查
|
|
79
|
+
- 更新 CLI Agent 提示模板,修复 URL 引用和格式问题
|
|
80
|
+
- 简化 memory prompt context 初始化逻辑,分离用户和项目内存
|
|
81
|
+
- 版本号升级到 0.0.1-beta.20
|
|
82
|
+
|
|
83
|
+
### Fixed
|
|
84
|
+
- **🌟 重大体验改进:修复终端界面闪动问题,极大提升用户使用体验和视觉稳定性**
|
|
85
|
+
- 修复窄终端下欢迎页边框显示问题,优化终端宽度适配
|
|
86
|
+
- 解决 diff 颜色显示异常和重复变量名问题
|
|
87
|
+
- 修复 diff 文本替换错误,改进文本处理逻辑
|
|
88
|
+
- 优化错误消息刷新机制,移除不必要的刷新操作
|
|
89
|
+
- 修复 lastitem 判断错误,改进会话状态管理
|
|
90
|
+
- 添加缺失的 React key 属性,移除冗余逻辑
|
|
91
|
+
- 改进剪贴板兼容性错误的用户体验,提供清晰的解决方案提示
|
|
92
|
+
|
|
93
|
+
### Technical Details
|
|
94
|
+
- ClipboardCompatibilityUtils: 跨平台剪贴板兼容性检测工具类
|
|
95
|
+
- AgentFactory: 集中管理 Agent 事件监听和状态更新
|
|
96
|
+
- InputState.CLIPBOARD_COMPATIBILITY_ERROR: 新增输入状态类型
|
|
97
|
+
- ClipboardUtils: 增强 macOS 平台支持,添加 osascript 后备方案
|
|
98
|
+
- PromptContext: 结构优化,支持 homeDir、userMemory、projectMemory 分离
|
|
99
|
+
- ShellService: 新增输出截断机制,防止超长输出影响性能
|
|
100
|
+
- UI 组件优化:解决界面闪动和渲染稳定性问题
|
|
101
|
+
- 移除 AgentStateAgentRunInterceptor,简化状态管理架构
|
|
102
|
+
|
|
103
|
+
## [0.0.1-beta.19] - 2025-08-21
|
|
104
|
+
|
|
105
|
+
### Added
|
|
106
|
+
- 实现连续用户消息自动合并功能,确保不会有连续一个以上的 user message 发送给 AI
|
|
107
|
+
- 新增 useAgentState hook,提供响应式的 Agent 状态管理
|
|
108
|
+
- 在 Session 接口中添加 agentStateSubject,支持状态变化的实时通知
|
|
109
|
+
- 支持 string 和数组两种 content 类型的消息合并,兼容多媒体内容
|
|
110
|
+
|
|
111
|
+
### Changed
|
|
112
|
+
- 将 agentState 从 SessionContext 迁移到 ConversationContext,职责分离更清晰
|
|
113
|
+
- LoadingBox 现在能实时响应 agentState 变化,提升用户体验
|
|
114
|
+
- 优化工具确认对话框第3选项文本:从 "No, and tell CodeBuddy what to do differently" 改为 "No, reject this tool and continue"
|
|
115
|
+
- 统一 inConversation 逻辑判断,使用 useContextSelector 精确订阅状态
|
|
116
|
+
|
|
117
|
+
### Fixed
|
|
118
|
+
- 修复 LoadingBox 无法感知 agentState 变化的问题
|
|
119
|
+
- 改进消息合并逻辑,在不同消息间添加分隔符以区分原始内容
|
|
120
|
+
- 优化 AgentStateAgentRunInterceptor,同时更新 agentState 和 agentStateSubject
|
|
121
|
+
|
|
122
|
+
### Technical Details
|
|
123
|
+
- mergeConsecutiveUserMessages: 新增连续用户消息合并函数
|
|
124
|
+
- mergeUserMessages: 支持多种 content 格式的消息合并
|
|
125
|
+
- AgentStateAgentRunInterceptor: 增强状态更新机制,支持响应式通知
|
|
126
|
+
- SessionFactory: 初始化 agentStateSubject 用于状态监听
|
|
127
|
+
- ConversationContext: 集中管理对话相关状态,包括 agentState
|
|
128
|
+
- ConfirmBox: 优化工具确认选项文本,更符合实际业务功能
|
|
129
|
+
|
|
130
|
+
## [0.0.1-beta.18] - 2025-08-20
|
|
131
|
+
|
|
132
|
+
### Added
|
|
133
|
+
- 实现基于 Ctrl+V 的图片粘贴功能,支持跨平台图片剪贴板检测(macOS/Windows/Linux)
|
|
134
|
+
- 新增图片占位符系统 `[Image #N]`,支持多图片粘贴和自动编号
|
|
135
|
+
- 集成 InputState 提示系统,当剪贴板无图片时显示友好提示
|
|
136
|
+
- 支持图片占位符删除时自动清理对应临时文件
|
|
137
|
+
- 消息发送时保留图片占位符文本,同时发送图片数据给 AI 模型
|
|
138
|
+
|
|
139
|
+
### Changed
|
|
140
|
+
- 提高 Agent 默认最大执行轮次从 20 提升到 100
|
|
141
|
+
- 抽象化 Agent 执行常量,统一管理在 agent-protocol.ts 中
|
|
142
|
+
- 优化图片粘贴检测机制,使用事件驱动替代定时轮询
|
|
143
|
+
- 每轮对话结束后自动重置图片索引计数器
|
|
144
|
+
|
|
145
|
+
### Technical Details
|
|
146
|
+
- ClipboardUtils: 新增跨平台剪贴板工具类,支持 macOS(pngpaste)、Windows(PowerShell)、Linux(xclip)
|
|
147
|
+
- InputItemUtils: 扩展支持多图片消息创建,保留原始文本中的占位符
|
|
148
|
+
- InkTextInput: 增强 Ctrl+V 事件捕获,支持图片粘贴检测
|
|
149
|
+
- InputHintBox: 新增 NO_IMAGE_HINT 状态和对应提示组件
|
|
150
|
+
- Agent Protocol: 新增 DEFAULT_MAX_TURNS = 100 常量定义
|
|
151
|
+
|
|
152
|
+
## [0.0.1-beta.17] - 2025-08-19
|
|
153
|
+
|
|
154
|
+
### Added
|
|
155
|
+
- 重构并增强 web-fetch 工具功能,支持更复杂的内容处理
|
|
156
|
+
- 新增 web-search 工具,支持搜索引擎集成
|
|
157
|
+
- 新增 notebook-edit 工具,增强 Jupyter Notebook 编辑功能
|
|
158
|
+
- 新增内容分析器代理指令模板
|
|
159
|
+
- 为确认对话框选项添加箭头指示符,提升用户界面可用性和直观性
|
|
160
|
+
|
|
161
|
+
### Changed
|
|
162
|
+
- 简化 web-fetch-tool 和 web-search-tool 的渲染器配置
|
|
163
|
+
- 重构 use-conversation-state 钩子,改进中断处理逻辑
|
|
164
|
+
- 优化回调函数的依赖项和清理逻辑
|
|
165
|
+
|
|
166
|
+
### Fixed
|
|
167
|
+
- 优化文件排除逻辑并改进通配符转正则表达式处理
|
|
168
|
+
|
|
169
|
+
### Technical Details
|
|
170
|
+
- ConfirmBox: 为选中的选项添加 '> ' 前缀,为未选中的选项添加 ' ' 前缀保持对齐
|
|
171
|
+
- WebSearchTool: 移除未使用的权限检查逻辑,添加别名支持
|
|
172
|
+
- WebFetchTool: 重构架构,增强内容处理能力
|
|
173
|
+
- NotebookEditTool: 全新实现,支持完整的 Jupyter Notebook 编辑操作
|
|
174
|
+
|
|
175
|
+
## [0.0.1-beta.16] - 2025-08-19
|
|
176
|
+
|
|
177
|
+
### Added
|
|
178
|
+
- 新增流式响应支持,ModelProvider 现在可以正确处理 Server-Sent Events 流式数据
|
|
179
|
+
- 基于工具调用结果内容长度的 token 计算优化
|
|
180
|
+
- 支持工具并行执行
|
|
181
|
+
|
|
182
|
+
### Changed
|
|
183
|
+
- 优化 token 显示逻辑,统一展示格式(优先显示输出 token,否则显示输入 token)
|
|
184
|
+
- 改进错误处理机制,根据 result.newItems 最后一项类型智能选择返回的消息类型
|
|
185
|
+
|
|
186
|
+
### Fixed
|
|
187
|
+
- 修复 axiosToFetchAdapter 方法对流式响应的处理问题
|
|
188
|
+
- 修复输入框内存状态检查顺序问题
|
|
189
|
+
- 修复 useTokenTracking hook 中 turnInputTokens 计算逻辑
|
|
190
|
+
- 修复 Connect Error 问题
|
|
191
|
+
- 修复 memory 模型无法回车问题
|
|
192
|
+
|
|
193
|
+
### Technical Details
|
|
194
|
+
- ModelProvider: 添加流式请求检测和 ReadableStream 创建
|
|
195
|
+
- TokenTracking: 使用 function_call_result 内容字符数计算输入 token
|
|
196
|
+
- ConversationState: 智能消息类型选择和历史补偿机制
|
|
197
|
+
- LoadingBox: 简化 token 信息展示,移除条件判断
|
|
198
|
+
|
|
199
|
+
## [0.0.1-beta.15] - 2025-08-19
|
|
200
|
+
|
|
201
|
+
### Added
|
|
202
|
+
- 新增版本发布和分支管理功能
|
|
203
|
+
- 改进输入框组件的用户体验
|
|
204
|
+
|
|
205
|
+
### Changed
|
|
206
|
+
- 更新版本号到 0.0.1-beta.15
|
|
207
|
+
- 优化输入建议菜单的交互逻辑
|
|
208
|
+
|
|
209
|
+
### Fixed
|
|
210
|
+
- 修复输入框相关的UI问题
|
|
211
|
+
|
|
212
|
+
## [0.0.1-beta.14] - 2025-08-18
|
|
213
|
+
|
|
214
|
+
### Added
|
|
215
|
+
- 优化斜杠命令拦截器延迟和token跟踪显示
|
|
216
|
+
- 增加诙谐的 loading 文笔
|
|
217
|
+
- 添加待发送消息队列显示功能并修复队列状态获取问题(下个版本完成)
|
|
218
|
+
- 增强文本输入功能,支持多行编辑、自动补全和快捷键导航
|
|
219
|
+
|
|
220
|
+
### Fixed
|
|
221
|
+
- 修改todo完成颜色展示
|
|
222
|
+
- 修改code的展示和工具展开
|
|
223
|
+
- 修复windows-bash中文乱码
|
|
224
|
+
|
|
225
|
+
### Changed
|
|
226
|
+
- 重构工具集,调整参数结构和工具prompt
|
|
227
|
+
- 合并工具常量并优化工具输出显示
|
|
228
|
+
- 更新 @openai/agents-core 依赖从 0.0.16 到 0.0.17
|
|
229
|
+
|
|
230
|
+
## [0.0.1-beta.11] - 2025-08-14
|
|
231
|
+
|
|
232
|
+
### Added
|
|
233
|
+
- 添加输入历史记录功能,支持上下键导航和本地存储
|
|
234
|
+
- 支持设置中的env应用到对话
|
|
235
|
+
- 使用 static 组件修复终端闪烁问题
|
|
236
|
+
|
|
237
|
+
### Fixed
|
|
238
|
+
- 修改错误时刷新逻辑以及回复的样式,过滤todos参数
|
|
239
|
+
- 删除重复的展示
|
|
240
|
+
- 调整 hint 边距
|
|
241
|
+
- 修改会话margin,解决工具不渲染和bash模式下第一次不展开问题
|
|
242
|
+
- 针对复制多行的/r进行替换,修复多行文本展示和光标位置
|
|
243
|
+
- 修复登录页面闪烁问题
|
|
244
|
+
- 修复无法显示工具详情问题
|
|
245
|
+
|
|
246
|
+
### Changed
|
|
247
|
+
- 重构菜单状态管理并统一使用 InputState.MENU
|
|
248
|
+
- 统一文件编辑工具参数命名风格为snake_case
|
|
249
|
+
|
|
250
|
+
## [0.0.1-beta.10] - 2025-08-13 及之前
|
|
251
|
+
|
|
252
|
+
### Added
|
|
253
|
+
- 基础 agent-cli 功能实现
|
|
254
|
+
- 工具系统架构搭建
|
|
255
|
+
- 会话管理功能
|
|
256
|
+
- 基础 CLI 界面
|
|
257
|
+
|
|
258
|
+
### Changed
|
|
259
|
+
- 初始架构设计和实现
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
*Generated based on git commit history and branch creation times for @tencent-ai/codebuddy-code (agent-cli module)*
|
|
264
|
+
|
|
265
|
+
## 版本说明
|
|
266
|
+
|
|
267
|
+
- **Unreleased**: 2025-08-15 之后的提交,尚未发布的功能
|
|
268
|
+
- **0.0.1-beta.11**: 2025-08-14 发布分支创建时包含的功能
|
|
269
|
+
- **0.0.1-beta.10**: 之前版本的功能
|
|
270
|
+
|
|
271
|
+
版本关联基于 `publish/0.0.1-beta.11` 分支的创建时间 (2025-08-14) 进行划分。
|