Status: 2026-09-01
Goal: Make an existing Hermes Agent available externally via a public, OpenAI-compatible API in addition to chat or the dashboard.
<aside> ⚠️
A publicly reachable Hermes API server is powerful. Depending on enabled tools, the agent may read and write files, run shell commands, access the web, operate Notion, or spawn other agents. Never expose it without bearer authentication, and never put the bearer token into a browser frontend.
</aside>
An external client should be able to connect to Hermes at:
<https://hermes-api.example.com/v1>
and send, for example, a Chat Completions request:
POST /v1/chat/completions
Authorization: Bearer <API_SERVER_KEY>
Content-Type: application/json
For the client, Hermes behaves like an OpenAI-compatible backend. Behind that model name, however, is not just text generation. It is a full agent with its configured model, toolsets, skills, memory, and gateway context.
Recommended separation:
| Purpose | Example URL | Internal port |
|---|---|---|
| Hermes Dashboard | https://hermes.example.com |
4860 |
| Hermes API Server | https://hermes-api.example.com/v1 |
8642 |
Why separate them?
/v1/* does not accidentally hit the dashboard login.