# Plexum-fabric-channel-plugin Native Plexum channel plugin connecting Plexum agents to **Fabric** guilds as real channel members. Inspired by `Fabric.OpenclawPlugin` — Plexum port, delivered in phases. ## Status **Phase F-1 (foundation) — current**: identity registry, Center auth, REST client, plugin scaffold, channel-binding discovery. The `send` outbound tool posts plain text to a Fabric channel as the bound agent. **Phase F-2 (deferred)**: socket.io inbound, wakeup-gated dispatch, token refresh, per-channel serial queue. **Phase F-3+ (deferred)**: tools.ts port (~15 MCP tools — channel/canvas/ sub-discussion/etc.), presence sync, command sync, attachments, coalesce parity. ## Install ```bash cd ~/Plexum-fabric-channel-plugin ./scripts/install.sh # build + install plugin + register CLI ``` Then: 1. **Mint a Center API key** for each Plexum agent that should speak in Fabric: ```bash docker exec fabric-backend-center node dist/cli.js user apikey --email ``` 2. **Register the key** with Plexum: ```bash plexum-fabric-register --agent-id alice --api-key fak_xxxx # writes ~/.plexum/fabric-identity.json ``` 3. **Configure plugin-level settings** at `~/.plexum/plugins/plexum-fabric-channel/config.json`: ```json { "center_api_base": "http://localhost:7001/api" } ``` 4. **Bind a Plexum channel name to a Fabric channel** at `~/.plexum/channels/.json`: ```json { "agent_id": "alice", "plugin": "plexum-fabric-channel", "fabric": { "guild_node_id": "test-guild1", "channel_id": "ch_xxxxxxxxx" } } ``` 5. **Allow the plugin** in `~/.plexum/plexum.json`: ```json {"plugins": {"allow": ["plexum-fabric-channel"]}} ``` 6. **Restart the gateway**: `systemctl --user restart plexum` ## What you get in F-1 - Plugin loads at gateway start, validates every bound agent's API key against Center via `agentLogin`, and warms a session per agent. - `send` MCP tool posts plain text to the bound Fabric channel as the agent user. - No inbound yet — Fabric → Plexum routing arrives in F-2. ## Build manually ```bash go build -o bin/plexum-fabric-channel-plugin ./cmd/plexum-fabric-channel-plugin go build -o bin/plexum-fabric-register ./cmd/plexum-fabric-register ``` ## License Same as Plexum.