Skip to content

Infrastructure

PropertyValue
HardwareIntel i5-10310U, 4c/8t
RAM7.4 GB
Disk1 TB
OSUbuntu 24.04 (WSL2)
HostHP EliteBook

WSL2 Constraint: 7.4GB RAM shared with host. Avoid running multiple Claude Code / Codex sessions simultaneously — server crashed twice under heavy load.

  • Tailscale — Serve mode. Control UI accessible at https://desktop-8bb3hd4-1.tailb7bd99.ts.net/
  • auth.allowTailscale=true in openclaw.json
  • Mission Control exposed via Tailscale :8080http://127.0.0.1:3001
  • GitHub CLI authenticated as Chrisr6records
ServicePortDescription
Mission Control3001Agent dashboard (Next.js)
Tailscale proxy8080External access to Mission Control
OpenClaw gatewayAgent orchestration layer

Mission Control systemd service:

~/.config/systemd/user/mission-control.service
WorkingDirectory=/home/winnie/projects/mission-control
ExecStart=/usr/bin/node .../next start -p 3001
  • Script: /home/winnie/.openclaw/bin/backup-server.sh
  • Daily 03:00 GMT cron
  • 14-day retention
  • Remote: gdrive:openclaw-backups/
  • Script: /home/winnie/backups/backup.sh
  • Backs up: Mission Control DB + all 8 OpenClaw agent memory SQLites
  • Daily cron at 04:30 (after night sprint)
  • 7-day local retention
  • Uses SQLite .backup API for WAL-safe copies
  • Verified: MC backup 44K/47 tasks ✓, agent memories 99MB ✓
  • openclaw_snapshot.sh + openclaw_restore.sh
  • Retention: 14 daily / 8 weekly
ToolVersionPurpose
Codex CLIv0.104.0Free T1/T2 coding (ChatGPT Plus OAuth)
Gemini CLIv0.30.0Free research + coding (1M+ context)
Claude Codev2.1.50T2+ coding (Anthropic subscription)
wranglerCloudflare deployment
TailscaleNetworking

Note: Gemini CLI requires v0.30.0+ for WSL2 headless support. Earlier versions hang indefinitely.

  • Primary: local faster-whisper (base, CPU, int8) at /home/winnie/.local/bin/whisper-local
  • Fallback: Google Gemini → OpenAI
  • Locked to English (language="en") — fixes misdetection of Scottish accent
  • gemini-yt-transcript at /home/winnie/.local/bin/gemini-yt-transcript
  • Sends YouTube URL directly to Gemini for verbatim transcript
  • Bypasses cloud IP blocks that affect youtube-transcript-api and yt-dlp
  • Type: QMD (Bun 1.3.9 + QMD 1.0.7)
  • Session transcript indexing enabled (30-day retention)
  • CPU-only (no GPU), models ~2GB, unload after idle
  • 29 files indexed, 112 vectors at time of setup
  • /etc/sudoers.d/winnie-packages — limited package management commands only (NOPASSWD configured 2026-02-20)
  • Config: ~/.openclaw/openclaw.json
  • 13 cron jobs total (daily/weekly automations)
  • reserveTokensFloor: 40000 (raised from 24000 for context hygiene)
  • agents.defaults.subagents.maxConcurrent: 3 (reduced from 8 for reliability)

NEVER restart gateway mid-conversation — drops all active sessions including Chris’s chat.

  • Group: -1003848100060, topics mapped (1/2/4/6/8/10/12/14/16/18/2820)
  • Only Chris (8267352500) triggers group replies
  • DevOps topic (14) only may handle restart/config with CONFIRM: prefix