Commit Graph

48 Commits

Author SHA1 Message Date
晴天
35423f428b feat(chat): OpenClaw 4.5 compatibility — fix silent no-reply + add working state indicators
Problem:
- Sending a message with no response left users stuck with an empty typing
  indicator forever (no timeout, no error, no feedback)
- Users had no visibility into what OpenClaw was doing (thinking, planning,
  executing tools, running commands, waiting for approval)
- The response watchdog only reacted to chat delta/final events, ignoring
  all agent processing events

Root cause:
- Watchdog looped every 15s polling history but had no ultimate timeout
- Agent events (lifecycle, item, plan, approval, thinking, command_output)
  were not handled — only tool stream events updated the typing hint
- When OpenClaw processed silently (no delta), the UI showed nothing useful

Fix:
1. Handle ALL OpenClaw 4.5 agent event streams in handleEvent():
   - lifecycle: "AI is processing…" on phase start
   - item: structured execution steps (tool/command/search/analysis)
   - plan: "AI is planning…"
   - approval: "Waiting for approval…"
   - thinking: "AI is thinking…"
   - command_output: "Running command…"
   - compaction/error: appropriate indicators

2. Enhanced watchdog mechanism:
   - 3-minute ultimate timeout that persists across watchdog re-polls
   - Agent events reset the polling timer (OpenClaw is alive) but not
     the ultimate timeout
   - After 30s shows "Still waiting…" with elapsed time
   - At 3min shows clear error: "Check if OpenClaw is running"

3. Live elapsed timer in typing indicator:
   - Shows seconds elapsed since message was sent (after 5s)
   - Updates every 5s while waiting
   - Properly cleaned up on response/error/page exit

4. Config compatibility check: no changes needed — our code already uses
   canonical config paths, no legacy aliases affected by 4.5 removal.

Files: chat.js, chat.css, locales/modules/chat.js
2026-04-07 16:15:17 +08:00
晴天
ad00ffef3d chore: release v0.11.5
feat: SkillHub skill store (SDK-based, no CLI dependency)
- Rust SDK (skillhub.rs): HTTP search, index fetch, zip download+extract
- Node.js SDK (skillhub-sdk.js): mirrors Rust SDK for Web/Docker mode
- Skills page: new "Store" tab with full index browse + client-side filter
- Remove 6 old CLI-dependent commands, add 3 SDK commands
- Migrate assistant.js skill tools from ClawHub CLI to SkillHub SDK
- Fix index decode error ({total,skills} wrapper vs bare array)
- Fix skill name display (API field 'name' vs 'display_name')
- Clean up 13 dead CSS rules from old skills hero/tips UI
2026-04-07 03:25:26 +08:00
晴天
9ff91f74d8 feat: IME-aware chat input, message copy button, Git path scanning
- Fix IME composition issue: Enter during Chinese/Japanese/Korean input
  method composition no longer prematurely sends messages (assistant.js)
  Uses e.isComposing + keyCode 229 guard on keydown handler
- Add one-click copy button to chat message bubbles (both chat.js and
  assistant.js), with hover-reveal animation and checkmark feedback
- Add 'copy' icon to SVG icon library (Lucide style)
- Add CSS for msg-copy-btn in chat.css and assistant.css
- Implement scan_git_paths Rust command: scans common Git installation
  locations on Windows/macOS/Linux (Program Files, Scoop, Chocolatey,
  GitHub Desktop, VS Code, MSYS2, Homebrew, Xcode CLT, etc.)
- Register scan_git_paths in lib.rs, tauri-api.js, dev-api.js
- Add scan button + results UI in settings.js Git path section
- Add i18n keys: gitScan, gitScanning, gitScanEmpty, gitScanUse
2026-04-06 00:14:18 +08:00
晴天
7b4640b355 feat: improve channel and setup guidance flows 2026-04-02 00:36:32 +08:00
晴天
2013ff98b9 feat: add workspace file panel to chat 2026-04-02 00:36:22 +08:00
晴天
b427a6b000 feat: improve gateway compatibility and complete i18n cleanup 2026-04-01 15:06:25 +08:00
晴天
f8af3bea4a feat(i18n): full i18n for all pages + sidebar lang switcher + zh-TW locale
- All pages now use t() for internationalization
- Sidebar footer: searchable upward dropdown language switcher
- Generated zh-TW.json (Traditional Chinese) via gen-locales.cjs
- CSS for lang switcher with mobile/collapsed sidebar support
- Removed language toggle from settings page
2026-03-24 18:51:36 +08:00
晴天
3687e26d5d feat: 飞书官方插件迁移 + 配对审批 + Gateway防卡死 + 微信升级修复 + 更新检测修复
- 飞书渠道从 @openclaw/feishu 迁移到 @larksuite/openclaw-lark 官方插件
- 保存飞书配置时自动禁用旧 feishu 插件,防止新旧插件冲突
- 所有主要渠道(飞书/Telegram/Discord/Slack)启用配对审批UI
- gateway_command 增加20s超时,超时后force-kill+fresh start
- 全平台启动前端口占用检查,防止Guardian无限拉起
- Linux gateway_command 补齐 Duration 导入和 cleanup_zombie 实现
- Guardian自动守护在Tauri桌面端也启用,轮询间隔30s→15s
- 微信渠道:升级操作不再弹出扫码二维码,按钮文案区分安装/升级
- 版本更新检测:CI不再将minAppVersion写死为当前版本
- 部署脚本增强OpenClaw检测,支持已安装的官方版
- 日间/夜间模式圆形扩散切换动画(View Transitions API)
- API错误信息完整展示(429限流等),URL自动转可点击链接
- 第三方API接入引导优化:移除内置密钥,引导式流程
- 修复全平台 Clippy 警告(strip_prefix/dead_code/unnecessary_unwrap等)
- Rust代码格式化修复(cargo fmt)
- toast组件支持HTML内容渲染
- Rust后端test_model返回详细错误信息
2026-03-23 21:51:34 +08:00
晴天
6494cf6551 chore: release v0.9.7 2026-03-21 04:11:13 +08:00
22605
12040be868 feat(markdown): 支持 Markdown 表格渲染
- 在 markdown.js 中添加表格检测和渲染逻辑
- 支持标准格式 (| cell |) 和简化格式 (cell | cell)
- 添加 renderTable() 辅助函数处理表格解析
- 在 chat.css 中添加美观的表格样式
- 表头高亮、斑马纹、悬停效果
2026-03-19 11:24:24 +08:00
晴天
7764a32799 fix: dashboard null crash, chat layout, markdown escaping, gzip, gateway banner delay
feat: hosted agent with auto-stop, context compression, visual sliders
feat: auto-reload gateway after config save (debounced 3s)
style: toast solid bg, chat input enlargement, hosted agent panel CSS
chore: fix dev.ps1 encoding, engagement share text
2026-03-18 15:02:04 +08:00
晴天
604ea3da96 fix: cherry-pick PR#94 improvements + dashboard loading fix
- ws-client: connection dedup (_connecting state), connect() guard, global singleton
- chat: 8 null guards (sendMessage/doSend/createStreamBubble/renderAttachments/showPageGuide/loadHistory)
- chat: auto-scroll control (wheel/touch/scrollBtn, disable on scroll-up)
- chat: tool call rendering (appendToolsToEl, collectToolsFromMessage, upsertTool, mergeToolEventData)
- chat: tool event tracking (agent tool events -> _toolEventData/_toolRunIndex)
- chat: extractChatContent/extractContent/dedupeHistory full tools support
- chat.css: .msg-tool collapsible card styles
- dashboard: .catch() on loadDashboardData fire-and-forget, error state + retry button
2026-03-17 17:36:18 +08:00
OpenClaw Agent
909b3d0892 fix(chat): move session sidebar toggle next to new-session button (mobile) 2026-03-16 09:42:44 +00:00
OpenClaw Agent
cbe2f8fbdb feat: collapsible desktop sidebar 2026-03-16 09:42:44 +00:00
晴天
394813a96c feat: v0.9.1 — 面板设置页、网络代理、后台安装、模型服务商扩展、多项修复
新功能:
- 新增独立面板设置页面(网络代理 + 代理测试 + 模型代理开关 + npm源)
- 网络代理支持:下载类操作走代理,自动绕过内网地址
- 安装/升级/卸载改为后台执行,不再阻塞界面
- 全局任务状态栏:关闭弹窗后顶部显示进度,可重新查看日志
- 安装/卸载完成后自动刷新界面状态
- 新增多个模型服务商快捷配置(硅基流动、火山引擎、阿里云百炼、智谱AI、MiniMax、NVIDIA NIM、胜算云)
- AI助手浮动按钮恢复,首次提示可拖动,实时聊天页隐藏

修复:
- 修复版本更新误判(本地版本高于远端不再误弹更新)
- 修复Windows下nvm/自定义Node路径CLI检测
- 修复npm EEXIST文件冲突(--force + 安装前自动清理)
- 修复汉化版-zh.x后缀版本比较错误
- 修复模型URL自动拼接/v1问题
- 修复切换版本后Gateway重装失败(PATH缓存刷新)
- 修复切换助手服务商时旧模型名残留

优化:
- macOS图标改用docs/logo.png统一生成
- 内置推荐版本号更新到OpenClaw 2026.3.13
- 错误诊断增强(EEXIST识别)
- 弹窗标题根据操作类型显示
- 新增版本维护文档
2026-03-14 19:57:22 +08:00
晴天
205d349917 feat: v0.9.0 — Usage analytics, Communication config, 晴辰云 branding, multi-agent channels, 7 bug fixes 2026-03-14 07:09:50 +08:00
晴天
0dd202d50d chore: release v0.8.4 — 移除龙虾军团入口,精简前端 2026-03-13 15:24:35 +08:00
晴天
3e24ceaa4d v0.8.0: Ollama兼容、Git自动安装、Gitee镜像、会话重命名、消息渠道Agent绑定、仪表盘重设计、环境检测实时生效、#44修复 2026-03-12 02:17:47 +08:00
晴天
64795d0b8d feat(docker): add OS-specific Docker installation guide when not connected
- Windows: Docker Desktop download link + WSL2 hint
- macOS: Docker Desktop download (ARM/Intel) + Homebrew alternative
- Linux: curl one-liner + usermod + systemd hint
- Add CSS styling for guide section
2026-03-11 02:08:00 +08:00
晴天
c30d0c450f fix(channels): make guide steps collapsible + fix modal content overflow
- channels.js: guide steps now use <details> for collapsible display
- components.css: add .modal-content-body to scrollable flex rule
- Fixes modals being too tall with buttons pushed off screen
2026-03-11 02:08:00 +08:00
晴天
a2f8ed9d54 feat(channels): add messaging channels and built-in qq bot 2026-03-10 03:33:21 +08:00
晴天
6d7c595122 feat(ui): 收口导航并优化实例切换与离线提示 2026-03-10 00:28:27 +08:00
晴天
117de4665d feat(docker): 完善龙虾军团任务调度与提示 2026-03-10 00:11:47 +08:00
晴天
a084e23671 feat(docker): 配置同步+性格注入+Gateway认证 2026-03-09 06:24:21 +08:00
晴天
727903f94b feat: Docker 集群增强 — Gateway 通讯API、像素兵种系统、互动组件、UI 优化 2026-03-09 05:35:30 +08:00
晴天
b904fb2398 feat: Docker集群管理改进 - 部署弹窗基础/高级模式、容器分类管理、节点端点预设检测、登录安全增强 2026-03-08 13:44:00 +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
晴天
79cd15e1c4 v0.4.0: Gateway 进程守护、配置自愈、双配置同步、流式超时、模型删除安全切换 2026-03-05 20:44:47 +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
晴天
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
晴天
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
晴天
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
晴天
9b6d572ec8 refactor: 重新设计 Logo - 简洁现代的三爪设计
设计改进:
- 更简洁的三爪抽象设计(左/右/下三个方向)
- 去除复杂的网格装饰,更加简约现代
- 渐变色调整为更柔和的紫蓝色
- 侧边栏 Logo 从文字 CP 改为 SVG 图标
- 图标尺寸和样式优化,视觉效果更统一

技术细节:
- 全套 PNG 图标重新生成(16-1024px)
- 更新 icns (1.0M) 和 ico 文件
- 侧边栏 SVG 图标使用 currentColor 适配主题
2026-02-28 15:25:29 +08:00
晴天
6946ffda17 feat: 新增模型列表排序功能 + 优化隧道列表卡片样式
- 模型列表支持 7 种排序方式(默认/名称/延迟/上下文)
- 隧道列表改为现代化卡片布局,增强视觉效果
- 添加悬停动画、状态徽章、图标等细节优化
2026-02-28 15:00:54 +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
晴天
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
晴天
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