HomeConnectOpenClaw

Integration Guide

OpenClaw

Connect OpenClaw to DashClaw and get your first governed action into /decisions in under 20 minutes.

Instance URL detected: https://dash-claw.vercel.app

1

Deploy DashClaw

Get a running instance. Click the Vercel deploy button or run locally.

Already have an instance? Skip to Step 2.

2

Install the plugin

Install through the OpenClaw plugin CLI. The plugin self registers via openclaw.plugin.json; no manual import or wiring is required.

Terminal

openclaw plugins install @dashclaw/openclaw-plugin
3

Set environment variables

Export your DashClaw connection details before the gateway starts. API keys for self hosted instances start with oc_live_.

.env

DASHCLAW_BASE_URL=https://dash-claw.vercel.app
DASHCLAW_API_KEY=oc_live_...
DASHCLAW_AGENT_ID=my-openclaw-agent
4

Configure the plugin

Drop a config block into your OpenClaw settings. Pick the tools that should always start at high risk; the classifier may raise the score further for known dangerous commands but will not lower it.

openclaw.config.json

{
  "plugins": {
    "entries": {
      "dashclaw-governance": {
        "enabled": true,
        "config": {
          "dashclawUrl": "https://dash-claw.vercel.app",
          "dashclawApiKey": "oc_live_...",
          "agentId": "my-openclaw-agent",
          "failClosed": true,
          "highRiskTools": ["bash", "exec", "write_file"]
        }
      }
    }
  }
}

failClosed defaults to true. If DashClaw is unreachable, the plugin blocks the action instead of allowing it. This is the correct default for governance. Do not flip it to false unless you have a specific reason and you have thought through what happens when your governance plane goes down.

5

Run your OpenClaw agent and trigger a tool call

Start your agent and ask it to do something that uses a governed tool (bash, write, edit). The plugin classifies the tool call, runs guard against your policies, waits for approval if required, and records the outcome to DashClaw.

Example prompt

Create a file called hello.txt with the contents "Hello from a governed agent"

Watch the gateway logs. You should see [dashclaw-governance] entries as the plugin classifies and guards each tool call.

6

See the result in DashClaw

Open your DashClaw dashboard to confirm the action was recorded.

Go to /decisions. You should see your tool call in the ledger with agent_id 'my-openclaw-agent' and a classified action_type (apply for a file write, deploy for a git push, security for sensitive paths, or other for unknown tools).

What success looks like

Go to /decisions. You should see your OpenClaw tool call in the ledger with agent_id 'my-openclaw-agent', a classified action_type that matches the tool call, and status 'completed'. Token usage and cost are attributed automatically once the agent's next LLM turn completes.

Navigate to /decisions in your DashClaw instance. Your action should appear in the ledger within seconds of the agent run.

Governance as Code

Drop a guardrails.yml in your project root to enforce policies without code changes. DashClaw evaluates these rules at the guard step before any action executes.

guardrails.yml

version: 1
project: my-openclaw-agent
description: >
  Governance policy for an OpenClaw agent.
  Block destructive shell commands.
  Require approval on deployment commands.

policies:
  - id: block_destructive_shell
    description: Block irreversible filesystem destruction
    applies_to:
      tools:
        - bash
        - exec
    rule:
      block: true
    when:
      command_contains:
        - "rm -rf"
        - "drop table"

  - id: approve_deploys
    description: Production deploys require human approval
    applies_to:
      tools:
        - bash
    rule:
      require: approval
    when:
      command_contains:
        - "git push origin main"
        - "vercel deploy"
        - "kubectl apply"

What gets governed

The plugin classifies each tool call before it executes. Bash commands are parsed against known intent sets (git, rm, curl, npm). File operations are scanned for sensitive paths (.env, credentials, private keys). Unknown tools fall through to action_type other with a configurable default risk score of 50. Tools listed in highRiskTools always start at risk 85; the classifier may raise the score further but will not lower it.

Tool callaction_typeRiskReversible
bash: git push origin maindeploy80no
bash: rm -rf /tmp/datasecurity90no
write: .env.productionsecurity85yes
read: config.jsonreview15yes

The classification vocabulary matches the DashClaw Claude Code hooks, so guard policies you write for one apply automatically to the other. Full reference and configuration options: @dashclaw/openclaw-plugin README.