Commit Graph

73 Commits

Author SHA1 Message Date
晴天
6171d164f3 chore(release): 发布 0.7.1 2026-03-10 00:28:55 +08:00
晴天
f32bce12cb feat(guardian): 强化Gateway守护与Windows启停安全 2026-03-10 00:28:09 +08:00
晴天
727903f94b feat: Docker 集群增强 — Gateway 通讯API、像素兵种系统、互动组件、UI 优化 2026-03-09 05:35:30 +08:00
晴天
f50135298d fix: 修复 Gateway 启动时引号转义导致找不到文件的问题 (raw_arg) 2026-03-09 00:28:58 +08:00
晴天
a55be84795 fix: Gateway 停止兼容旧版隐藏进程,按端口查杀兜底 2026-03-09 00:26:45 +08:00
晴天
69160c06f4 feat: 兼容 OpenClaw v2026.3.7 (SecretRef token, caps tool-events, 认证错误处理, Gateway 可见终端) 2026-03-09 00:23:44 +08:00
晴天
6bd7526348 chore: release v0.7.0 2026-03-08 02:02:01 +08:00
晴天
af6a447cf1 fix: cargo fmt 2026-03-08 01:52:25 +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
晴天
3fdab5a8c6 fix: cargo fmt with rustfmt 1.94.0 2026-03-07 23:46:59 +08:00
晴天
1bd94143b5 fix: cargo fmt + clippy regex_creation_in_loops 2026-03-07 19:41:16 +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
晴天
80197bdc60 security: 修复命令注入/路径遍历漏洞 + 收紧 allowedOrigins + 审计日志 + OnceLock 缓存 2026-03-06 20:51:32 +08:00
晴天
7d387a4f94 fix: Linux Gateway 服务管理 (#7,#8,#10) + 非root部署 (#9) + 官网锚点滚动修复 2026-03-06 20:28:13 +08:00
晴天
881b49c9ef chore: 发布 v0.5.4 2026-03-06 13:45:19 +08:00
晴天
e5f65c2f19 chore: 发布 v0.5.3 2026-03-06 13:15:07 +08:00
晴天
c81755612f chore: 发布 v0.5.2
- 修复 Linux 系统下 OpenClaw 安装检测问题
- 添加赞助商展示区
- 优化官网锚点跳转
2026-03-06 12:51:58 +08:00
晴天
d13e389035 fix: 更新内置版本号 2026-03-06 10:42:52 +08:00
晴天
a29592c508 bump: v0.5.1 — cargo fmt 修复 + 视频播放修复 2026-03-06 04:42:30 +08:00
晴天
402503cc6a style: cargo fmt 格式修复 assistant.rs 2026-03-06 04:41:52 +08:00
晴天
f0ff83a241 bump: v0.5.0 — 内置 AI 助手 + 图片识别 + 宣传素材全面更新 2026-03-06 04:36:23 +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
晴天
7eb78ea186 修复:macOS Gateway 启动失败 Bootstrap failed: 5 (v0.4.8)
根因: plist 二进制路径过期(nvm/fnm 切版本后),launchctl 找不到程序
修复: launchctl bootstrap/kickstart 失败时回退到 CLI 直接 spawn Gateway
覆盖: start_service_impl + restart_service_impl 均有 fallback
2026-03-06 00:25:01 +08:00
晴天
fe66fe0e73 发布 v0.4.7:修复 fnm 检测 + Release Notes 生成
修复:
- fnm 用户 Node.js 检测失败(扫描 FNM_DIR/node-versions)
- Release Notes 中文 commit grep 失败(|| true 兜底)
2026-03-06 00:04:45 +08:00
晴天
d7d403e8a0 修复:fnm 用户 Node.js 检测 + Release Notes 生成失败
fnm 修复:
- 移除错误的 ~/.fnm/current/bin 路径
- macOS/Linux: 扫描  或 ~/.local/share/fnm/node-versions/*/installation/bin
- Windows: 扫描 %FNM_DIR% 或 %APPDATA%\fnm\node-versions\*\installation

release.yml 修复:
- grep 无匹配时返回 exit 1,GitHub Actions pipefail 导致脚本终止
- 用 { grep ... || true; } 包裹,中文 commit message 不再触发失败
2026-03-06 00:00:26 +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
晴天
8ba25a25e0 发布 v0.4.5:修复 nvm 兼容性 + 自动初始化配置
修复:
- nvm 用户 Node.js/CLI 检测失败(扫描 nvm 版本目录)
- Tauri v2 参数名 snake_case → camelCase 不匹配
- Windows CLI 检测遗漏(增加 PATH 兜底)
- Agent/记忆文件页面晦涩 os error 2 → 中文提示
- cargo fmt + clippy 修复

新增:
- 初始设置自动创建配置文件 + 一键初始化按钮
- ClawPanel Web 版部署文档 + 文档中心
2026-03-05 23:25:34 +08:00
晴天
e99479fbeb 修复:记忆文件页面 openclaw 找不到时的友好错误提示
memory.rs 的 agent_workspace() 也调用 openclaw CLI,
同样需要处理 NotFound 错误,显示中文提示而非 os error 2
2026-03-05 23:20:39 +08:00
晴天
ac5f6157ef 优化:Agent 管理页面 openclaw 找不到时显示友好错误提示
将 'No such file or directory (os error 2)' 替换为中文提示:
'OpenClaw CLI 未找到,请确认已安装并重启 ClawPanel'
涉及 list_agents、add_agent、delete_agent 三个命令
2026-03-05 23:19:12 +08:00
晴天
ef3ae03546 修复:nvm 用户 Node.js/CLI 检测失败的问题
Bug1: check_node_at_path 参数名不匹配(snake_case vs camelCase)
- Tauri v2 默认期望 camelCase,前端发送的 node_dir 改为 nodeDir
- 同步修复 save_custom_node_path 和所有 memory 函数的 agent_id → agentId

Bug2: Windows 上 OpenClaw CLI 已安装但检测显示 
- is_cli_installed() 仅检查 %APPDATA%\npm\openclaw.cmd
- 增加 PATH 查找兜底,兼容 nvm、自定义 prefix 等安装方式

增强: enhanced_path() 扫描 nvm 版本目录
- macOS/Linux: 扫描 ~/.nvm/versions/node/*/bin
- Windows: 扫描 %APPDATA%\nvm\* 和 %NVM_HOME%\*
2026-03-05 23:16:44 +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
晴天
aae531a7bd bump: v0.4.3 - auto-set mode:local + Gateway self-heal 2026-03-05 22:35:09 +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
晴天
afb9f8ebe5 fix: cargo fmt + update docs version to 0.4.0 2026-03-05 20:57:21 +08:00
晴天
79cd15e1c4 v0.4.0: Gateway 进程守护、配置自愈、双配置同步、流式超时、模型删除安全切换 2026-03-05 20:44:47 +08:00
晴天
ffa9daffc3 chore: release v0.3.0 2026-03-04 22:55:48 +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
晴天
73ca2ba88e style: cargo fmt 2026-03-04 18:23:35 +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
晴天
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
晴天
7f2f6db842 fix: 消除 Win 闪终端 + 替换慢 CLI 操作为直接进程管理
闪终端修复:
- extensions.rs: 提取 cftunnel_cmd() 助手,Windows 自动加
  CREATE_NO_WINDOW;get_cftunnel_status/action/logs 全部改用

CLI 替换:
- config.rs reload_gateway / restart_gateway: Windows/Linux 改调
  service::restart_service(),删除慢 openclaw gateway restart CLI 调用
- config.rs uninstall_gateway: Windows 改用直接 taskkill,
  Linux 改用 pkill,不再调用 openclaw gateway stop CLI
2026-03-04 14:56:49 +08:00
晴天
73d7d6e7f5 fix: 修复 pairing required - 改用 openclaw-control-ui 客户端 ID 触发静默自动配对
上游源码分析发现根本原因:
- Gateway 的 shouldAllowSilentLocalPairing 需要 isControlUi=true
  才能在本地连接时静默自动批准设备配对
- 我们之前用 gateway-client+backend,isControlUi=false,加上
  Tauri WebView 会发 Origin 头(hasBrowserOriginHeader=true),
  导致 shouldAllowSilentLocalPairing 返回 false → 'pairing required'

修复内容:
- device.rs: client.id 改为 openclaw-control-ui,mode 改为 ui,
  v3 签名 payload 同步更新,本地连接触发静默自动配对
- pairing.rs: paired.json 的 clientId/clientMode 同步更新
- main.js: 启动时自动调用 autoPairDevice(),确保 device 已配对
  + allowedOrigins 已写入,无需用户手动点击一键修复
2026-03-04 14:39:48 +08:00
晴天
7a05625aee fix: patch_gateway_origins 移至 paired 检查前,修复已配对设备跳过写入 origins 的 bug 2026-03-04 14:09:45 +08:00
晴天
8ced48be4c style: cargo fmt 格式化 pairing.rs 2026-03-04 13:39:42 +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
晴天
590f943e7b fix: macOS 上 openclaw_command import 加 cfg 条件编译,消除 unused_imports 2026-03-04 12:54:42 +08:00
晴天
66799ee2c4 fix: 修复 macOS 专属 Clippy 错误
- service.rs: macOS 平台两处 manual_strip,改用 strip_prefix
- utils.rs: openclaw_command 在 macOS 未被调用,加 #[allow(dead_code)],函数体改用全路径 std::process::Command::new 避免 unused_imports
2026-03-04 12:49:56 +08:00