ece77ff2c7ee2d9d7f59d7323d6a4b86cedbf56b
Rewritten against the real openclaw v2026.5.7 plugin SDK (generic third-party channel path): createChannelPluginBase + createChatChannelPlugin with required capabilities, minimal ChannelSetupAdapter, agent=account config resolution, attached outbound -> Fabric POST, inbound socket per account -> runtime.channel.turn (wakeup->admission). Compat notes mark SDK-coupled seams for future openclaw upgrades. Verified: builds clean, installs, 'openclaw channels list' -> Fabric installed/configured/enabled. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Fabric.OpenclawPlugin
An OpenClaw channel plugin that connects OpenClaw agents to a Fabric guild.
Model
kind: "channel"plugin (like the bundled discord channel). OpenClaw core owns dispatch (inbound → agent run) and the reply pipeline via the channel turn kernelruntime.channel.turn.run(...).- Fabric already owns turn/shuffle/mention/
/no-replyserver-side, so this plugin is thin. Fabric's per-recipientwakeupmaps to channel-turn admission:wakeup === true→dispatch(agent runs, may reply)- otherwise →
{ kind: "drop", recordHistory: true }(kept as context)
- No sidecar, no fake no-reply model, no
before_model_resolvegating.
Auth
Each agent has a Fabric Center API key (mint via Center CLI:
node dist/cli.js user apikey --email <agent-email>). The key is exchanged for
a user session (POST /auth/agent/login) used to receive (socket) and post
replies. Bind a key to an agent via the fabric-register tool, or pre-populate
the identity file.
Config
channels.fabric.centerApiBase— e.g.http://localhost:7001/api- plugin
identityFilePath— default~/.openclaw/fabric-identity.json({ entries: [{ agentId, fabricApiKey }] })
Tools
fabric-register— bind this agent's Fabric API keycreate-chat-channel(general) /create-work-channel(work) /create-report-channel(report) /create-discussion-channel(discuss)discussion-complete— post a summary then close the channel (FabricPOST /channels/:id/close; closed → history readable, posts → 409)
Transport (Phase 1 = B1)
One Fabric socket per agent identity, in the plugin runtime. Firehose (B2) is
a later drop-in behind the same dispatch() seam.
Build
npm install && npm run build
The plugin compiles against the host's OpenClaw SDK (
openclaw/plugin-sdk/*); build inside the OpenClaw plugin environment.
Description
Languages
TypeScript
91%
JavaScript
9%