World AgentKit-backed human-in-the-loop approvals for OpenClaw protected tools.
This is a community ClawHub package published as @guardiola31337/agentkit. It was extracted from the OpenClaw AgentKit prototype in openclaw/openclaw#78583 so the integration can live outside OpenClaw core. The required OpenClaw host APIs are now split across smaller upstream PRs.
- ClawHub package:
clawhub:@guardiola31337/agentkit - Current version:
2026.5.16-beta.2 - Channel: community beta
- Upstream API tracker:
openclaw/openclaw#82336 - Required OpenClaw API PRs:
openclaw/openclaw#82431,openclaw/openclaw#82434,openclaw/openclaw#82471, andopenclaw/openclaw#82752 - Temporary CI host API branch:
Guardiola31337/openclaw@agentkit/external-plugin-host-apis
The package depends on generic OpenClaw host APIs for external approval plugins. Until those APIs are available in an OpenClaw release, test this plugin against an OpenClaw checkout or beta build that includes the approval and chat injection APIs listed in docs/host-api.md.
- Registers the
agentkitOpenClaw command. - Adds a
before_tool_callhook that can pause configured tools. - Requests World-backed proof before protected tools continue.
- Supports session- or agent-scoped grants for repeated approvals.
- Supports hosted broker mode and custom World ID verifier settings.
Install from ClawHub once your OpenClaw build includes the required host APIs:
openclaw plugins install clawhub:@guardiola31337/agentkitFor local development against a sibling OpenClaw checkout:
pnpm install
pnpm dev:link-openclaw ../openclaw
pnpm builddev:link-openclaw replaces node_modules/openclaw with a symlink to the OpenClaw checkout you pass, which is useful while the required SDK APIs are still under review upstream.
Enable the plugin through OpenClaw plugin config. This example protects the exec tool and asks a hosted broker to create short-lived World approval requests:
{
"plugins": {
"entries": {
"agentkit": {
"enabled": true,
"config": {
"walletAddress": "0x0000000000000000000000000000000000000000",
"hitl": {
"enabled": true,
"mode": "human-approval",
"protectedTools": ["exec"],
"grantScope": "session",
"grantTtlMs": 1800000,
"humanApproval": {
"provider": "hosted",
"brokerUrl": "https://example.com/world-approval"
}
}
}
}
}
}
}For custom verifier deployments, use environment indirection for the signing key:
{
"provider": "custom",
"appId": "app_xxx",
"rpId": "app_xxx",
"signingKeyEnvVar": "WORLD_ID_SIGNING_KEY",
"environment": "production"
}Do not commit World signing keys, wallet secrets, or real user identifiers.
Show the registration plan:
openclaw agentkit register --dry-runRun registration with the configured wallet:
openclaw agentkit registerCheck local HITL status:
openclaw agentkit statusDry-run a ClawHub publish:
pnpm clawhub:dry-runPublish the beta package:
pnpm clawhub:publishThe publish helper expects clawhub on PATH. When using a sibling ClawHub
checkout instead of a global install, point CLAWHUB_CLI at its CLI entrypoint,
for example:
CLAWHUB_CLI=../clawhub/packages/clawhub/bin/clawdhub.js pnpm clawhub:dry-runThe publish helper tags the current beta as both beta and latest so the
default ClawHub install spec resolves. Keep the README status warning above in
place until the compatible OpenClaw host APIs are available in a released
OpenClaw build and this plugin has been tested against that release.
pnpm install
pnpm build
pnpm pack:checkWhen working against an unpublished OpenClaw API branch:
pnpm dev:link-openclaw ../openclaw
pnpm buildFrom this source checkout, run the complete local AgentKit proof against a compatible OpenClaw checkout:
pnpm test:local-full-e2e -- --openclaw ../openclaw-agentkit-host-apisThis builds the OpenClaw checkout, links it into node_modules/openclaw, runs
the plugin's isolated HITL proof, then starts a real local OpenClaw gateway with
the plugin installed from this checkout. The gateway proof verifies that a
protected exec call creates AgentKit approval actions and that denying the
approval blocks the tool call. If the OpenClaw checkout is already built, add
--skip-host-build.
MIT