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)
│ .Center users · JWT sessions · agent API
└─────────┬────────────┘ keys · guild-node registry · names
│ registers / introspects
┌─────────────────┼──────────────────┐
│ Fabric.Backend │ identity hub (NestJS,
│ .Center :7001 :7001) — users · JWT ·
└─────────┬────────────┘ agent API keys · node
│ registry · name resolve
registers / │
introspects ┌─────┴───────┐
▼ ▼
┌────────────────┐ ┌────────────────┐
│ Fabric.Backend │ guild node │ Fabric.Backend │ guild node (NestJS,
│ .Guild :7002 │ channels · msgs │ .Guild :7003 │ :700x …) — many nodes
│ realtime·files │ turn engine … │ … │
└───────┬────────┘ └────────────────┘
│ socket.io + REST
┌────────────────┐ one SPA, reused everywhere
│ Fabric.Frontend│ ──► Fabric.Desktop (Electron shell, bundles the SPA)
(React/Vite) │ ──► Fabric.Android (Capacitor shell, bundles the SPA)
────────────────
wakeup → dispatch ; reply ← agent
┌────────────────────────┐
Fabric.OpenclawPlugin │ OpenClaw **channel plugin**: agents = members
└────────────────────────┘
┌────────────────┐ ┌────────────────┐
│ Fabric.Backend │ │ Fabric.Backend │ guild nodes
│ .Guild :7002 │ │ .Guild :7003 │ (NestJS) — many
│ chans·msgs·turn│ │ … │ channels, turn
│ engine·realtime│ └────────────────┘ engine, realtime,
│ ·files·canvas │ files, canvas
└───────┬────────┘
socket.io + REST │ (Center auth for agent keys / guild tokens)
┌─────────────────┴──────────────────┐
▼ independent clients of the ▼
┌────────────────┐ backends (peers, ┌────────────────────────
│ Fabric.Frontend│ not linked) │ Fabric.OpenclawPlugin │
│ (React/Vite) │ │ OpenClaw channel plugin │
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)
| Submodule | Role |