# The Hermes Agent

MIRARI is built around a first-class concept called the **Hermes Agent**.

In the project, "Hermes Agent" refers to any **OpenAI-compatible LLM endpoint** that you bind to MIRARI as the brain of your agent. The name is a nod to the **Hermes family of open models** (from Nous Research) — agentic, tool-use friendly, neutrally aligned LLMs that ship with an OpenAI-compatible API surface. But the concept is broader than any single model:

* A locally-hosted **Hermes 3** or **Hermes 4** running under llama.cpp, vLLM, or Ollama.
* **OpenRouter** with any model id.
* **Nous-hosted** inference endpoints.
* Any **custom** server that speaks `POST /v1/chat/completions` and returns OpenAI-style JSON.

If it accepts an `Authorization: Bearer <key>` header and `messages: [...]` body, MIRARI can bind it.

***

## Why "Hermes"?

Hermes is the messenger — the agent that travels between worlds and carries meaning back. MIRARI uses "Hermes Agent" as the project's name for *the bound model instance you are growing*. The mirror reflects Hermes; Hermes carries what the mirror saw into the next conversation.

In the UI you will see:

* **Bind Hermes** — the action that creates an `agent_connections` record.
* **Hermes · Local** — a preset for `http://localhost:11434/v1` style endpoints.
* **Hermes · Cloud** — a preset for hosted Hermes-family endpoints.

You are not locked into the Hermes model family. The label simply means *"this is your agent."*

***

## What the Hermes Agent contract looks like

MIRARI talks to your bound agent through a single function: `chatCompletion`. The minimum contract:

```ts
// Request
POST {base_url}/chat/completions
Authorization: Bearer <your_key>      // stored only in your browser
Content-Type: application/json

{
  "model": "hermes-3-llama-3.1-70b",
  "messages": [
    { "role": "system", "content": "..." },
    { "role": "user",   "content": "..." }
  ],
  "temperature": 0.7
}

// Response (OpenAI-shaped)
{
  "choices": [{ "message": { "role": "assistant", "content": "..." } }]
}
```

Anything that conforms to this contract is a valid Hermes Agent.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://entermirari.gitbook.io/entermirari-docs/getting-started/hermes-agent.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
