Skip to content
openclaw-goblins-adapter logo

openclaw-goblins-adapter

ElizaOS/OpenClaw → Goblins OCapN adapter (study + bridge)

plurigrid/asi0installs67starsSecurity

SKILL.md

Full skill instructions

OpenClaw → Goblins Adapter

Study: elizaOS/​openclaw-adapter

The openclaw-adapter bridges ElizaOS plugins into OpenClaw via:

FileElizaOS → OpenClaw
action-to-tool.tsAction → Tool (params: JSON Schema → TypeBox)
provider-to-hook.tsProvider → before_agent_start hook
service-adapter.tsService → Service (eager start)
evaluator-to-hook.tsEvaluator → lifecycle hooks
runtime-bridge.tsIAgentRuntime → RuntimeBridge shim
in-memory-store.tsIDatabaseAdapter → LRU InMemoryStore (10K cap)
schema-converter.tsJSON Schema → TypeBox + known wallet schemas

Critical pattern: RuntimeBridge is a shim, not a full runtime embed.

This Adapter: ElizaOS → Goblins OCapN

ElizaOSGoblinsWhy
Action^action-actorCaps = authority (not ACL)
Provider^provider-capRead-only attenuated ref (POLA)
Service^service-actor in vatIsolation via event loop
Evaluator^guard-actorProxy composition
IAgentRuntime^vat-bridgeTransactional actor state
IDatabaseAdapterActor state (bcom)Automatic rollback
JSON SchemaSyrup record descriptorWire-native
OAuth sessionCapTP session (Ed25519)Structural authority
/​eliza routeBootstrap object (pos 0)Single entry point
Tool schemaSyrup record^schema-bridge

Security Model Upgrade

MCP/​ElizaOS: ambient authority
  token → role → permissions → action
  (confused deputy attacks possible)

Goblins/​OCapN: structural authority
  ref = authority (POLA)
  (confused deputy impossible by construction)

Files

FileLOCRole
goblins-adapter.scm~350Core adapter (9 actor types)
MAPPING.md~200Detailed concept mapping
SKILL.mdthisSkill definition

GF(3)

Actions  = +1 (generative — create capabilities)
Providers = -1 (constraining — read-only attenuation)
Services = 0  (ergodic — background transport)

Adapter enforcer: registration sum ≡ 0 (mod 3).

Usage

(define-values (vat bridge schema session gf3)
  (spawn-goblins-adapter "my-agent" settings))

;; Register ElizaOS-shaped plugin
($ bridge register-plugin plugin-spec)

;; Invoke tool (CapTP bootstrap)
($ bridge invoke "tool-name" params)

;; Bridge MCP call → CapTP deliver
($ session mcp-call->deliver sid "tool" params)

Triads

captp (0) ⊗ openclaw-goblins-adapter (0) ⊗ gay-mcp (+1) → needs -1
shadow-goblin (-1) ⊗ this (0) ⊗ agent-o-rama (+1) = 0 ✓
keychain-secure (-1) ⊗ this (0) ⊗ pulse-mcp-stream (+1) = 0 ✓

ACP atlas

Part of: acp-commons.