119 lines
3.2 KiB
Markdown
119 lines
3.2 KiB
Markdown
# Claw Fleet Console
|
|
|
|
`openclaw-taskboard` is now a `Next.js + React + Tailwind + shadcn-style` dashboard for the deployed Claw fleet.
|
|
|
|
It tracks and visualizes:
|
|
|
|
- OpenClaw swarm agents on `ubuntu`
|
|
- ZeroClaw host runtimes on `grizzley` and `ice`
|
|
- shared task assignment and dispatch across both families
|
|
- wiki pages and architecture documentation rendered in the UI
|
|
- dispatch audit history, failure queues, heartbeat overlays, and task templates
|
|
|
|
## Stack
|
|
|
|
- Next.js App Router
|
|
- React 19
|
|
- Tailwind CSS
|
|
- shadcn-style UI components under `components/ui`
|
|
- SQLite task storage
|
|
|
|
## Key Pages
|
|
|
|
- `/tasks` - unified Kanban board
|
|
- `/agents` - configured OpenClaw and ZeroClaw runtimes
|
|
- `/openclaw` - focused OpenClaw swarm view
|
|
- `/zeroclaw` - focused ZeroClaw host-runtime view
|
|
- `/dispatch` - dispatch audit log and failure queue
|
|
- `/architecture` - deployed architecture documentation with ASCII topology
|
|
- `/wiki` - markdown-backed runbooks and generated docs
|
|
- `/usage` - usage aggregates from the local tracking table
|
|
|
|
## Control Plane Features
|
|
|
|
- typed fleet config and task template config
|
|
- dispatch lifecycle states and SQLite audit history
|
|
- OpenClaw swarm dispatch into `~/.clawdbot/active-tasks.json`
|
|
- ZeroClaw webhook dispatch for `grizzley` and `ice`
|
|
- task callback API for remote completion/result sync
|
|
- OpenClaw registry sync API for swarm task state reconciliation
|
|
- failure queue and dispatch history views
|
|
- family-specific runtime views for OpenClaw and ZeroClaw
|
|
- architecture documentation rendered directly from tracked config
|
|
|
|
## Fleet Model
|
|
|
|
### OpenClaw
|
|
|
|
- Host: `ubuntu`
|
|
- Service: `openclaw.service`
|
|
- Runtime: `/srv/state/openclaw/current`
|
|
- Config: `~/.openclaw/openclaw.json`
|
|
- Channels:
|
|
- Telegram DM allowlist
|
|
- Homelab HQ forum topics
|
|
- local gateway on `:18789`
|
|
|
|
### ZeroClaw
|
|
|
|
- Primary runtime: `grizzley`
|
|
- Control-plane runtime: `ice`
|
|
- Runtime roots:
|
|
- `/srv/state/zeroclaw/current`
|
|
- `/home/bear/.zeroclaw-admin`
|
|
- Channels:
|
|
- paired HTTP gateway access
|
|
- Homelab-Ice forum topics
|
|
- remote gateway routing from `ice`
|
|
|
|
## Important Environment Variables
|
|
|
|
- `DB_PATH`
|
|
- `WIKI_DIR`
|
|
- `AGENTS_DIR`
|
|
- `SWARM_TASKS_FILE`
|
|
- `SWARM_REPO_MAP_FILE`
|
|
- `SWARM_WORKTREES_DIR`
|
|
- `REPO_ACCESS_ROOTS`
|
|
- `OPENCLAW_CONFIG`
|
|
- `ZEROCLAW_GRIZZLEY_URL`
|
|
- `ZEROCLAW_GRIZZLEY_TOKEN`
|
|
- `ZEROCLAW_ICE_URL`
|
|
- `ZEROCLAW_ICE_TOKEN`
|
|
|
|
## Development
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
## Production Build
|
|
|
|
```bash
|
|
npm run build
|
|
npm start
|
|
```
|
|
|
|
## Deployment Shape On Ubuntu
|
|
|
|
- app source checkout: `/srv/apps/openclaw-taskboard/current`
|
|
- taskboard data: `/srv/state/openclaw-taskboard/data`
|
|
- OpenClaw mounts:
|
|
- `/home/bear/.openclaw/agents`
|
|
- `/home/bear/.openclaw/openclaw.json`
|
|
- `/home/bear/.openclaw/workspace/wiki`
|
|
- ZeroClaw architecture:
|
|
- rendered from the tracked fleet model in this repo
|
|
- optional runtime path overrides can be provided via `ZEROCLAW_PRIMARY_DIR` and `ZEROCLAW_CONTROL_DIR`
|
|
|
|
## Notes
|
|
|
|
- The UI intentionally treats OpenClaw and ZeroClaw as separate families with different runtime and channel models.
|
|
- `ice` ZeroClaw remains tied to host-local secret/encryption state; the dashboard reads that runtime but does not attempt to rewrite it.
|
|
|
|
## Status Docs
|
|
|
|
- [Implementation status](./docs/IMPLEMENTATION_STATUS.md)
|
|
- [Roadmap](./docs/ROADMAP.md)
|