逐项排错盘点(OpenClaw + Hermes 引擎 + 共享层全面复查)。 ## Bug #1 — Hermes 引擎双 listener 数组混用 src/engines/hermes/index.js onStateChange / onReadyChange 共用一个 `_listeners` 数组: ```js onStateChange(fn) { _listeners.push(fn); ... } onReadyChange(fn) { _listeners.push(fn); ... } ← 同一数组 ``` main.js 注册 sidebar 渲染回调时两个都注册: ```js _engineStateUnsub = engine.onStateChange(() => renderSidebar(sidebar)) _engineReadyUnsub = engine.onReadyChange(() => renderSidebar(sidebar)) ``` 结果:每次 detectHermesStatus(15s 一次 poll)触发,sidebar 被 renderSidebar 调两遍。OpenClaw 引擎用的 lib/app-state.js 早就是分开 两个数组(_gwListeners + _listeners),Hermes 是退化实现。 修复: - 拆成 _stateListeners / _readyListeners 两个数组 - 加 prevReady / prevRunning 做 diff,仅在状态实际变化时通知 ## Bug #2 — Web 模式下 check_panel_update 永远返回 false scripts/dev-api.js `check_panel_update` 在 line 6785 有完整实现(fetch GitHub/Gitee release API),但 line 8586 又 stub 了一次: ```js check_panel_update() { return { hasUpdate: false } } ``` Object literal 后定义覆盖前定义,Web 模式下用户永远看不到「有新版」 提示,必须升级到桌面客户端才能查更新。 修复:删掉重复 stub,留注释说明真实实现位置。 esbuild 之前就在 build 里 warn `Duplicate key "check_panel_update" in object literal`,现在 warning 也消失了。 ## Bug #3 — engine-select.js setTimeout 不在 cleanup 时清 src/pages/engine-select.js choose 动画里两个 setTimeout (600ms + 1300ms) 没保存 id,路由 cleanup 时不清。极端情况:用户点完 OpenClaw 后立刻点 secondary "稍后再说" → 1300ms 后被强制 navigate 回原 targetRoute,把用户拉走。 修复: - 模块级 _animTimers 数组追踪所有动画 setTimeout id - cleanup 时 clearTimeout 全清 - stage.dataset 防御性访问(路由切走后 stage 可能已不在 DOM) ## Bug #4 — router.js 三处中文硬编码 src/router.js 之前页面 loading / 加载失败 / 重新加载按钮直接写死"加载中..." "页面加载失败" "重新加载"。i18n 里 `common.loading` / `common.pageLoadFailed` / `common.reloadRetry` 早已存在但没用上。 修复:import t() + 三处替换。 ## Bug #5 — dashboard.js Promise 超时 Error 写死中文 src/pages/dashboard.js `new Error(\`超时(${ms/1000}s)\`)` — 这条错误最后被 humanizeError 处理后展示给用户,本来应该走 i18n。改成英文 `Timed out after Xs`, 统一与日志聚合(其他地方都是英文)。 ## 验证 - npm run build:PASS(1.85s, 无 duplicate-key warning) - cargo fmt --check:PASS(无改动) - 受影响场景: - 引擎切换 sidebar 性能(Hermes 双重渲染消失) - Web 模式更新提示(恢复正常) - engine-select 动画中途切走(不再被强拉回) - 加载/错误页(i18n 完整)
OpenClaw & Hermes Agent Management Panel with Built-in AI Assistant — Multi-Engine AI Framework Management
🇨🇳 中文 | 🇺🇸 English | 🇹🇼 繁體中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇻🇳 Tiếng Việt | 🇪🇸 Español | 🇧🇷 Português | 🇷🇺 Русский | 🇫🇷 Français | 🇩🇪 Deutsch
ClawPanel is a visual management panel supporting multiple AI Agent frameworks, currently with OpenClaw and Hermes Agent dual-engine support. It features a built-in intelligent AI assistant that helps you install, auto-diagnose configurations, troubleshoot issues, and fix errors. 8 tools + 4 modes + interactive Q&A — easy to manage for beginners and experts alike.
🌐 Website: claw.qt.cool | 📦 Download: GitHub Releases
🎁 QingchenCloud AI API
Internal technical testing platform, open for selected users. Sign in daily to earn credits.
- Daily Sign-in Credits — Sign in daily + invite friends to earn test credits
- OpenAI-Compatible API — Seamless integration with OpenClaw, plug and play
- Resource Policy — Rate limiting + request caps, may queue during peak hours
- Model Availability — Models/APIs subject to actual page display, may rotate versions
⚠️ Compliance: This platform is for technical testing only. Illegal use or circumventing security mechanisms is prohibited. Keep your API Key secure. Rules subject to latest platform policies.
🔥 Dev Board / Embedded Device Support
ClawPanel provides a pure Web deployment mode (zero GUI dependency), natively compatible with ARM64 boards:
- Orange Pi / Raspberry Pi / RK3588 —
npm run serveto run - Docker ARM64 —
docker run ghcr.io/qingchencloud/openclaw:latest - Armbian / Debian / Ubuntu Server — Auto-detect architecture
- No Rust / Tauri / GUI needed — only Node.js 18+ required
📖 See Armbian Deployment Guide | Web Dev Mode
Community
A community of passionate AI Agent developers and enthusiasts — join us!
Discord · Discussions · Report Issue
Features
- 🤖 AI Assistant (New) — Built-in AI assistant, 4 modes + 8 tools + interactive Q&A. See AI Assistant Highlights
- 🧩 Multi-Engine Architecture — Supports both OpenClaw and Hermes Agent dual engines, freely switchable, independently managed
- 🤖 Hermes Agent Chat — Built-in Hermes Agent chat interface with tool call visualization, file system access toggle, SSE streaming output
- 🖼️ Image Recognition — Paste screenshots or drag images, AI auto-analyzes, multimodal conversations
- Dashboard — System overview, real-time service monitoring, quick actions
- Service Management — OpenClaw / Hermes Gateway start/stop, version detection & one-click upgrade, config backup & restore
- Model Configuration — Multi-provider management, model CRUD, batch connectivity tests, latency detection, drag-to-reorder, auto-save + undo
- Gateway Configuration — Port, access scope (localhost/LAN), auth Token, Tailscale networking
- Messaging Channels — Unified Telegram, Discord, Feishu, DingTalk, QQ management, multi-Agent binding per platform
- Communication & Automation — Message settings, broadcast strategies, slash commands, Webhooks, execution approval
- Usage Analytics — Token usage, API costs, model/provider/tool rankings, daily usage charts
- Agent Management — Agent CRUD, identity editing, model config, workspace management
- Chat — Streaming, Markdown rendering, session management, /fast /think /verbose /reasoning commands
- Cron Jobs — Cron-based scheduled execution, multi-channel delivery
- Log Viewer — Multi-source real-time logs with keyword search
- Memory Management — Memory file view/edit, categorized management, ZIP export, Agent switching
- QingchenCloud AI API — Internal testing platform, OpenAI-compatible, daily sign-in credits
- Extensions — cftunnel tunnel management, ClawApp status monitoring
- About — Version info, community links, related projects, one-click upgrade
Download & Install
Go to Releases for the latest version:
macOS
| Chip | Installer | Notes |
|---|---|---|
| Apple Silicon (M1/M2/M3/M4) | ClawPanel_x.x.x_aarch64.dmg |
Macs from late 2020+ |
| Intel | ClawPanel_x.x.x_x64.dmg |
Macs 2020 and earlier |
⚠️ "Damaged" or "unverified developer"? App is unsigned. Run:
sudo xattr -rd com.apple.quarantine /Applications/ClawPanel.app
Windows
| Format | Installer | Notes |
|---|---|---|
| EXE | ClawPanel_x.x.x_x64-setup.exe |
Recommended |
| MSI | ClawPanel_x.x.x_x64_en-US.msi |
Enterprise / silent install |
Linux
| Format | Installer | Notes |
|---|---|---|
| AppImage | ClawPanel_x.x.x_amd64.AppImage |
No install, chmod +x and run |
| DEB | ClawPanel_x.x.x_amd64.deb |
sudo dpkg -i *.deb |
| RPM | ClawPanel-x.x.x-1.x86_64.rpm |
sudo rpm -i *.rpm |
Linux Server (Web Version)
curl -fsSL https://raw.githubusercontent.com/qingchencloud/clawpanel/main/scripts/linux-deploy.sh | bash
Visit http://YOUR_SERVER_IP:1420 after deployment. 📖 Linux Deployment Guide
Docker
docker run -d --name clawpanel --restart unless-stopped \
-p 1420:1420 -v clawpanel-data:/root/.openclaw \
node:22-slim \
sh -c "apt-get update && apt-get install -y git && \
npm install -g @qingchencloud/openclaw-zh --registry https://registry.npmmirror.com && \
git clone https://github.com/qingchencloud/clawpanel.git /app && \
cd /app && npm install && npm run build && npm run serve"
Quick Start
- Initial Setup — First launch auto-detects Node.js, Git, OpenClaw. One-click install if missing.
- Configure Models — Add AI providers (DeepSeek, MiniMax, OpenAI, Ollama, etc.) with API keys. Test connectivity.
- Start Gateway — Go to Service Management, click Start. Green status = ready.
- Start Chatting — Go to Live Chat, select model, start conversation with streaming & Markdown.
🤖 AI Assistant Highlights
Built-in AI assistant that can directly operate your system — diagnose, fix, even submit PRs.
Four Modes
| Mode | Icon | Tools | Write | Confirm | Use Case |
|---|---|---|---|---|---|
| Chat | 💬 | ❌ | ❌ | — | Pure Q&A |
| Plan | 📋 | ✅ | ❌ | ✅ | Read configs/logs, output plans |
| Execute | ⚡ | ✅ | ✅ | ✅ | Normal work, dangerous ops need confirm |
| Unlimited | ∞ | ✅ | ✅ | ❌ | Full auto, no prompts |
Eight Tools
| Tool | Function |
|---|---|
ask_user |
Ask user questions (single/multi/text) |
get_system_info |
Get OS, architecture, home directory |
run_command |
Execute shell commands |
read_file / write_file |
Read/write files |
list_directory |
Browse directories |
list_processes |
View processes |
check_port |
Check port usage |
Tech Architecture
| Layer | Technology | Description |
|---|---|---|
| Frontend | Vanilla JS + Vite | Zero framework, lightweight |
| Backend | Rust + Tauri v2 | Native performance, cross-platform |
| Communication | Tauri IPC + Shell Plugin | Frontend-backend bridge |
| Styling | Pure CSS (CSS Variables) | Dark/Light themes, glassmorphism |
Build from Source
git clone https://github.com/qingchencloud/clawpanel.git
cd clawpanel && npm install
# Desktop (requires Rust + Tauri v2)
npm run tauri dev # Development
npm run tauri build # Production
# Web only (no Rust needed)
npm run dev # Dev with hot reload
npm run build && npm run serve # Production
FAQ
Hot Update Caused UI Issues / Rolling Back to Built-in Version
ClawPanel desktop supports frontend hot updates. Update files are stored at:
| OS | Path |
|---|---|
| Windows | %USERPROFILE%\.openclaw\clawpanel\web-update\ |
| macOS / Linux | ~/.openclaw/clawpanel/web-update/ |
If the UI looks broken after a hot update or you want to revert to the version bundled with the installer, simply delete that directory and restart:
# macOS / Linux
rm -rf ~/.openclaw/clawpanel/web-update
# Windows PowerShell
Remove-Item -Recurse -Force "$env:USERPROFILE\.openclaw\clawpanel\web-update"
After restarting ClawPanel, the built-in frontend resources will be used automatically.
Related Projects
| Project | Description |
|---|---|
| OpenClaw | AI Agent Framework |
| ClawApp | Cross-platform mobile chat client |
| cftunnel | Cloudflare Tunnel tool |
Contributing
Issues and Pull Requests are welcome. See CONTRIBUTING.md for guidelines.
Acknowledgements
ClawPanel keeps growing because of every contributor in the community. Thank you for helping make the project better.
Code Contributors
Thanks to these developers for submitting Pull Requests and contributing directly to the codebase:
![]() liucong2013 #88 |
![]() axdlee #58 |
![]() ATGCS #107 |
![]() livisun #106 |
![]() kiss-kedaya #101 #94 |
![]() wzh4869 #82 |
![]() 0xsline #15 |
![]() jonntd #18 |
Community Reporters
Thanks to community members who opened issues, reported bugs, and suggested features:
If we missed your contribution, please open an issue and we will add it promptly.
Sponsor
If you find this project useful, consider supporting us via USDT (BNB Smart Chain):
0xbdd7ebdf2b30d873e556799711021c6671ffe88f
Contact
- Email: support@qctx.net
- Website: qingchencloud.com
- Product: claw.qt.cool
License
This project is licensed under AGPL-3.0. For commercial/proprietary use without open-source requirements, contact us for a commercial license.
© 2026 QingchenCloud (武汉晴辰天下网络科技有限公司) | claw.qt.cool









