ARCHITECTURE was last true on 2026-05-03 (pre-gateway, OpenRouter chains, webhook mirror). Now documents: LiteLLM gateway routing, real spawning, inbox loop, transcript mirror, audit trail, token rotation procedure, RAM constraints. README no longer says 'Clawd Dashboard'.
60 lines
2.4 KiB
Markdown
60 lines
2.4 KiB
Markdown
# Tiger Command Center
|
||
|
||
> Self-hosted AI orchestration: one Tiger, four specialists, every action audited.
|
||
|
||
The control plane for **Tiger**, an OpenClaw-based AI agent running on a
|
||
Hetzner VPS, reachable at `agent.manohargupta.com`. Tiger orchestrates four
|
||
specialist sub-agents — **Cody** (code), **Ethan** (research), **Cathy**
|
||
(writing), **Elon** (planning) — handles Telegram, watches Angel One
|
||
positions, and drains a TASKS.md inbox while you do real work.
|
||
|
||
## What lives here
|
||
|
||
| Path | What it is |
|
||
|---|---|
|
||
| `dashboard/` | Next.js 14 command center UI (`tiger-dashboard`, :3100) |
|
||
| `bridge/` | Express control-plane API (`tiger-bridge`, :3456, localhost-only) |
|
||
| `skills/` | OpenClaw skills (spawn-delegate, angel-positions, inbox-manager, sys-health, youtube-full) |
|
||
| `ARCHITECTURE.md` | The real system map — read this first |
|
||
| `TOOLS.md` | Tool/skill quick reference |
|
||
|
||
## Core capabilities
|
||
|
||
- **Sub-agent spawning** — `POST /tiger/spawn` runs a specialist in an
|
||
isolated OpenClaw session; result lands on Telegram. Tracked in `executions`.
|
||
- **TASKS.md inbox** — drop `- [ ]` lines under `## 📥 INBOX`; the bridge
|
||
dispatches the top item to the right specialist every 30 min (9–20 IST).
|
||
- **Telegram mirror** — the homepage thread reads OpenClaw's native session
|
||
transcript: full history, both directions, perfectly in sync.
|
||
- **Audit trail** — `/activity` merges spawns, cron runs, task lifecycle,
|
||
and outputs into one paginated, filterable timeline.
|
||
- **Own model gateway** — every model call routes through
|
||
`llm.manohargupta.com` (LiteLLM on own MiniMax/Anthropic keys). Primary:
|
||
MiniMax-M3.
|
||
|
||
## Running it
|
||
|
||
Both services are systemd units on the host:
|
||
|
||
```bash
|
||
systemctl restart tiger-bridge # Express via tsx — no build step
|
||
cd dashboard && npm run build && systemctl restart tiger-dashboard
|
||
```
|
||
|
||
Env contracts:
|
||
- `bridge/.env` — `TIGER_BRIDGE_TOKEN`, `LLM_GATEWAY_URL`, `LLM_GATEWAY_KEY`,
|
||
`TIGER_ROUTER_MODEL`, Telegram credentials
|
||
- `dashboard/.env.local` — `TIGER_BRIDGE_URL`, `TIGER_BRIDGE_TOKEN`
|
||
|
||
⚠️ The bridge token is also embedded in OpenClaw cron payloads
|
||
(`cron/jobs.json`, twice). Rotate all four locations together.
|
||
|
||
## Git
|
||
|
||
Forgejo is canonical (`git.manohargupta.com/manohar/OpenClawDashboard`, SSH
|
||
port 2222); GitHub (`manohar6839/NemoClawDashboard`) is a **public** mirror —
|
||
never commit secrets. Push to both:
|
||
|
||
```bash
|
||
git push origin main && git push github main
|
||
```
|