Public base: https://macbook-pro-von-loomis.tail2eb3c3.ts.net · This proxy is the bridge the browser uses.
/HTML landing page with status pill and quick links.
/docsThis page.
/healthLiveness + upstream reachability check. Returns JSON. Useful for Coolify health checks and uptime monitors.
curl http://hermes-server-lg.loomyloo.app/macbook-pro-von-loomis.tail2eb3c3.ts.net/health
/testEnd-to-end test. Calls /agents/lumina/v1/models through the proxy and reports success/failure for each link in the chain (proxy → Funnel → agent). Returns JSON.
curl https://hermes-server-lg.loomyloo.app/test
/agentsList all configured agents, their aliases, models, and full URLs.
curl https://hermes-server-lg.loomyloo.app/agents
/agents/<name>/v1/modelsList models for a specific agent. <name> is one of:
| Alias | Agent | Model ID returned |
|---|---|---|
lumina | Lumina Green (Main Agent) | hermes-agent |
chilly | Chilly | chilly |
velvet | Velvet Green | velvet-green |
velvet-green | Velvet Green | velvet-green |
soluna | Soluna Green | soluna |
loomy | Loomy Bot Green | loomy |
curl https://hermes-server-lg.loomyloo.app/agents/lumina/v1/models
/agents/<name>/v1/chat/completionsOpenAI-compatible chat completion. Same request/response shape as the upstream agent.
curl -X POST https://hermes-server-lg.loomyloo.app/agents/lumina/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "hermes-agent",
"messages": [{"role":"user","content":"Reply: HELLO"}],
"stream": false
}'
For streaming responses, set "stream": true in the body. The proxy streams the SSE response back unchanged.
/agents/<name>/v1/audio/transcriptionsWhisper-style audio-to-text. Send multipart/form-data with a file field.
curl -X POST https://hermes-server-lg.loomyloo.app/agents/lumina/v1/audio/transcriptions \ -F file=@recording.webm \ -F model=whisper-1
/agents/<name>/v1/embeddingsText → vector embeddings.
curl -X POST https://hermes-server-lg.loomyloo.app/agents/lumina/v1/embeddings \
-H "Content-Type: application/json" \
-d '{"input":"hello world","model":"hermes-agent"}'
/agents/<name>/*Catch-all. Any path under /agents/<name>/ is forwarded to the upstream agent. New endpoints the agent adds will Just Work.
| Status | Meaning |
|---|---|
| 200 | Success |
| 401 | Upstream agent rejected the API key (misconfigured HERMES_API_KEY on this server) |
| 404 | Unknown agent alias |
| 500 | HERMES_API_KEY not set on this server |
| 502 | Upstream unreachable (Funnel flap — retry) |
The browser never holds the API key. The chat app (e.g. Loomyloo-AI) calls this proxy; this proxy holds HERMES_API_KEY in its environment variables and forwards to the public Tailscale Funnel URL.