Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c789e3471 | ||
|
|
85a2178a80 | ||
|
|
532a605e58 | ||
|
|
149620dc1a | ||
|
|
ba3ef27766 | ||
|
|
373d8bda27 | ||
|
|
d7274f6c88 | ||
|
|
f9375ebf89 | ||
|
|
79fa8b35ca | ||
|
|
3bd82c5892 | ||
|
|
18b1b9529b |
@@ -49,6 +49,8 @@ Open [http://localhost:3333](http://localhost:3333) in your browser. For remote
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
**Agent Management** — Add main agents and sub-agents through a guided setup flow. View all agents in a tree structure with model selection, workspace browsing, and inline configuration.
|
**Agent Management** — Add main agents and sub-agents through a guided setup flow. View all agents in a tree structure with model selection, workspace browsing, and inline configuration.
|
||||||
|
|
||||||
@@ -56,10 +58,12 @@ Open [http://localhost:3333](http://localhost:3333) in your browser. For remote
|
|||||||
|
|
||||||
**Model & Auth** — Configure models from your registered provider list. Follow built-in guides for provider authentication setup.
|
**Model & Auth** — Configure models from your registered provider list. Follow built-in guides for provider authentication setup.
|
||||||
|
|
||||||
**Built-in CLI** — Run any OpenClaw CLI command with real-time streaming output. Includes tab completion and saved favorites.
|
**Built-in CLI** — Available from any page (top-right **Terminal** + bottom dock). Run OpenClaw commands with **real-time streaming output**, **Tab completion**, built-in presets, and your own saved favorites (no more memorizing commands).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
**Ops Panel** — Restart gateway, view logs, run health checks, manage backups (local + NAS via SFTP/rsync), and handle cron tasks.
|
**Ops Panel** — Restart gateway, view logs, run health checks, manage backups (local + NAS via SFTP/rsync), and handle cron tasks.
|
||||||
|
|
||||||
**Bilingual UI** — English and Chinese interface with one-click language switching.
|
**Bilingual UI** — English and Chinese interface with one-click language switching.
|
||||||
|
|||||||
@@ -223,6 +223,20 @@ OCM parses usage from OpenClaw session JSONL files.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 10) Actions menu (ops shortcuts)
|
||||||
|
|
||||||
|
The **⚡ Actions** dropdown in the top-right provides common operational shortcuts:
|
||||||
|
- Restart Gateway
|
||||||
|
- Live Logs
|
||||||
|
- Manual Backup / Backups & Rollback
|
||||||
|
- NAS Backup Setup
|
||||||
|
- Health Check
|
||||||
|
- Open Config Dir / Switch OpenClaw Dir
|
||||||
|
|
||||||
|
Screenshot:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## 10) Cron jobs (Cron)
|
## 10) Cron jobs (Cron)
|
||||||
|
|
||||||
Go to **Cron**:
|
Go to **Cron**:
|
||||||
@@ -252,6 +266,8 @@ Screenshot:
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## 11) Fast troubleshooting
|
## 11) Fast troubleshooting
|
||||||
|
|
||||||
### “Typing…” but no reply in a Telegram group
|
### “Typing…” but no reply in a Telegram group
|
||||||
|
|||||||
@@ -224,6 +224,22 @@ OCM 内置一个 CLI 面板,用来直接运行 OpenClaw 命令(例如:`ope
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 9) Actions 菜单(运维快捷入口)
|
||||||
|
|
||||||
|
右上角 **⚡ Actions** 下拉菜单提供常用运维操作:
|
||||||
|
- Restart Gateway(重启网关)
|
||||||
|
- Live Logs(实时日志)
|
||||||
|
- Manual Backup / Backups & Rollback(备份/回滚)
|
||||||
|
- NAS Backup Setup(NAS 备份配置)
|
||||||
|
- Health Check(健康检查)
|
||||||
|
- Open Config Dir / Switch OpenClaw Dir(打开/切换配置目录)
|
||||||
|
|
||||||
|
截图示例:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## 9) Cron(定时任务)
|
## 9) Cron(定时任务)
|
||||||
|
|
||||||
进入 **Cron**:
|
进入 **Cron**:
|
||||||
|
|||||||
|
After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 226 KiB After Width: | Height: | Size: 226 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 207 KiB After Width: | Height: | Size: 29 KiB |
@@ -2484,7 +2484,9 @@ const LS = {
|
|||||||
set(k, v) { try { localStorage.setItem(k, v); } catch(e) {} },
|
set(k, v) { try { localStorage.setItem(k, v); } catch(e) {} },
|
||||||
del(k) { try { localStorage.removeItem(k); } catch(e) {} },
|
del(k) { try { localStorage.removeItem(k); } catch(e) {} },
|
||||||
};
|
};
|
||||||
let lang = LS.get('ocm_lang', 'zh');
|
// Default UI language. Users can toggle and we persist in localStorage.
|
||||||
|
// Prefer English by default for broader sharing/promotions.
|
||||||
|
let lang = LS.get('ocm_lang', 'en');
|
||||||
function t(k) { return I18N[lang][k] || I18N.zh[k] || k; }
|
function t(k) { return I18N[lang][k] || I18N.zh[k] || k; }
|
||||||
function applyLang() {
|
function applyLang() {
|
||||||
document.querySelectorAll('[data-i18n]').forEach(el => { el.textContent = t(el.dataset.i18n); });
|
document.querySelectorAll('[data-i18n]').forEach(el => { el.textContent = t(el.dataset.i18n); });
|
||||||
|
|||||||