核心用法
OpenClaw Dashboard 是一个专为 OpenClaw 代理系统设计的移动端友好型运营仪表板,用于实时监控代理会话、任务执行状态、定时任务(cron)和看门狗状态。用户通过 clawhub install 快速安装后,运行 node api-server.js 即可在本地 18791 端口启动服务。
主要功能模块:
- 会话监控:查看活跃代理会话、历史记录和附件管理
- 成本追踪:监控 API 调用成本和提供商审计(需显式启用)
- 定时任务管理:cron 作业调度、手动触发执行
- 系统运维:备份、更新、模型切换等操作(需显式启用
OPENCLAW_ENABLE_MUTATING_OPS) - 配置端点:可选暴露
/ops/config进行运行时配置查看
认证机制:
- 默认无认证(仅限 localhost)
- 设置
OPENCLAW_AUTH_TOKEN后启用登录页面,支持 HttpOnly Cookie 或 URL token 参数
显著优点
1. 安全优先设计:
- 强制"清洗优先"原则,禁止硬编码任何令牌、API 密钥或机器特定路径
- 所有敏感功能默认禁用,需通过环境变量显式 opting-in
- CORS 默认限制为回环地址,无通配符
2. 最小化攻击面:
- 子进程调用使用
execFileSync配合参数数组,禁止 shell 插值 - 文件路径复制包含符号链接逃逸保护(
realpathSync二次校验) - 附件来源严格白名单控制(/tmp、workspace、~/.openclaw 等需单独授权)
3. 运维友好:
- 单文件部署(api-server.js + agent-dashboard.html)
- 清晰的配置分层:必需变量极少,可选变量分组明确
- 提供健康检查端点
/health便于监控集成
潜在缺点与局限性
1. 功能锁定较重:大量实用功能(配置查看、提供商审计、变更操作)默认关闭,需要用户理解并配置多个环境变量
2. 单节点架构:设计为与 OpenClaw 同机运行,无原生集群或多节点支持
3. Node.js 依赖:要求 Node.js 20+,对极简环境不够友好
4. Tailscale/Funnel 场景需手动加固:文档明确提醒外网暴露时必须设置认证令牌,但无自动检测机制
适合人群
- OpenClaw 代理系统管理员:需要可视化监控代理运行状态
- 中小型运维团队:寻求轻量级、自托管的代理监控方案
- 安全意识强的个人开发者:重视默认安全、偏好显式授权模式
- 需要移动端监控的用户:UI 针对手机端优化
常规风险
| 风险类别 | 描述 | 缓解措施 |
|---------|------|---------|
| 认证绕过 | 未设置 `OPENCLAW_AUTH_TOKEN` 时任何 localhost 访问者均可操作 | 生产环境必须设置强令牌;外网暴露强制要求令牌 |
| 命令注入 | 历史风险点,当前版本使用 execFileSync 参数数组模式 | 保持依赖更新;审查自定义插件 |
| 目录遍历 | 附件复制功能涉及多路径来源 | 严格使用 `OPENCLAW_ALLOW_ATTACHMENT_COPY_FROM_*` 白名单;启用 symlink 保护 |
| 敏感数据泄露 | 误提交包含真实密钥的配置文件 | 遵守 `.env.example` 模板;提交前执行敏感字符串扫描 |
| 供应链风险 | Node.js 依赖包漏洞 | 定期审计 `package.json`;使用 lock 文件固定版本 |