2.5 KiB
2.5 KiB
MiroFish Hermes Integration Contract
Purpose
This document defines the minimum stable contract for Hermes and OpenClaw to use the MiroFish host safely.
Canonical Paths
- Runtime:
/Users/Shared/OpenClaw/mirofish-runtime - Transcribes:
/Users/Shared/OpenClaw/transcribes - Source only:
/Users/adrianlat/Library/Mobile Documents/com~apple~CloudDocs/airShare/MiroFish
Service Identity
- Service label:
com.openclaw.mirofish - Runtime owner:
airstride - Access model: LAN + SSH only
Network Endpoints
- Frontend LAN URL:
http://10.0.0.161:3000 - Backend LAN URL:
http://10.0.0.161:5001 - Backend health:
http://10.0.0.161:5001/health - Frontend proxy health path:
http://10.0.0.161:3000/api/graph/project/list
SSH Access
- SSH alias:
openclaw-mirofish - SSH user:
airstride
Recommended tunnels:
ssh -L 3000:127.0.0.1:3000 openclaw-mirofish
ssh -L 5001:127.0.0.1:5001 openclaw-mirofish
Tunnel-based local URLs:
- Frontend:
http://127.0.0.1:3000 - Backend:
http://127.0.0.1:5001
Required Health Checks
Before Hermes or OpenClaw send operational work to MiroFish, the host should pass:
sudo launchctl print system/com.openclaw.mirofish
curl -sS http://127.0.0.1:5001/health
curl -sSI http://127.0.0.1:3000/
curl -sS http://127.0.0.1:3000/api/graph/project/list
Expected results:
- LaunchDaemon present in
system - Backend returns
{"service":"MiroFish Backend","status":"ok"} - Frontend returns
HTTP/1.1 200 OK - Frontend proxy returns a successful JSON payload
Smoke Test
Use the canonical smoke test after reboot or maintenance:
/Users/Shared/OpenClaw/mirofish-runtime/scripts/host-smoke-test.sh
Operational Data Rules
- Do not run MiroFish from iCloud.
- Do not write operational runtime state back into the iCloud source tree.
- Treat
/Users/Shared/OpenClaw/mirofish-runtime/backend/uploadsas persistent operational state. - Treat
/Users/Shared/OpenClaw/transcribesas the canonical local operational transcribes dataset.
Consumption Rules
- Prefer SSH tunnels for operator access from other machines.
- Use LAN URLs only inside the trusted local network.
- Do not expose ports
3000or5001through router forwarding or public internet ingress. - Hermes and OpenClaw should assume MiroFish is a long-lived host service, not an ephemeral dev process.
Operational Commands
From /Users/Shared/OpenClaw/mirofish-runtime:
./scripts/host-start.sh
./scripts/host-stop.sh
./scripts/host-status.sh
tail -f runtime/logs/backend.log
tail -f runtime/logs/frontend.log