| name | oc-health |
| description | Use when the user asks to check remote host health, OpenClaw service status, or recent gateway errors, or says '檢查狀態', 'health check', '遠端狀態', '龍蝦狀態'. |
oc-health
Runtime Configuration
執行前讀取 setup.json:
- SSH 連線用
remote.sshAlias(以下以 ${SSH_ALIAS} 表示)
- 遠端路徑用
remote.openclawPath(以下以 ${OPENCLAW_PATH} 表示)
- 遠端使用者用
remote.user(以下以 ${REMOTE_USER} 表示)
- 服務名稱用
gateway.serviceName(以下以 ${SERVICE_NAME} 表示)
- Workspace 清單從
agents 陣列取得
步驟
1. 檢查 Gateway service 狀態
ssh ${SSH_ALIAS} 'systemctl --user status ${SERVICE_NAME}'
確認是否 active (running)。如果 SSH 連線失敗,跳過後續步驟,回報連線問題並建議使用者嘗試 /oc-ssh-fix。
2. 檢查最近 log
ssh ${SSH_ALIAS} 'journalctl --user -u ${SERVICE_NAME} --no-pager -n 20'
掃描是否有 error、Error、MissingEnvVarError、FATAL、panic 等關鍵字。
3. 檢查磁碟空間
ssh ${SSH_ALIAS} 'df -h ~'
回報可用空間,若低於 1GB 發出警告。
4. 檢查 workspace 存在
從 setup.json 的 agents 陣列動態產生 workspace 路徑清單,逐一檢查:
ssh ${SSH_ALIAS} 'ls -d ${OPENCLAW_PATH}/workspace-<workspaceDir>'
5. 回報摘要
整理為以下格式(workspace 數量動態):
## 遠端主機 OpenClaw 健康檢查
| 項目 | 狀態 |
|------|------|
| Gateway service | ✅ active / ❌ inactive |
| 最近 log | ✅ 無錯誤 / ⚠️ 發現 N 個錯誤 |
| 磁碟空間 | ✅ X GB 可用 / ⚠️ 低於 1GB |
| Workspace (N) | ✅ 全部存在 / ❌ 缺少: ... |
如有異常,附上相關 log 片段供 使用者 判斷。