One-click Railway template for Hermes Agent. A web admin dashboard for provider/channel setup, gateway supervision, user pairing, and backup/restore, with the native Hermes UI proxied behind one login.
# Add to your Claude Code skills
git clone https://github.com/praveen-ks-2001/hermes-agent-templateGuides for using ai agents skills like hermes-agent-template.
Last scanned: 8/16/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-08-16T04:34:19.829Z",
"npmAuditRan": true,
"pipAuditRan": false,
"promptInjectionRan": true
}See how hermes-agent-template compares with popular alternatives.
hermes-agent-template is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by praveen-ks-2001. One-click Railway template for Hermes Agent. A web admin dashboard for provider/channel setup, gateway supervision, user pairing, and backup/restore, with the native Hermes UI proxied behind one login. It has 329 GitHub stars.
Yes. hermes-agent-template passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/praveen-ks-2001/hermes-agent-template" and add it to your Claude Code skills directory (see the Installation section above).
hermes-agent-template is primarily written in Python. It is open-source under praveen-ks-2001 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh hermes-agent-template against similar tools.
No comments yet. Be the first to share your thoughts!
From $49 · 30 days · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
Deploy Hermes Agent on Railway with a web-based admin dashboard for configuration, gateway management, and user pairing.
Hermes Agent is an autonomous AI agent by Nous Research that lives on your server, connects to your messaging channels (Telegram, Discord, Slack, etc.), and gets more capable the longer it runs.
For Dockhold, see the community template, maintained separately by the Dockhold team.
/setup to configure providers, channels, tools, and manage the gateway/, behind the same loginThe easiest way to get started:
For ChatGPT, deploy first, then select ChatGPT (OAuth) in Setup and authorize your account; no OpenAI API key is needed. For an API-key provider, OpenRouter offers free models:
google/gemma-3-1b-it:free, meta-llama/llama-3.1-8b-instruct:free)Hermes also has a browser Chat tab. To connect a messaging channel, Telegram is the quickest to set up:
/newbot, follow the prompts, and copy the Bot TokenADMIN_PASSWORD environment variable (or a random one will be generated and printed to deploy logs)/data (persists config across redeploys)admin and your passwordMessage your Telegram bot. If you're a new user, a pairing request will appear in the admin dashboard under Users — click Approve, and you're in.
| Variable | Default | Description |
|---|---|---|
PORT |
8080 |
Web server port (set automatically by Railway) |
ADMIN_USERNAME |
admin |
Login username |
ADMIN_PASSWORD |
(auto-generated) | Login password — if unset, a random password is printed to the deploy logs. Changing it redeploys the service, which signs everyone out. |
HERMES_REF |
(pinned in Dockerfile) | Development override for the Hermes Agent git ref. For production upgrades, use the matching template release branch so version-specific compatibility changes ship with it — see Updating Hermes. |
All other configuration (LLM provider, model, channels, tools) is managed through the admin dashboard.
Selectable from the setup wizard's dropdown:
ChatGPT (OAuth), OpenRouter, Anthropic (Claude), Google AI Studio, xAI (API key or SuperGrok OAuth), DeepSeek, Qwen Cloud (DashScope), GLM / Z.AI, Kimi, MiniMax (global and China), NVIDIA NIM, Fireworks AI, NovitaAI, Atlas Cloud, Arcee AI, Step Plan, GMI Cloud, Hugging Face, GitHub Copilot, OpenCode Zen, OpenCode Go, Kilo Code, Ollama Cloud, Actual Computer, AWS Bedrock, Azure Foundry, 9Router, OmniRoute, and any OpenAI-compatible Custom Endpoint.
9Router and OmniRoute are separately deployed routing gateways, not services bundled into this image. Select either one in the setup wizard and enter the gateway's reachable OpenAI-compatible /v1 URL, its endpoint API key, and a model or combo name. Both can remain configured at the same time; OmniRoute defaults the model field to its auto smart-routing alias.
Every other provider Hermes supports can still be configured from the Hermes Dashboard → Keys tab — the wizard covers the common ones, not the limit.
OpenCode Free: Hermes v2026.9.21 removed the anonymous
opencode-freeprovider because its upstream relay now rejects external anonymous clients. Use OpenCode Zen or OpenCode Go with the corresponding API key instead.
Select ChatGPT (OAuth) in /setup, click Connect ChatGPT, open the verification link and enter the one-time code. Return to Setup, choose a model from Hermes' list and click Confirm model. The ready message confirms your selection is saved; Save & Start then applies your other settings and starts Hermes. If device login is disabled, enable it in your ChatGPT security settings or ask your workspace administrator. Model access and usage limits depend on your account.
Hermes owns token storage and refresh under /data/.hermes/auth.json. Keep the persistent /data volume attached across redeploys. Tokens are included in unencrypted backups, so store backups securely. Do not copy the same authorization into concurrently running deployments: refresh tokens rotate. This connection does not import conversations from ChatGPT.
Setup manages the default profile. For named profiles and advanced credential pools, use Hermes Dashboard → Keys. Disconnect removes all saved Codex authorizations in the default profile, including its pool; named profiles borrowing that login must reconnect. Hermes briefly stops to clear in-memory credentials. If ChatGPT is the default provider, the gateway stays stopped until you reconnect or choose another provider. Chats, files, other API keys and independent named-profile credentials are kept.
Models selected in the native dashboard are preserved across gateway restarts and unrelated setup saves. If Setup reports that settings changed, reload the page before saving to avoid replacing newer configuration.
Telegram, Discord, Slack, WhatsApp, Email, Mattermost, Matrix
Parallel (search), Firecrawl (scraping), Keenable (search), Tavily (search), Perplexity (search), FAL (image gen), Browserbase, GitHub, OpenAI Voice (Whisper/TTS), Honcho (memory)
Build and startup utilities live in template_helpers/; server.py and start.sh are the application and entrypoint.
One container runs a single public process that fronts two managed Hermes subprocesses:
Railway Container
└── server.py — Starlette + Uvicorn on 0.0.0.0:$PORT (the only public surface)
├── /login, /logout — cookie login (7-day, httponly)
├── /health — health check (no auth)
├── /setup — this template's setup wizard
├── /setup/api/* — config, status, logs, gateway, pairing, backup, OAuth
├── / and /* — reverse-proxied to the native Hermes dashboard
│
├── hermes dashboard — native Hermes web UI, bound to 127.0.0.1:9119
└── hermes gateway — the agent itself (Telegram, Discord, …), auto-restarted
The Hermes dashboard is never exposed directly — it binds loopback and is reachable only through the proxy, so one login covers both UIs. The gateway is supervised: if it crashes or is OOM-killed, server.py restarts it with backoff, giving up only if it fails repeatedly (Railway would not restart it on its own, because server.py is still alive and healthy). If a config save or restore respawns the dashboard while Chat is open, the terminal connection retries automatically.
Hermes uses its managed Python runtime with SQLite 3.53.1, which includes the WAL-reset fix. The image also builds shared SQLite 3.53.4 for Debian's dynamically linked consumers. Build checks exercise session databases, WAL and FTS with the actual application interpreter.
Hermes can serve all live named profiles from this one gateway. The template's /setup page remains the default-pr