What problem does it solve?
It solves the Render Free “hibernation after inactivity” problem for Hermes Agent by keeping the service awake with a lightweight health server and periodic external pings.
Core Features & Use Cases
- Render Free 24/7 uptime: Runs a stdlib-only HTTP health server that returns uptime via GET requests so the app is considered active.
- Reliable health endpoint contract: Exposes predictable responses like
ok | uptime: Xh Ym Zs (and optional JSON) on / and /health.
- Anti-configuration pitfalls for providers: Prevents request spam/timeouts by enforcing a single LLM provider (e.g., OpenCode Zen) and explicitly disabling/removing leftover provider secrets (such as OpenRouter) from the Render environment.
- Operational deployment workflow: Includes Dockerfile, Render Blueprint
render.yaml, and entrypoint logic to apply the optimized Hermes config.yaml on every start (avoids stale persisted configs).
Quick Start
Deploy this setup to Render Free by creating a Blueprint from render.yaml, setting only the required environment secrets for Telegram (and the single provider key), and ensuring the health server is reachable at GET / from a scheduled Google Apps Script trigger every 5 minutes.