122 lines
6.0 KiB
JSON
122 lines
6.0 KiB
JSON
{
|
|
"title": "Claw Fleet Architecture",
|
|
"overview": [
|
|
"OpenClaw is the ubuntu-local orchestration layer and Telegram HQ entrypoint.",
|
|
"ZeroClaw provides host-scoped remote administration on grizzley and ice.",
|
|
"The taskboard is the shared planning, dispatch, and audit surface across both families."
|
|
],
|
|
"topologyDiagram": " Telegram / Forum Topics\n |\n +----------------+----------------+\n | |\n v v\n OpenClaw gateway ZeroClaw control\n ubuntu :18789 ice zeroclaw-admin\n local swarm topic router / paired gateway\n | |\n +------------+--------------------+\n |\n v\n shared taskboard UI\n |\n +-----------+-----------+\n | |\n v v\n OpenClaw agents ZeroClaw runtimes\n ubuntu-local swarm grizzley / ice\n",
|
|
"sections": [
|
|
{
|
|
"id": "openclaw",
|
|
"title": "OpenClaw",
|
|
"summary": "Primary orchestration family on ubuntu. Owns local swarm execution, HQ Telegram bindings, and ubuntu-host workflows.",
|
|
"runtime": [
|
|
{ "label": "Host", "value": "ubuntu (192.168.50.61)" },
|
|
{ "label": "Service", "value": "openclaw.service" },
|
|
{ "label": "Runtime", "value": "/srv/state/openclaw/current" },
|
|
{ "label": "Config", "value": "/home/bear/.openclaw/openclaw.json" }
|
|
],
|
|
"channels": [
|
|
{ "label": "Telegram DM", "value": "allowlist: tg:5512934365" },
|
|
{ "label": "Forum Group", "value": "Homelab HQ (-1003809447066)" },
|
|
{ "label": "Gateway", "value": "LAN bind :18789 with token auth" }
|
|
],
|
|
"configuredAgents": [
|
|
"main",
|
|
"ubuntu",
|
|
"docs",
|
|
"gitea-admin",
|
|
"planner",
|
|
"builder",
|
|
"reviewer"
|
|
],
|
|
"diagram": "OpenClaw HQ topics\n topic 2 -> ubuntu\n topic 3 -> docs\n topic 4 -> gitea-admin\n topics 5-9 -> main, then delegate to host-scoped ZeroClaw paths\n\nmain\n|- ubuntu\n|- docs\n|- gitea-admin\n|- planner\n|- builder\n\\- reviewer\n",
|
|
"notes": [
|
|
"Remote host personas were removed from OpenClaw.",
|
|
"OpenClaw remains gateway-only on ubuntu.",
|
|
"Swarm dispatch requires a repo slug that resolves through ~/.clawdbot/repo-map.json."
|
|
]
|
|
},
|
|
{
|
|
"id": "zeroclaw",
|
|
"title": "ZeroClaw",
|
|
"summary": "Host-scoped runtime family for remote administration. Grizzley is the primary active gateway. Ice is the control-plane runtime and topic router.",
|
|
"runtime": [
|
|
{ "label": "Primary", "value": "/srv/state/zeroclaw/current on grizzley" },
|
|
{ "label": "Control", "value": "/home/bear/.zeroclaw-admin on ice" },
|
|
{ "label": "Primary Service", "value": "zeroclaw.service" },
|
|
{ "label": "Control Service", "value": "zeroclaw-admin.service" }
|
|
],
|
|
"channels": [
|
|
{ "label": "Grizzley Gateway", "value": "HTTP gateway :3000, pairing required" },
|
|
{ "label": "Ice Telegram", "value": "Homelab-Ice (-1003728617160)" },
|
|
{ "label": "Remote Routing", "value": "paired status/webhook to grizzley and pve" }
|
|
],
|
|
"configuredAgents": [
|
|
"grizzley-zeroclaw",
|
|
"ice-zeroclaw"
|
|
],
|
|
"diagram": "Homelab-Ice topics\n 11 -> local ice operations\n 12 -> grizzley paired gateway\n 13 -> pve paired gateway\n 14 -> truenas blocker message\n 15 -> panda rollout pending\n\nice zeroclaw-admin\n -> zeroclaw-remote-gateway.sh status grizzley|pve\n -> zeroclaw-remote-gateway.sh webhook grizzley|pve \"<message>\"\n",
|
|
"notes": [
|
|
"Grizzley is host-scoped and should not proxy other hosts directly.",
|
|
"Ice still uses host-local secret and encryption state under /home/bear/.zeroclaw-admin."
|
|
]
|
|
}
|
|
],
|
|
"zeroclawAgents": [
|
|
{
|
|
"slug": "grizzley-zeroclaw",
|
|
"assignmentKey": "grizzley-zeroclaw",
|
|
"aliases": ["grizzley-zeroclaw", "ZeroClaw Grizzley", "grizzley"],
|
|
"name": "ZeroClaw Grizzley",
|
|
"host": "grizzley",
|
|
"role": "Edge host operator for grizzley",
|
|
"runtimePath": "/app/zeroclaw/grizzley",
|
|
"configPath": "/app/zeroclaw/grizzley/config.toml",
|
|
"model": "glm-4.7",
|
|
"emoji": "S",
|
|
"channels": [
|
|
{ "label": "Gateway", "value": "HTTP gateway :3000" },
|
|
{ "label": "Access", "value": "paired remote gateway via ice" }
|
|
],
|
|
"notes": [
|
|
"Host-scoped runtime for Traefik, OpenCode, and local services."
|
|
],
|
|
"dispatch": {
|
|
"method": "zeroclaw-webhook",
|
|
"urlEnv": "ZEROCLAW_GRIZZLEY_URL",
|
|
"tokenEnv": "ZEROCLAW_GRIZZLEY_TOKEN",
|
|
"targetChannel": "grizzley gateway",
|
|
"description": "Posts JSON webhook payloads to the grizzley ZeroClaw runtime."
|
|
}
|
|
},
|
|
{
|
|
"slug": "ice-zeroclaw",
|
|
"assignmentKey": "ice-zeroclaw",
|
|
"aliases": ["ice-zeroclaw", "ZeroClaw Ice", "ZeroClaw Admin", "ice"],
|
|
"name": "ZeroClaw Ice",
|
|
"host": "ice",
|
|
"role": "Control-plane operator for ice",
|
|
"runtimePath": "/app/zeroclaw/ice",
|
|
"configPath": "/app/zeroclaw/ice/config.toml",
|
|
"model": "glm-5",
|
|
"emoji": "I",
|
|
"channels": [
|
|
{ "label": "Telegram", "value": "Homelab-Ice topics 11-15" },
|
|
{ "label": "Gateway", "value": "paired webhook + status routing" }
|
|
],
|
|
"notes": [
|
|
"Control-plane runtime and topic router for remote host delegation."
|
|
],
|
|
"dispatch": {
|
|
"method": "zeroclaw-webhook",
|
|
"urlEnv": "ZEROCLAW_ICE_URL",
|
|
"tokenEnv": "ZEROCLAW_ICE_TOKEN",
|
|
"targetChannel": "Homelab-Ice topic router",
|
|
"description": "Posts JSON webhook payloads to the ice ZeroClaw runtime."
|
|
}
|
|
}
|
|
]
|
|
}
|