OpenClaw Guard Skill (VAIBot v2.1)
Provide a local policy decision service plus a CLI to gate OpenClaw tool calls and write tamper-evident audit logs in .vaibot-guard/.
Sensitive credentials
- -
VAIBOT_GUARD_TOKEN — bearer token for Guard endpoints (recommended) - INLINECODE2 — optional: anchor receipts to VAIBot INLINECODE3
Treat these as secrets.
HTTP API (guard service)
- - INLINECODE4
- INLINECODE5 +
POST /v1/finalize (shell exec flows) - INLINECODE7 +
POST /v1/finalize/tool (OpenClaw tool gating) - INLINECODE9 +
POST /v1/approvals/resolve (approve/deny) - INLINECODE11 (checkpoint flush)
- INLINECODE12 (Merkle inclusion proofs)
Auth:
- - If
VAIBOT_GUARD_TOKEN is set, require Authorization: Bearer <token> on protected endpoints.
Manual quick start (no persistence)
Run the service in the foreground:
CODEBLOCK0
Smoke test:
CODEBLOCK1
OpenClaw enforcement (recommended)
Use the OpenClaw circuit-breaker plugin so tool calls are intercepted at the gateway (not just “model follows instructions”).
Reference:
Optional: systemd user service
Install a user service + env file via the CLI helper:
CODEBLOCK2
This writes:
- - INLINECODE16
- INLINECODE17
Templates live under references/systemd/ for reference.
Policy + schemas
See:
- - INLINECODE19
- INLINECODE20
- INLINECODE21
- INLINECODE22
- INLINECODE23
- INLINECODE24
Tests
Run guard service tests (no external deps):
CODEBLOCK3
OpenClaw Guard 技能(VAIBot v2.1)
提供一个本地策略决策服务及CLI,用于门控OpenClaw工具调用,并在.vaibot-guard/目录中写入防篡改审计日志。
敏感凭据
- - VAIBOTGUARDTOKEN — Guard端点的Bearer令牌(推荐)
- VAIBOTAPIKEY — 可选:将收据锚定到VAIBot /prove
请将这些视为机密信息。
HTTP API(守护服务)
- - GET /health
- POST /v1/decide/exec + POST /v1/finalize(shell执行流程)
- POST /v1/decide/tool + POST /v1/finalize/tool(OpenClaw工具门控)
- POST /v1/approvals/list + POST /v1/approvals/resolve(批准/拒绝)
- POST /v1/flush(检查点刷新)
- POST /api/proof(Merkle包含证明)
认证:
- - 如果设置了VAIBOTGUARDTOKEN,则受保护端点需要Authorization: Bearer 。
手动快速启动(无持久化)
在前台运行服务:
bash
export VAIBOTGUARDHOST=127.0.0.1
export VAIBOTGUARDPORT=39111
export VAIBOTPOLICYPATH=references/policy.default.json
export VAIBOT_WORKSPACE=$(pwd)
export VAIBOTGUARDLOGDIR=$VAIBOTWORKSPACE/.vaibot-guard
export VAIBOTGUARDTOKEN=
node scripts/vaibot-guard-service.mjs
冒烟测试:
bash
curl -s http://127.0.0.1:39111/health
OpenClaw强制执行(推荐)
使用OpenClaw断路器插件,使工具调用在网关层被拦截(不仅仅是模型遵循指令)。
参考:
- - references/openclaw-bridge.md
可选:systemd用户服务
通过CLI助手安装用户服务及环境文件:
bash
node scripts/vaibot-guard.mjs install-local
这将写入:
- - ~/.config/systemd/user/vaibot-guard.service
- ~/.config/vaibot-guard/vaibot-guard.env
模板位于references/systemd/目录下,供参考。
策略 + 模式
参见:
- - references/policy.md
- references/policy.default.json
- references/receipt-schema.md
- references/checkpoint-schema.md
- references/inclusion-proofs.md
- references/required-mode.md
测试
运行Guard服务测试(无外部依赖):
bash
node --test tests/guard-service.test.mjs