Skip to content

Architecture Snapshot

Captured: 2026-05-06 05:58 UTC

This is a live snapshot generated by probing the VPS at capture time — not a hand-curated diagram. Phase 5 of the docs-site plan will auto-refresh this page daily via cron.


  • VPS uptime: 1 day, 11h 49m (booted 2026-05-04 18:08 UTC)
  • Load average (1/5/15 min): 9.10 / 7.50 / 5.49
  • Memory: 31 GB total — 14 GB used, 17 GB available; swap 4.3 GB / 8 GB used
  • Disk: 387 GB total — 135 GB used (35%), 252 GB free on /
  • Active agents: 44 directories (42 active + _retired/ + _templates/)
  • Agent memory DBs: 44 SQLite databases (~5,568 chunks fleet-wide)
  • Installed skills: 75 skill directories
  • MCP servers configured: 24 in .mcp.json; 16 connected, 2 need auth, 2 failed at capture time
  • Active systemd user services: 27 running, 4 failed
  • PM2 processes: 8 online

ServiceDescription
openclaw-gatewayOpenClaw Gateway v2026.4.15 (agent dispatch)
portkey-proxyPer-agent LLM proxy — routes to Anthropic / OpenAI / Moonshot
aurora-workerAurora in-Quo live orchestrator worker (dispatch + follow-ups)
quo-mention-receiverQuo @Aurora mention ingestion (:18798)
quo-watcher-c4Quo WebSocket mention watcher (C4 headless-ws)
openphone-webhookOpenPhone/Quo webhook handler — calls, SMS, deal detection
imessage-webhookBlueBubbles iMessage webhook handler (:18802)
anthropic-max-routerAnthropic Max Router — teamsteph account (:18903)
claude-max-api-proxy@teamstephClaude Max API proxy, OpenAI-compatible API surface
ccr-dispatcherCCR Dispatcher — non-Anthropic LLM routing (:18902)
openclaw-mcpoMCPO MCP→HTTP/OpenAPI gateway (:18922 internal)
openclaw-mcpo-proxyMCPO middleware proxy with CHOKEPOINT-1 hooks (:18921)
openclaw-usage-trackerReal-time LLM cost dashboard (:18920)
llmlingua-compressLLMLingua-2 prompt compression service (:18926)
investorlift-gatewayInvestorLift gateway server (Playwright/Stealth)
ollama-tunnelSSH tunnel VPS→EC2 Mac Ollama (127.0.0.1:11435)
models-guardianAgent models.json guardian (max-plan agents)
openwebuiOpen WebUI browser chat for Gemma/Kimi/DeepSeek
broadcast-auditBroadcast Response Audit UI (:18812)
ops-dashboardRERI Operations Dashboard (static serve)
reri-dispo-pageRERI Dispo Model Landing Page (:18803)
bettertrading-dashboardBetterTrading Next.js Dashboard
prediction-ingestorPrediction market data ingestor
property-view-watcherLovable → HubSpot property view sync
slack-thread-managerSlack channel thread hygiene monitor
trigger-dev-workerTrigger.dev dev worker (Aurora / proj_ghvdlebathcbahioiuiv)
aurora-session-watchdog (timer)Aurora session health watchdog

ServiceDescription
gmail-inbox-scannerGmail auto-label and inbox harvest
investorlift-cookie-refreshInvestorLift Playwright cookie refresh
omni-contact-resolverResolve new contacts into contact_identities
stack-inventoryDaily snapshot of services/workers/agents/credentials

⚠️ 4 services in failed state. Per G-FAILED-SERVICE-MTTR, any service failed >24h requires fix, explicit disable, or archive. Check journalctl --user -u <unit> for root cause.


Active Timers (sample — first 29 at capture time)

Section titled “Active Timers (sample — first 29 at capture time)”
TimerNext FireDescription
cost-monitor~8sLLM cost tracking
dashboard-metrics~16sOps dashboard metrics refresh
claude-orphan-reaper~30sKill stale Claude Code processes
cgroup-pressure-monitor~32sMemory pressure monitoring
openclaw-vault-pull~59sPull vault changes from GitHub (5 min cycle)
arbitrage-monitor~1minPrediction market arbitrage scan
gmail-inbox-scanner~2minGmail inbox labeling
memory-worker~2minAgent memory flush worker
bluebubbles-memory-sync~3miniMessage memory sync
prediction-reconcile~3minPrediction market reconciliation
hubspot-showing-sync~3minShowing day HubSpot sync
email-deal-intake~3minEmail → deal intake pipeline
gmail-label-worker~3minGmail label automation
monitoring-alerts~3minSystem health alerting
portfolio-cache-refresh~3minPortfolio cache refresh
gmail-email-harvest~3minGmail email harvesting
sm-approval-cleanup~4minSalesMsg approval queue cleanup
prediction-history~5minPrediction market history fetch
webhook-health-monitor~5minWebhook handler health checks
showing-followup-trigger~5minShowing day follow-up dispatch
orphan-approval-sweep~5minOrphan approval record sweep
email-signal-stage-updater~6minEmail signal → deal stage updates
deal-outreach-auto-approver~6minAuto-approve outreach queue
aurora-session-watchdog~9minAurora session health
prediction-trader~11minPrediction market trade execution
openclaw-vault-sync~13minPush vault changes to GitHub (15 min cycle)
sm-broadcast-sync~17minSalesMsg broadcast sync
prediction-expiring~19minExpiring prediction cleanup
omni-conversation-linker~20minCross-channel conversation linking

PortBindService
18789127.0.0.1OpenClaw Gateway (agent dispatch)
187900.0.0.0HubSpot + DocuSign webhook handler
18791127.0.0.1OpenClaw Gateway (Quo internal dispatch)
18792127.0.0.1OpenPhone/Quo webhook handler
187930.0.0.0SalesMsg webhook handler
18795127.0.0.1OpenClaw API proxy (internal)
187970.0.0.0Twilio Voice webhook handler
18798127.0.0.1Quo @Aurora mention receiver
188020.0.0.0BlueBubbles iMessage webhook
188120.0.0.0Broadcast Response Audit UI
18820127.0.0.1HubSpot webhook bridge
18850127.0.0.1Open WebUI (model testing chat)
18900127.0.0.1Portkey LLM proxy
18902127.0.0.1CCR Dispatcher (non-Anthropic routing)
18910127.0.0.1Claude Max API proxy
18920127.0.0.1OpenClaw usage tracker dashboard
18921127.0.0.1MCPO middleware proxy
18922127.0.0.1MCPO MCP→HTTP/OpenAPI gateway
18923127.0.0.1OpenAPI Filesystem (docker)
18924127.0.0.1OpenAPI Time (docker)
18925127.0.0.1OpenAPI Memory Graph (docker)
18926127.0.0.1LLMLingua-2 compression service
3847127.0.0.1InvestorLift gateway server
8890127.0.0.1Aurora Portal dashboard backend
8891127.0.0.1InvestorLift Deals API
18840TailscaleOSIL Langfuse Web (T10 eval infra)
18841TailscaleOSIL Langfuse Worker

Ports 80, 22, 631, 8443, 8444, 9050 are system/nginx/SSH — omitted. Full port map in CLAUDE.md → Webhook Service Port Map.


IDNameUptimeRestartsMemoryStatus
7discord-lovable-bridge31h191.9 MBonline
5discord-reaction35h089.6 MBonline
3hubspot23h20136.3 MBonline
6inbound-alert-watcher12h191.3 MBonline
0lovable-api5h11201.6 MBonline
4pgmq-consumer35h087.7 MBonline
2salesmsg12h2153.8 MBonline
1twilio35h075.3 MBonline

Note: lovable-api (11 restarts) and hubspot (20 restarts) show elevated restart counts — worth investigating if counts continue climbing.


44 directories in /home/opsadmin/.openclaw/agents/ (42 active + _retired/ + _templates/).

Three-tier structure per Portkey config:

TierModelCountRole
max-planClaude Max (flat-rate)39 agentsOperations + Automation
gemmaGemma 4 31B (local/OpenRouter)1 agentCode execution + cheap tasks
Strategic (Opus direct)claude-opus-4-6/4-72 agentsHighest-stakes reasoning

Sample agents: acquisitions, angel-calls, atlas, aurora, betterbets, betterfiles, dispo, solara, and 36 others.


44 SQLite databases in /home/opsadmin/.openclaw/memory/ — one per agent. Each DB uses vec0 + FTS5 hybrid search (70% vector via Voyage-4, 30% keyword). Approximately 5,568 chunks fleet-wide (per last fleet audit).

Schema per DB: chunks, chunks_fts, chunks_vec, dead_letters, embedding_cache, pending_saves, meta, files.

⚠️ Known anomaly: acquisitions.sqlite has only 1 chunk. Investigation tracked in openclaw-fragmentation-fix-2026-05-01.md §A2.3.


24 configured in .mcp.json — 16 connected at capture time:

ServerStatus
openclaw-tools✓ Connected
aurora-orchestrator✓ Connected (via MCPO)
gemma✓ Connected
context7✓ Connected
21st-magic✓ Connected
dune✓ Connected
supabase (claude.ai)✓ Connected
hubspot (claude.ai)✓ Connected
slack (claude.ai)✓ Connected
gmail (claude.ai)✓ Connected
google-calendar (claude.ai)✓ Connected
cloudflare (claude.ai)✓ Connected
godaddy (claude.ai)✓ Connected
quo (claude.ai)✓ Connected
docusign (claude.ai)✓ Connected
zoom (claude.ai)✓ Connected
google-drive (claude.ai)⚠ Needs authentication
make (claude.ai)⚠ Needs authentication
figma✗ Failed to connect
ui-expert✗ Failed to connect

Remaining 4 (perplexity, playwright, shortio, sequential-thinking) loaded as on-demand/deferred tools.


The proxy routes by model alias. Registered model tiers at capture time:

CategoryModels
Anthropic (Claude)claude-opus-4-7, claude-opus-4-6, claude-opus-4, claude-sonnet-4-6, claude-sonnet-4, claude-haiku-4-5-20251001, claude-haiku-4-5
Embeddingvoyage-4, voyage-3
Gemma (Google)gemma-4-31b-it, gemma-4-26b-a4b-it (with and without google/ prefix)
Perplexitysonar, sonar-pro, sonar-reasoning-pro, sonar-deep-research (with and without perplexity/ prefix)

No API keys or credentials included. Full routing config at /home/opsadmin/.openclaw/portkey-proxy/tier-config.json.


  • Visual architecture diagrams → Master Architecture
  • How the system fits together → How It Works
  • Full port registry → CLAUDE.md Webhook Service Port Map (authoritative until Phase 1.5 ships workspace/port-registry.md)
  • Agent registry → /home/opsadmin/.openclaw/workspace/AGENT-REGISTRY.md
  • Service health → systemctl --user status openclaw-gateway portkey-proxy