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>

What should work in the end

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.

Target architecture

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?