Commit Graph

44 Commits

Author SHA1 Message Date
晴天
f898733146 fix: fixPairing stop+wait+start instead of restart to reload config 2026-03-08 02:07:52 +08:00
晴天
02e1ef6b14 feat: 版本管理 + macOS提示优化 + 部署文档更新
- OpenClaw 版本管理: 安装/升级/降级/切换版本, 汉化版/原版选择
- 新增 list_openclaw_versions API (Rust + Web)
- upgrade_openclaw 支持指定版本号
- 版本选择器弹窗 (about.js)
- macOS Gatekeeper 提示优化: 强调拖入应用程序, No such file 备选
- 部署文档统一使用 npm run serve 替代 npx vite
- showUpgradeModal 支持自定义标题 + onClose 回调
- serve.js 路径分隔符跨平台修复
- 扩展工具页面优化 + AI助手危险工具确认
2026-03-08 01:46:27 +08:00
晴天
dbc2aa8a61 Merge branch 'pr-15' 2026-03-08 00:18:58 +08:00
0xsline
5eb5a93a76 fix(skills): stabilize loading, install list and scroll behavior 2026-03-07 20:56:48 +08:00
晴天
0752dc2a71 feat: v0.6.0 — 公益AI接口 + Agent灵魂借尸还魂 + 知识库 + 全局AI诊断 + 官网改版 2026-03-07 19:36:25 +08:00
晴天
921c371934 feat: AI助手支持 Anthropic/Gemini 原生API + 修复Windows终端闪烁
- AI助手新增 API 类型选择器(OpenAI兼容 / Anthropic原生 / Google Gemini)
- 实现 Anthropic Messages API 流式调用 + 工具调用(tool_use/tool_result)
- 实现 Google Gemini streamGenerateContent + 工具调用(functionCall)
- 设置弹窗动态切换 placeholder 和提示文本
- 测试按钮和模型拉取适配三种 API 类型
- 修复 Windows 上 Gateway 状态轮询导致终端反复闪烁(execSync/spawn 加 windowsHide)
- 默认密码统一为 123456 + 改密码后自动移除顶部横幅
- 后端 API 增加暴力破解保护、配置缓存、请求体大小限制
2026-03-06 22:46:40 +08:00
晴天
860218fa09 feat: 新增 AI 助手页面 + 图片识别功能 + 更新宣传素材
- 新增 AI 助手页面 (assistant.js/assistant.css/assistant.rs)
- 新增图片识别截图 (13.png) 并加入官网和 README
- 更新宣传视频 (promo-web.mp4) 含 AI 助手+工具调用+图片识别场景
- 更新视频封面 (video-cover.png/video-cover-light.png) 突出 AI 助手
- 更新 AI 助手演示 GIF (ai-assistant-demo.gif) 作为 README 首图
- 更新功能矩阵 GIF (feature-showcase.gif) AI 助手为 star 卡片
- 官网新增图片识别 showcase 区块
- README 新增图片识别特性和截图
- 视频封面改用专业设计版本
- 演示视频时长 badge 更新为 50 秒
2026-03-06 04:33:43 +08:00
晴天
b4e959ec99 紧急修复:mode 字段位置错误导致 Gateway 无法启动 (v0.4.6)
根因:openclaw.json 的 mode 属于 gateway 对象内部,不是顶层字段。
OpenClaw zod-schema 对顶层 mode 报 Unrecognized key 错误。

修复:
- config.rs init_openclaw_config: mode 移入 gateway 对象
- dev-api.js init_openclaw_config: 同上
- dashboard.js 自愈: config.mode → config.gateway.mode
- dashboard.js 自愈: 自动删除旧版错误的顶层 mode 字段
- setup.js 安装流程: config.mode → config.gateway.mode
2026-03-05 23:41:55 +08:00
晴天
bb2c6df8ec 优化:初始设置页面自动创建默认配置文件
当检测到 OpenClaw CLI 已安装但 openclaw.json 不存在时:
1. 自动创建包含合理默认值的配置文件(mode:local, tools:full 等)
2. 如果自动创建失败,显示「一键初始化配置」按钮供手动操作
3. 新增 init_openclaw_config API(dev-api.js + Tauri Rust 后端)
4. 用户不再需要去终端手动执行 openclaw configure
2026-03-05 23:14:13 +08:00
晴天
cb5cbe2f71 feat: Agent tools permission config UI + auto-heal (v0.4.4)
- Gateway config page: add tools profile selector (full/limited/none)
- Gateway config page: add session visibility selector (all/own/none)
- Auto-heal: setup + dashboard auto-set tools.profile:full on install/load
- Fixes OpenClaw 2026.3.2 breaking change that disabled tools by default
2026-03-05 22:40:02 +08:00
晴天
46928e798c fix: auto-set mode:local after Gateway install + dashboard self-heal
- Setup flow: write mode:'local' to openclaw.json after Gateway install
- Dashboard: auto-heal missing mode field on load for existing users
2026-03-05 22:34:07 +08:00
晴天
6ca4267970 feat: Node.js path scanning + manual path input + git HTTPS auto-fix (v0.4.2)
- Add scan_node_paths: auto-scan C/D/E/F/G drives for Node.js installations
- Add check_node_at_path: verify Node.js at user-specified directory
- Add save_custom_node_path: persist custom path to ~/.openclaw/clawpanel.json
- enhanced_path() now loads saved custom path and applies to all commands
- Windows enhanced_path: scan Program Files, LOCALAPPDATA, APPDATA, common drives
- Auto git config HTTPS-instead-of-SSH before npm install (fixes exit 128)
- Setup page: auto-scan button + manual path input when Node.js not detected
- Error diagnosis: add EPERM, MODULE_NOT_FOUND, SSH publickey patterns
- README: expanded troubleshooting section
2026-03-05 22:30:19 +08:00
晴天
b1b95e5a11 fix: macOS PATH detection + npm install error diagnosis (v0.4.1)
- Fix macOS Node.js/npm/openclaw detection by adding enhanced_path() with common install locations (/usr/local/bin, /opt/homebrew/bin, ~/.nvm, ~/.volta, etc.)
- Add npm install error diagnosis: auto-detect git missing (exit 128), ENOENT, permission denied, network errors, cache corruption
- Show macOS-specific hint when Node.js detection fails in setup page
- Add shared error-diagnosis.js module used by both setup and services pages
- Add troubleshooting section to README.md
- Bump version to 0.4.1
2026-03-05 22:21:11 +08:00
晴天
79cd15e1c4 v0.4.0: Gateway 进程守护、配置自愈、双配置同步、流式超时、模型删除安全切换 2026-03-05 20:44:47 +08:00
晴天
373fc37f92 fix: limit auto-pair to 1 attempt to prevent infinite loop, add button feedback on diagnostics page 2026-03-04 21:28:06 +08:00
晴天
3886aafc00 feat: gateway auth supports token/password mode switching; fix ClawApp description 2026-03-04 21:20:18 +08:00
晴天
ea251002c8 fix: auto-repair origin not allowed in connect handshake + cleanup duplicate listeners 2026-03-04 21:16:41 +08:00
晴天
a6e1f40a59 feat: image rendering, sidebar toggle, contribute section; fix: private repo update check; bump v0.2.1 2026-03-04 20:47:00 +08:00
晴天
3b81a193bb fix: wsClient.close→disconnect, model vision input, memory leaks; feat: loading skeletons, panel update check; bump v0.2.0 2026-03-04 18:07:12 +08:00
晴天
57ad84fcd3 fix: 聊天附件图片 AI 看不到的问题
根本原因分析(对比上游源码):
1. fileToBase64 用 split(',')[1] 在边缘情况不如 regex 健壮,
   改为 /^data:[^;]+;base64,(.+)\$/ 精确提取(匹配 upstream)
2. updateSendState 只判断文本,有附件无文本时发送按钮禁用,
   改为 !text && !attachments.length 联合判断
3. renderAttachments 没有调用 updateSendState,添加附件后
   按钮状态不更新,修复:末尾调用 updateSendState()
4. 无粘贴图片支持:新增 handlePaste,Ctrl+V 直接粘贴图片
2026-03-04 15:44:51 +08:00
晴天
317cda70c2 fix: pairing required(metadata-upgrade) + agents 骨架屏
pairing.rs:
- platform 改用 std::env::consts::OS (windows/macos/linux),
  新增 deviceFamily=desktop,与 device.rs connect frame 保持一致
- 已配对设备若 platform 字段不匹配,自动覆盖更新,避免 Gateway
  因 metadata-upgrade 拒绝静默自动配对

agents.js + components.css:
- loadAgents 调用前先渲染 3 条骨架屏占位,消除空白等待期
- 添加 .skeleton 闪光动画样式
2026-03-04 15:13:27 +08:00
晴天
7c34f7919d fix: 修复系统诊断页面一键修复配对,解决 origin not allowed 握手失败
根本原因:Gateway WebSocket 服务检查 HTTP Origin 头,Tauri 应用的
origin (tauri://localhost / https://tauri.localhost) 不在
gateway.controlUi.allowedOrigins 白名单,导致 code 1008 拒绝握手。

修复内容:
- pairing.rs: auto_pair_device 新增 patch_gateway_origins(),在写入
  paired.json 的同时将 tauri://localhost 和 https://tauri.localhost
  写入 openclaw.json gateway.controlUi.allowedOrigins
- chat-debug.js: fixPairing 流程补充 origins 写入提示;success 后
  触发主 wsClient.reconnect() 让主界面恢复正常;修复诊断建议去除
  重复条件,合并 origin/端口 两种可能原因
- chat-debug.js: testWebSocket 1008 关闭时给出明确原因和解决方法
- ws-client.js: onclose 1008 时自动触发 _autoPairAndReconnect()
  而非普通重连,实现主应用自愈
2026-03-04 13:25:20 +08:00
晴天
dab61ccd24 fix: 修复多项关键 Bug,与 openclaw 上游协议对齐
- main.js: wsClient.connect 传参格式错误(完整 ws:// URL → host:port)
- ws-client.js: request() 等待重连时不处理 onReady 握手失败
- gateway.js: bind 写入非法值 'all',改为 openclaw 合法值 'lan'
- device.rs: connect payload 从 v2 升级到 v3,补充 platform/deviceFamily
- config.rs: macOS reload_gateway 在 async fn 中用同步 Command 阻塞 tokio
- service.rs: Windows check_service_status 端口硬编码 18789,改为读配置
- extensions.rs: parse_cftunnel_status 全角冒号解析失败,添加 split_after_colon
- tauri-api.js: cachedInvoke miss 时 logRequest 被记录两次
- tauri-api.js: mock 补充 list_agents / restart_gateway
- chat.js: 附件对象冗余 data 字段(双倍内存)+ 缩进修复
- services.js: 服务操作缺少操作中 toast 反馈
2026-03-04 12:16:58 +08:00
晴天
05771ffa63 fix: 修复所有页面 loading 动画未正确移除的问题
- chat-debug.js: loadDebugInfo 完成后正确调用 renderDebugInfo 移除 loading
- agents.js: loadAgents 失败时显示错误信息替代 loading
- dashboard.js: renderLogs 无日志时显示提示信息
- memory.js: loadFiles 失败时显示错误信息
- services.js: loadServices/loadRegistry/loadBackups 添加 loading 状态并在完成/失败时移除
- extensions.js: loadCftunnel/loadClawapp 添加 loading 状态并在完成/失败时移除
- models.js: loadConfig 添加 loading 状态并在失败时显示错误
- gateway.js: loadConfig 添加 loading 状态并在失败时显示错误
- logs.js: loadLog/searchLog 使用 loading-text 样式并在失败时显示错误

确保所有异步加载函数都:
1. 开始时显示 loading 状态
2. 成功时渲染数据(自动移除 loading)
3. 失败时显示错误信息(替代 loading)
2026-03-03 01:46:19 +08:00
晴天
53f46d8ef2 feat: Windows 兼容性全面改进
- Windows Gateway 启动改为前台 spawn 模式(绕过 schtasks 管理员权限)
- 添加全局 Gateway 未启动引导横幅(黄色提示条 + 一键启动按钮)
- 所有页面加载动画改为脉冲效果
- 统一 Windows cmd /c 调用加 CREATE_NO_WINDOW 标志
- 托盘菜单复用 service.rs 逻辑
- 新增 utils.rs 封装 openclaw_command
- 修复 config 文件 UI 字段污染问题
- 添加 dev.ps1 启动脚本
2026-03-02 13:00:16 +08:00
晴天
60a4a3c6b5 fix: 修复 dashboard.js 模板字符串语法错误 + Linux 构建环境
- formatDate 函数改用字符串拼接避免嵌套模板字符串转义问题
- Linux 改回 ubuntu-latest 解决 libwebkit2gtk-4.1-dev 依赖冲突
2026-03-01 13:54:20 +08:00
晴天
3ac02ea19f feat(dashboard): rich data display to overview system states
- add tunnel, mcp configurations insights
- show more statistical cards
- add create backup quick action
2026-03-01 13:26:55 +08:00
晴天
3705ab8081 feat: 聊天页面 + Agent 管理 + 模型排序固化 + 多项增强
- 新增聊天页面(WebSocket 实时通信、会话管理、Markdown 渲染)
- 新增 Agent 管理页面(CRUD、备份、工作区配置、模型选择)
- 新增设备认证模块(Ed25519 签名)
- 模型排序固化到配置文件(拖拽排序 + 下拉排序均写入底层数据)
- 记忆文件页面支持 Agent 切换
- Gateway 配置页重构为选项卡片布局
- 页面路由加载动画
- 批量测试支持终止、实时刷新卡片
- 服务管理备份说明文案
- Modal 组件支持 readonly 字段
- 脱敏 mock 数据中的内部地址
2026-03-01 12:19:21 +08:00
晴天
333a3e54bb feat: 全新 Logo 设计 + 扩展工具一键安装功能
Logo 设计:
- 现代化爪印图标,紫蓝渐变配色
- 生成全套尺寸 PNG (16-1024px) + @2x 版本
- macOS icns + Windows ico + SVG 源文件
- 系统托盘和应用图标全面更新

扩展工具增强:
- cftunnel 支持一键安装(自动下载安装脚本)
- 实时显示安装进度和日志输出
- 安装完成后自动刷新状态
- 优化未安装状态的 UI 提示
2026-02-28 15:11:48 +08:00
晴天
6946ffda17 feat: 新增模型列表排序功能 + 优化隧道列表卡片样式
- 模型列表支持 7 种排序方式(默认/名称/延迟/上下文)
- 隧道列表改为现代化卡片布局,增强视觉效果
- 添加悬停动画、状态徽章、图标等细节优化
2026-02-28 15:00:54 +08:00
晴天
a5c7760f25 feat: npm 源可配置,支持淘宝/官方/华为云镜像切换
- 所有 npm 操作使用用户配置的 registry,默认淘宝镜像
- 服务管理页面新增 npm 源设置区域(预设 + 自定义)
- 版本检测 API 同步使用配置源
- 配置持久化到 ~/.openclaw/npm-registry.txt
2026-02-28 14:10:09 +08:00
晴天
3fd98623c0 feat: 升级进度弹窗 + 安装源自动检测与切换
- 升级过程改为流式日志推送(Tauri Event),前端展示进度条和实时日志
- 后端自动检测当前安装的是官方版(openclaw)还是汉化版(openclaw-zh)
- 服务管理页支持一键切换安装源,切换时先卸载旧包避免 bin 冲突
- 版本号比较改为逐段数值比较,支持 -zh.X 后缀的小版本检测
- 仪表盘、关于页同步显示当前安装源标识
2026-02-28 12:43:19 +08:00
晴天
84a6ab4d45 refactor: 全局重构原生弹窗为自定义 Modal 并同步更新项目文档
- 替换所有不可用的 `alert`, `confirm`, `prompt` 调用为异步的自定义 `Modal` 组件以适配 Tauri WebView 的 API 限制。
- 优化与重构核心服务组件接口,增加模型有效性测试 (`test_model`) 以及依赖更新支持。
- 同步补齐 `README.md` 与 `CHANGELOG.md` 新增的系统特性说明(含仪表盘、日记、存储、重构页面调整)。
2026-02-28 03:42:19 +08:00
晴天
0f79ce338f fix: 修复功能空壳问题 + 新增模型测试
- 服务管理:动态扫描 LaunchAgents plist,不再硬编码 4 个服务
- 服务启停:检查 launchctl 执行结果,失败时返回 stderr
- 配置保存:Gateway/模型配置保存后自动重载 Gateway 服务使配置生效
- 模型测试:新增 test_model 命令,向 provider 发送 chat completion 验证连通性
- 新增 reqwest 依赖用于 HTTP 请求
2026-02-27 01:14:34 +08:00
晴天
fedd2f66fc feat: 新增「关于」和「扩展工具」页面
- 关于页面:版本信息、相关项目链接、快捷链接、开源协议
- 扩展页面:cftunnel 隧道状态/路由/启停/日志 + ClawApp 状态/快捷访问
- Rust 后端:新增 extensions.rs(4 个命令:状态/操作/日志/ClawApp 检测)
- 侧边栏新增「扩展」和「关于」导航项,总计 8 个页面
2026-02-27 00:53:01 +08:00
晴天
1b9a195d32 feat: 精简页面结构并增强核心功能
- 删除 MCP 配置、Agent 配置、部署 3 个页面,保留 6 个核心页面
- 重写模型配置页:Provider/模型 CRUD + 一键应用默认模型(自动生成 fallback)
- 增强服务管理页:版本检测 + 配置备份管理(创建/恢复/删除)
- 增强记忆文件页:单个文件下载 + 分类打包 zip 下载
- Rust 后端新增 5 个命令(4 个备份 + export_memory_zip)
- 更新路由和侧边栏,同步清理
2026-02-27 00:16:45 +08:00
晴天
c2e3f738b5 fix: 修复内存泄漏和添加保存按钮加载状态
- router.js: 防止 hashchange 监听器重复绑定
- sidebar.js: 用事件委托替代每次重新绑定事件
- logs.js: 搜索定时器提升为模块级变量,添加 cleanup 导出
- models/agents/gateway/mcp: 保存按钮添加 disabled + 加载文本
2026-02-26 23:35:33 +08:00
晴天
352b85405d fix: 修复暗色主题缺失变量和 CSS 选择器冲突
- variables.css: 暗色主题添加缺失的 --border-focus
- pages.css: 修复 .editor-area 从 flex 容器改为正确的 textarea 样式
- components.css: 添加 .stat-card-meta 类
- dashboard.js: 内联样式替换为 CSS 类
2026-02-26 23:28:24 +08:00
晴天
8077cf0bdb fix: agents.js fallback 输入框实时同步到 state 2026-02-26 23:24:00 +08:00
晴天
91c33f78a4 fix: 修复路由竞态、删除确认、输入同步等交互问题
- router.js 添加竞态防护和页面清理钩子
- logs.js 切换 Tab 时清空搜索框
- models.js 删除 Provider 添加确认提示,输入框改 oninput 实时同步
- mcp.js 删除 Server 添加确认提示
- gateway.js Tailscale 地址为空时保留原配置
2026-02-26 23:23:11 +08:00
晴天
ed353cb3b5 feat: 全面完善功能和修复 CSS/API 问题
- 修复暗色主题缺少 --accent 变量导致按钮颜色异常
- 消除所有 CSS 硬编码颜色(btn-primary, btn-danger:hover, sidebar-logo)
- 添加 toast.warning 样式支持
- Modal 支持 Enter 确认和 Escape 关闭
- Dashboard 快速操作按钮添加 loading 状态
- Services 操作后延迟刷新确保状态同步
- Memory 页面添加预览/新建/删除文件功能
- Deploy 页面 .env 路径添加默认值
- Rust 后端补充 delete_memory_file/check_installation/write_env_file 命令
- Mock 数据补全所有 API 端点
2026-02-26 23:19:00 +08:00
晴天
8bf2caf788 feat: 添加日间/夜间主题切换系统
- 新增 theme.js 主题管理模块(localStorage 持久化)
- variables.css 重构为亮色默认 + 暗色 data-theme 切换
- sidebar 底部添加主题切换按钮(sun/moon SVG 图标)
- 修复 scrollbar 硬编码颜色为 CSS 变量
- 修复 agents.js fallbacks 未定义时的空指针错误
2026-02-26 23:08:21 +08:00
晴天
d32ce81547 feat: 完善 UI 交互和 mock 数据
- 修复 tab/modal/toolbar CSS class 不匹配问题
- 新增 Modal 弹窗组件替代原生 prompt()
- 补全所有页面的 mock 数据(日志/记忆/MCP)
- 添加 loading 骨架屏动画、按钮 disabled 状态
- 添加搜索高亮 mark 样式
- 修复记忆页面 memory-sidebar/memory-editor 样式
2026-02-26 22:55:56 +08:00
晴天
e26c4d9307 feat: ClawPanel v0.1.0 项目骨架
- Tauri v2 + Vanilla JS + Vite 技术栈
- 9 个页面: 仪表盘/服务管理/日志/模型配置/Agent配置/Gateway/MCP工具/记忆文件/部署
- Rust 后端: 配置读写/服务管理(launchd)/日志读取/记忆文件管理
- 暗色主题 + 玻璃拟态 UI
- Mock 数据支持纯浏览器开发调试
2026-02-26 22:34:55 +08:00