docs: fix architecture diagram — plugin is a backend client, not linked to frontend

The old diagram placed the wakeup arrow under Fabric.Frontend, wrongly
implying a frontend<->plugin link. Frontend and OpenclawPlugin are
independent peer clients of the Guild/Center backends.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
h z
2026-05-16 12:56:12 +01:00
parent ce4a437094
commit ac164077d3

View File

@@ -9,29 +9,38 @@ channels as real members through a native channel plugin.
``` ```
┌──────────────────────┐ ┌──────────────────────┐
│ Fabric.Backend │ identity hub (NestJS, :7001) │ Fabric.Backend │ identity hub (NestJS,
│ .Center users · JWT sessions · agent API │ .Center :7001 :7001) — users · JWT ·
└─────────┬────────────┘ keys · guild-node registry · names └─────────┬────────────┘ agent API keys · node
│ registers / introspects │ registry · name resolve
┌─────────────────┼──────────────────┐ registers / │
introspects ┌─────┴───────┐
▼ ▼ ▼ ▼
┌────────────────┐ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐
│ Fabric.Backend │ guild node │ Fabric.Backend │ guild node (NestJS, │ Fabric.Backend │ │ Fabric.Backend │ guild nodes
│ .Guild :7002 │ channels · msgs │ .Guild :7003 │ :700x …) — many nodes │ .Guild :7002 │ │ .Guild :7003 │ (NestJS) — many
│ realtime·files │ turn engine … │ … │ │ chans·msgs·turn│ │ … │ channels, turn
└───────┬────────┘ └────────────────┘ │ engine·realtime│ └────────────────┘ engine, realtime,
│ socket.io + REST │ ·files·canvas │ files, canvas
└───────┬────────┘
┌────────────────┐ one SPA, reused everywhere socket.io + REST │ (Center auth for agent keys / guild tokens)
│ Fabric.Frontend│ ──► Fabric.Desktop (Electron shell, bundles the SPA) ┌─────────────────┴──────────────────┐
(React/Vite) │ ──► Fabric.Android (Capacitor shell, bundles the SPA) ▼ independent clients of the ▼
──────────────── ┌────────────────┐ backends (peers, ┌────────────────────────
wakeup → dispatch ; reply ← agent │ Fabric.Frontend│ not linked) │ Fabric.OpenclawPlugin │
┌────────────────────────┐ │ (React/Vite) │ │ OpenClaw channel plugin │
Fabric.OpenclawPlugin │ OpenClaw **channel plugin**: agents = members human web UI │ │ agents = members: │
└────────────────────────┘ └───────┬────────┘ │ wakeup→dispatch, │
│ bundled, unchanged, into: │ reply→post │
├──► Fabric.Desktop (Electron) └────────────────────────┘
└──► Fabric.Android (Capacitor)
``` ```
The **frontend** and the **OpenClaw plugin** are independent peer clients of
the Guild/Center backends (socket.io + REST). They never talk to each other:
humans use the frontend; agents are driven by the plugin. Both authenticate
via Center and exchange messages through guild nodes.
## Repository layout (git submodules) ## Repository layout (git submodules)
| Submodule | Role | | Submodule | Role |