OpenClaw Agent
|
4099b5180f
|
feat: 工具调用扩展,新增 5 个实用工具(共 12 个)
新增工具:
- move_file: 移动/重命名文件(需确认)
- copy_file: 复制文件/目录(需确认)
- web_fetch: 抓取网页内容,自动提取文本(自动)
- append_file: 追加内容到文件末尾(需确认)
- edit_file: 文件内查找替换,支持全部替换(需确认)
同步更新:
- 主进程 IPC 分发
- 工具安全检查(路径白名单)
- 设置面板工具列表 UI
- 帮助文档工具说明
|
2026-04-16 09:38:52 +08:00 |
|
OpenClaw Agent
|
21990adf09
|
fix: 导入功能绑定嵌入模型,仅向量记忆启用时可用
- 导入按钮默认禁用,需配置嵌入模型后才可点击
- 模态框打开时根据向量记忆状态自动启用/禁用导入按钮
- 导入时双重校验:按钮状态 + 函数入口检查
- 导入的每条记忆自动通过 addMemory 向量化存储
|
2026-04-16 09:34:05 +08:00 |
|
OpenClaw Agent
|
5825ae7742
|
feat: 记忆模态框支持导入 Markdown 文档
- 工具栏新增「导入」按钮,仅限 .md 文件
- 按 ## 二级标题自动分块解析为记忆条目
- 从标题自动推断记忆类型(事实/偏好/规则)
- 支持从标题提取重要性标记(importance:N)
- 回退策略:无标题分块时按段落拆分
|
2026-04-16 09:29:59 +08:00 |
|
OpenClaw Agent
|
8ec34106cd
|
feat: 将记忆系统和知识库合并改造为长效向量记忆系统
- 移除知识库(KB/RAG)功能,删除 kb-modal.ts、rag.ts、memory-panel.ts
- 新增 vector-memory.ts:记忆向量存储与检索引擎
- 新增 memory-modal.ts:大模态框布局的记忆管理面板
- 简化记忆分类为3类:fact(事实)、preference(偏好)、rule(规则)
- 嵌入模型配置移至设置面板
- 无嵌入模型时自动降级为关键词搜索模式
- 向量搜索支持语义相似度检索
- 嵌入模型变化时自动重新索引所有记忆
|
2026-04-16 09:27:05 +08:00 |
|
thzxx
|
466df86fe4
|
feat: 移除系统提示词功能,由记忆系统替代
- 移除设置面板中的系统提示词开关和文本框
- 移除 input-area 和 agent-engine 中的系统提示词注入逻辑
- 移除 state/KEYS 中 SYSTEM_PROMPT 和 SYSTEM_PROMPT_ENABLED
- 移除 types.d.ts 中对应的 StateKey 类型
- 更新 README.md 设置表和帮助文档
- 记忆系统已完全覆盖系统提示词的功能,且更智能:自动提取、跨会话持久化、按相关性动态注入
|
2026-04-15 19:53:54 +08:00 |
|
thzxx
|
40b45db9c6
|
chore: 版本号更新至 3.2.6
- package.json version → 3.2.6
- index.html app-version → v3.2.6
- README badge、安装包名、git checkout 分支
- CHANGELOG 新增 v3.2.6 条目,更新标签链
- BUILD.md 新增 v3.2.6 构建日志,更新 checkout 命令
- DEVELOPMENT.md 补充 flex 子元素说明
|
2026-04-15 10:37:00 +08:00 |
|
thzxx
|
b05a4785cc
|
style: token 统计图标、数值、消息 token 信息加颜色
- header token 统计:琥珀色 (#FFD580),含背景色和边框
- 消息内 token 数:琥珀色 (.stat-tokens)
- 消息内耗时:主题蓝色 (.stat-duration)
- SVG token 图标同步上色,移除 opacity 透明度
|
2026-04-15 10:29:50 +08:00 |
|
thzxx
|
d6373ffafe
|
fix: 工作空间面板改为 flex 子元素,修复与主内容区错位
- workspace-panel 从 position:fixed 改为 flex 子元素,与日志面板布局模式一致
- 移除 margin-right:480px hack,工作空间自然占据宽度
- 移除 updateNavHeight() 和 --nav-height CSS 变量(不再需要)
- 移除 border-top(flex 布局下顶部自动对齐)
|
2026-04-15 10:17:04 +08:00 |
|
thzxx
|
80ea5df68d
|
fix: token图标改用纯path SVG内联,避免text元素在部分系统不显示
|
2026-04-14 18:47:37 +08:00 |
|
thzxx
|
21d774fab4
|
fix: 图片/文件读取改用 base64,修复 atob Latin1 错误
- 主进程新增 fs:readFileBase64 IPC,读 Buffer 直接返回 base64
- 图片读取从 atob 转换改为直接使用 readFileBase64
- .metona 备份导入同理修复
- 根因:fs:readFile 用 utf-8 编码读取二进制文件,UTF-8 多字节序列超出 Latin1 范围导致 atob 失败
|
2026-04-08 16:46:22 +08:00 |
|
thzxx
|
43f45cc09c
|
refactor: 工作空间改为单一终端,移除多 Tab 机制
- 移除新建终端按钮和 Tab 栏,只保留唯一默认终端
- AI 命令始终发往唯一终端,避免多终端时目标不确定
- 删除 createTerminalSession/closeTerminalTab/renderTerminalTabs 等多 Tab 相关代码
|
2026-04-08 16:35:54 +08:00 |
|
thzxx
|
8783cd9b59
|
fix: 工作空间面板定位、中文乱码、快捷键、帮助文档
- 工作空间面板 top 改用 CSS 变量 --nav-height,JS 动态计算 header+model-bar 实际高度
- Windows 下 spawn 子进程前加 chcp 65001 切换 UTF-8 代码页,修复中文乱码
- 补全 Ctrl+K(知识库)、Ctrl+M(记忆面板)快捷键,防止 Ctrl+M 默认行为冲突
- 帮助弹框内容全面更新,修正工作空间为常驻显示,补充 Ctrl+N、布局说明等
- Token 统计图标从 emoji 🪙 改为内联 SVG,兼容所有 Windows 字体
|
2026-04-08 16:29:22 +08:00 |
|
thzxx
|
68c5571dd8
|
chore: 版本号更新至 3.2.5
更新文件:package.json、index.html、README.md、docs/BUILD.md、docs/CHANGELOG.md
|
2026-04-08 14:24:43 +08:00 |
|
thzxx
|
2fafa357b1
|
fix: 工具相对路径解析基于工作空间目录而非进程 CWD
所有文件系统工具(read_file/write_file/list_directory/search_files/create_directory/delete_file)
的相对路径此前用 path.resolve() 解析到进程当前工作目录,导致 AI 创建的文件实际写到了错误位置。
新增 resolvePath() 辅助函数,相对路径统一基于 getWorkspaceDir() 解析。
|
2026-04-08 14:18:19 +08:00 |
|
thzxx
|
03a396c730
|
fix: handleRunCommand 补全执行日志(安全检查、执行开始、完成、异常、终止)
|
2026-04-08 13:33:50 +08:00 |
|
thzxx
|
f0bad05494
|
chore: 版本号更新至 3.2.4
- package.json version 3.2.4
- README.md 版本徽章、下载说明、构建分支
- docs/CHANGELOG.md 新增 v3.2.4 版本说明,版本链补全 v3.2.3
- docs/BUILD.md 新增 v3.2.4 构建日志,构建分支引用
- src/renderer/index.html 应用标题版本号
|
2026-04-08 13:26:14 +08:00 |
|
thzxx
|
01b1b0e9c5
|
fix: 设置面板修改地址后同步更新顶部导航连接状态
|
2026-04-08 13:22:39 +08:00 |
|
thzxx
|
83fe7ba4ce
|
fix: 清理 TOOL_USAGE_GUIDE 中引用已删除字段的规则
|
2026-04-08 13:16:34 +08:00 |
|
thzxx
|
0431ed56c0
|
refactor: 命令执行走工作空间终端,AI 不再直接执行
流程改为:AI 提出命令 → 用户确认 → 工作空间终端执行(实时显示)→ 结果反馈 AI → AI 回复
- handleRunCommand 直接 spawn 子进程,stdout/stderr 实时通过 cmd:output 推送
- 进程结束后通过 cmd:done 通知渲染进程
- 停止按钮通过 cmd:kill 终止进程
- 清理 workspace.ts 中不再需要的 execWorkspaceCommand 工具集成代码
- 去掉 workspace:execTool/killTool,改为 cmd:output/cmd:done/cmd:kill
|
2026-04-08 13:12:18 +08:00 |
|
thzxx
|
d5e5f5f58a
|
feat: AI 命令执行实时流式推送到工作空间终端
- execWorkspaceCommand 新增 onOutput 回调,stdout/stderr 实时推送
- ipc.ts workspace:execTool 实时转发输出 + 发送 toolDone 完成通知
- 渲染进程 appendToolStreamOutput 流式显示,handleToolDone 显示退出状态
- 去掉 tool-handlers.ts 中的一次性完整输出推送
- 完整流程:用户确认 → 实时输出 → 完成通知 → AI 回复结果
|
2026-04-08 13:06:57 +08:00 |
|
thzxx
|
d150b53116
|
refactor: 工作空间去掉手动命令输入,终止时自动反馈 AI
- 移除工作空间终端的命令输入框和执行按钮
- 用户只能通过终止按钮中断卡住的 AI 命令
- 终止后自动通过 killTool IPC 终止进程,结果自动回传 AI
- 新增 workspace:killTool IPC 和 terminateCurrentToolCommand
- 新增终端底部状态提示(等待/执行中)
- 修复工作空间面板顶部对齐(90px → 92px)
|
2026-04-08 12:57:48 +08:00 |
|
thzxx
|
d5f4112d97
|
fix: AI Tool Calling run_command 输出同步到工作空间终端面板
- handleRunCommand 改用 execWorkspaceCommand 替代 Node exec()
- 执行完成后通过 workspace:toolOutput IPC 事件推送命令和输出
- 渲染进程监听 onToolOutput,在活跃终端显示 AI 命令及结果
- 清理 tool-handlers.ts 中不再需要的 child_process 导入
|
2026-04-08 12:47:28 +08:00 |
|
thzxx
|
e663878da0
|
fix: 修复 tool-registry.ts 缺少 logInfo 导入导致 run_command 工具调用异常
|
2026-04-08 12:26:43 +08:00 |
|
thzxx
|
f9eca2e524
|
v3.2.3: 工作空间面板改为常驻显示,固定宽度480px,不可关闭不可拖拽
|
2026-04-08 12:22:37 +08:00 |
|
thzxx
|
d9e9416d35
|
feat: 工作空间与 AI Tool Calling 深度集成
核心变更:
- 新增 execWorkspaceCommand() 无超时进程执行(workspace.ts)
- 新增 workspace:execTool IPC 通道(无超时,5MB 输出上限)
- run_command 工具改用 workspace IPC,移除 30s 超时限制
- run_command 默认启用(需用户确认),AI 上下文注入工作空间目录
- Agent Loop 工具执行:run_command 无超时,其他工具保持 30s
- Agent 系统提示词新增工作空间规则(userTerminated/truncated 反馈)
UI 修复:
- Header z-index 提升至 50,Model Bar 提升至 40,Input Area 提升至 30
- 工作空间面板 top 调整为 90px(header + model-bar),不再遮挡菜单
- Input Area 增加 position: relative 确保 z-index 生效
其他:
- 新增 docs/DEVELOPMENT.md 开发规范文档
- 设置面板 run_command 开关文案优化,默认值改为 true
|
2026-04-07 22:24:58 +08:00 |
|
thzxx
|
117df2e2cf
|
chore: 版本号更新至 3.2.2
|
2026-04-07 20:17:25 +08:00 |
|
thzxx
|
e7efd87ba6
|
fix: 工作空间进程根据平台选择 shell(Windows 用 cmd.exe,其他用 bash)
|
2026-04-07 20:15:50 +08:00 |
|
thzxx
|
5d0fff7f01
|
fix: 工作空间执行日志接入 + AI 工具提示词补充 run_command 指引
|
2026-04-07 20:13:48 +08:00 |
|
thzxx
|
48468f4a6c
|
chore: 版本号更新至 3.2.1
|
2026-04-07 19:50:25 +08:00 |
|
thzxx
|
34a6b9fd0b
|
chore: 清除所有 console.log,主进程日志接入执行日志面板
|
2026-04-07 19:49:30 +08:00 |
|
thzxx
|
46c9595f26
|
fix: 修复工作空间面板协调性问题
- 头部 Tab 改用 ws-header-tab class,与终端 Tab 的 ws-tab 解除冲突
- 终端 Tab bar 补充完整基础样式(background、border、cursor、transition)
- 补充 .ws-file-toolbar 的 min-height 和按钮 flex-shrink
- 移除未使用的 WorkspaceFileEntry、logWarn import
- resizer 添加 title 提示
|
2026-04-07 18:35:26 +08:00 |
|
thzxx
|
0e1f216aa4
|
feat: 添加工作空间面板 - 右侧终端/文件浏览器
- 新增主进程 workspace.ts:spawn 进程管理,流式输出,安全检查
- IPC 双向通信:workspace:exec(on/send 模式,无超时限制)
- preload 暴露 workspace API
- 渲染进程 workspace-panel.ts:多终端 Tab、ANSI 颜色渲染、文件浏览器
- 设置面板添加工作空间目录配置
- 启动时自动创建 workspace 目录
- 窗口关闭时自动清理所有子进程
- 帮助文档更新
|
2026-04-07 18:30:45 +08:00 |
|
thzxx
|
9485b4c09e
|
chore: bump version to 3.2.0
|
2026-04-07 18:21:26 +08:00 |
|
thzxx
|
06e1900435
|
fix: Agent Loop 注入工具路径上下文引导,避免连续操作时路径丢失
|
2026-04-07 11:05:52 +08:00 |
|
thzxx
|
4e11bd549c
|
feat: 退出应用时自动释放模型显存
|
2026-04-07 10:50:35 +08:00 |
|
thzxx
|
5cde0fab6e
|
chore: 版本号升级 3.1.0 → 3.1.1
|
2026-04-07 02:49:40 +08:00 |
|
thzxx
|
4ccd53e087
|
fix: 修复 vector-store.ts colId 变量重复声明
|
2026-04-07 02:10:20 +08:00 |
|
thzxx
|
4dcbb4f1e9
|
fix: 修复 importSessions 中 result 变量重复声明导致编译失败
|
2026-04-07 02:10:01 +08:00 |
|
thzxx
|
0a476365b2
|
chore: 版本号升级 3.0.0 → 3.1.0
|
2026-04-07 02:02:19 +08:00 |
|
thzxx
|
79e4cac19b
|
feat: header 增加当前会话总 token 消耗统计
- 新增 totalTokens 元素(帮助按钮右侧,🪙 图标 + 数字)
- chat-area.ts 新增 updateTotalTokens() 函数
- 四个触发点:新消息完成、新建会话、加载历史、应用初始化
- 数字自动格式化(toLocaleString)
|
2026-04-07 02:00:27 +08:00 |
|
thzxx
|
a80baf363c
|
fix: 修复 AI 回复 token 统计信息显示
- 直接 API 路径:增强 finalStats 捕获,从任意包含统计的 chunk 兜底收集
- Agent Loop 路径:新增 total_duration / eval_count 统计回传
- chat-area.ts: 修复 falsy 判断(eval_count=0 也应显示)
- agent-engine.ts: onDone 回调新增 stats 参数
|
2026-04-07 01:56:17 +08:00 |
|
thzxx
|
9735a1ed38
|
feat: 全面补充执行日志(135处)
补日志的模块:
- vector-store.ts: 0→7(init/create/delete/add/search 全覆盖)
- rag.ts: 3→7(initVectorStore/embedBatch/removeDoc/retrieveContext)
- chat-area.ts: 2→5(3个导出函数加日志)
- history-modal.ts: 4→5(打开历史记录)
- kb-modal.ts: 7→8(打开知识库管理)
- header.ts: 5→7(运行中模型状态)
|
2026-04-07 01:47:02 +08:00 |
|
thzxx
|
60152fb443
|
refactor: 清理渲染进程全部 58 处 console.log/warn/error
- 所有错误日志统一走 logService(logError/logWarn/logInfo)
- 无 logService 的地方补上对应调用
- 纯调试 trace 直接删除(桌面应用看不到 console)
- ollama.ts 流式解析错误改为静默跳过(非关键)
- 执行日志面板信息量不变
|
2026-04-07 01:42:56 +08:00 |
|
thzxx
|
f174e7d737
|
fix: 聊天导出改用原生保存对话框,清理 downloadFile
- exportAsMarkdown/Html/Txt 全部改用 dialog.saveFile + fs.writeFile
- 删除 utils.ts 中的 downloadFile 函数(不再使用)
- 两处 a.download 保留为 fallback(bridge 不可用时降级)
|
2026-04-07 01:36:19 +08:00 |
|
thzxx
|
02d5ff19c7
|
feat: 文件对话框全部改用 Electron 原生对话框
- input-area.ts: 图片/文件上传改用 dialog.showOpenDialog(通过 IPC)
- settings-modal.ts: 导入改用原生打开对话框,导出改用原生保存对话框
- kb-modal.ts: 知识库文档上传改用原生打开对话框
- ipc.ts/preload.ts/types.d.ts: writeFile 增加 encoding 参数支持二进制写入
- index.html: 移除 4 个无用的 <input type="file"> 元素
- 清理死代码: fileToBase64, fileToText, isMetonaFile
|
2026-04-07 01:33:51 +08:00 |
|
thzxx
|
58ef272061
|
fix: 修复桌面集成失效 + 清理死代码
- main.ts: window.__metonaBridge → window.metonaDesktop(与 preload.ts 对齐)
- 删除 DesktopBridge 接口和 __metonaBridge 类型(从未使用)
- 删除 extractDocument(定义了但无调用)
- 删除 logIPC(导出了但零引用)
- 删除 getMessagesContainer(导出了但无调用)
- SAFE_DATA_TYPES 去掉多余的 export
- vite.config.ts 移除未使用的 server 配置
|
2026-04-07 01:28:07 +08:00 |
|
thzxx
|
e1e67dd285
|
docs: 更新帮助弹框 — 新增 Tool Calling 和 Agent 记忆系统说明,移除已废弃的 Agent 预设
|
2026-04-07 00:01:14 +08:00 |
|
thzxx
|
9d9feb40a3
|
fix: 修复工具确认后执行卡死问题
问题:用户点击确认执行工具(如删除文件)后,页面一直处于'正在思考'loading状态,工具未被执行。
原因:tool-confirm-modal.ts 中 cleanup() 先将 resolveConfirm 设为 null,导致后续 resolveConfirm?.(true) 无法 resolve Promise,await callbacks.onConfirmTool(call) 永远挂起。
修复:在调用 cleanup() 前先保存 resolveConfirm 引用,cleanup 后再调用保存的引用来 resolve Promise。
|
2026-04-06 21:30:00 +08:00 |
|
Metona Dev
|
e71a307f33
|
docs: 对齐 Ollama 官方 Tool Calling 文档,补充关键注释
对照 docs.ollama.com/capabilities/tool-calling JavaScript 示例:
- 确认 assistant 消息格式:content + thinking + tool_calls 三者共存
- 确认工具结果格式:{role: 'tool', tool_name, content}
- 确认 Agent Loop 结构与官方一致
- 补充流式 tool_calls 累积逻辑的注释
|
2026-04-06 20:43:33 +08:00 |
|
Metona Dev
|
a9c56582d0
|
fix: 工具执行 IPC 卡死问题 — 多层超时保护
问题:确认工具操作后 Agent Loop 卡死在'正在思考中',工具未执行。
修复:
- tool-registry.ts: executeTool() 新增 25 秒 IPC 硬超时
- agent-engine.ts: executeTool 内部 .catch 捕获异常,防止 reject 逃逸
- ipc.ts: tool:execute handler 外层 try-catch 确保始终返回响应
- 全链路添加 console.log 便于排查
|
2026-04-06 20:41:56 +08:00 |
|