Skip to the content.
dotkc GitHub OpenClaw plugins
Start here: dotkc manual + best practices → dotkc.hczhang.com

dotkc OpenClaw Plugin (L2)

Typed OpenClaw tools for dotkc so agents can use secrets workflows through a constrained interface.

Goal: let OpenClaw use secrets without printing them (avoid secrets entering model transcripts).

Quick start

1) Install this plugin (dotkc is bundled):

# from npm (recommended)
openclaw plugins install dotkc-openclaw@0.1.4
openclaw gateway restart

# or local dev link
openclaw plugins install -l /path/to/dotkc-openclaw
openclaw gateway restart

2) Verify dotkc can decrypt on the OpenClaw host (dotkc is bundled, but still needs vault + key on disk):

dotkc status

3) Enable the plugin + opt-in tools:

{
  plugins: {
    entries: {
      dotkc: {
        enabled: true,
        config: {
          // dotkcBin: "dotkc", // optional override (default uses bundled dotkc)
          dotkcBin: "",
          specFile: "./dotkc.spec",
          allowUnsafe: false,
          commandAllowlist: ["node", "pnpm"]
        }
      }
    }
  },
  tools: { allow: ["dotkc"] }
}
Recommended install: openclaw plugins install dotkc-openclaw@0.1.4

What problem this solves

OpenClaw agents often need credentials (API keys, tokens) to run local tools. The unsafe default is to fetch a secret and print it, which can:

This plugin promotes the safer pattern:

  1. Keep an allowlist file in the repo (dotkc.spec, no values)
  2. Let dotkc resolve values at runtime
  3. Prefer inspect redaction and env injection (values are not printed)

Tools exposed to the agent

dotkc_status (required)

Runs:

dotkc status --openclaw

Returns the OpenClaw JSON envelope from dotkc (paths + decrypt capability).

dotkc_doctor (optional)

Runs:

dotkc doctor --openclaw

Returns diagnostics and suggested fixes.

dotkc_inspect (optional)

Runs (default):

dotkc run --spec-file ./dotkc.spec --openclaw

Intended for redacted sanity checks.

dotkc_run (optional)

Runs a real command with secrets injected, but returns only safe summaries (tails) back to the model.

It spawns:

dotkc run --spec-file ./dotkc.spec -- <cmd> [args...]

Guardrails:

Important: by default this plugin does not enable unsafe/raw values.

How it works

Security model / guardrails

Threat model: if a secret is printed, it can enter model transcripts and/or be sent to the model provider. Design workflows so secrets are injected into child processes, not displayed.
No-leak default: this plugin enforces DOTKC_NO_LEAK=1 when spawning dotkc, so you do not need to set it in the Gateway environment.

Troubleshooting

“dotkc not found”

Set dotkcBin to an absolute path, or ensure dotkc is on PATH for the Gateway service.

“failed to parse dotkc –openclaw JSON”

Run the underlying command on the host:

dotkc status --openclaw

Ensure nothing else writes to stdout (no banners, no extra logs).

Vault/key problems

dotkc doctor --openclaw

Check:

Security hardening

This plugin is designed to be fail-closed.

Roadmap