Vibe Coding
Back to FastClaw

FastClaw / Ability level

plug-in

The FastClaw plug-in is a JSON-RPC subprocess that can register tools, providers, hooks, and channel capabilities, and declare capabilities through manifests.

plug-in key concepts infographic
plug-in key concepts infographic

Plug-in Agreement

Plugins communicate with FastClaw via subprocess JSON-RPC. Common methods include initialize, shutdown, tool.list/execute, provider.list/execute, hook.register/fire, message.inbound, chat.send.

Method Function
initialize / shutdown life cycle
tool.list / tool.execute Expose new tools
provider.list / provider.execute Expose new model provider
hook.register / hook.fire Listening for events and injecting behaviors
message.inbound / chat.send Access channel messages and replies

Manifest

Plug-in manifest fields include id, name, version, description, type, command, capabilities, and config. Gateway will discover plugins from FASTCLAW_HOME/plugins and configuration paths.

{
  "id": "demo-tool",
  "name": "Demo Tool",
  "version": "0.1.0",
  "type": "subprocess",
  "command": ["node", "plugin.js"],
  "capabilities": ["tool"]
}

Sample plugin

The source code comes with fastclaw-plugin-demo, mem0, openclaw-plugin-demo, post-turn-echo-demo and other examples, covering tools, hooks, external memory and OpenClaw bridging.

Credential rules

The provider plug-in gets per-call credentials every time it is called, and the plug-in should not cache the keys.