# Oracle Bot — Mortdecai Mind's Eye Live HTML5 viewport that renders what the Mortdecai AI model "sees" during Minecraft server interactions. **Public URL:** `mind.mortdec.ai` ## Quick Start (local dev) ```bash cd oracle-bot npm install node server.js # Open http://localhost:3333 ``` ## Deploy to CT 644 ```bash # 1. Copy files to CT 644 ssh pve112 "pct exec 644 -- mkdir -p /opt/oracle-bot" scp -r oracle-bot/* pve112:/tmp/oracle-bot/ ssh pve112 "pct push 644 /tmp/oracle-bot/ /opt/oracle-bot/ --recursive" # 2. Install deps on CT 644 ssh pve112 "pct exec 644 -- bash -c 'cd /opt/oracle-bot && npm install --production'" # 3. Install systemd service ssh pve112 "pct exec 644 -- cp /opt/oracle-bot/oracle-bot.service /etc/systemd/system/" ssh pve112 "pct exec 644 -- systemctl daemon-reload" ssh pve112 "pct exec 644 -- systemctl enable --now oracle-bot" # 4. Verify ssh pve112 "pct exec 644 -- curl -s http://localhost:3333/health" ``` ## Caddy Config (CT 600) Add to `/etc/caddy/Caddyfile`: ``` mind.mortdec.ai { @internal path /trace /command respond @internal 404 reverse_proxy 192.168.0.244:3333 } ``` Then: `caddy reload --config /etc/caddy/Caddyfile` ## Endpoints | Endpoint | Access | Description | |----------|--------|-------------| | `GET /` | Public | Frontend (index.html) | | `WS /ws` | Public | WebSocket stream | | `GET /health` | Public | Health check | | `POST /trace` | Internal | Gateway tool traces | | `POST /command` | Internal | Bot commands | ## Test with simulated traces ```bash curl -X POST http://localhost:3333/trace \ -H "Content-Type: application/json" \ -d '{"tool":"rcon.execute","input":{"command":"give slingshooter08 diamond 16"},"ok":true,"step":0,"mode":"god","player":"slingshooter08","session_id":"test-001"}' ```