Skip to content

The harness

When you ask your agent something, the work is done by the harness: the AI runtime that ships with every agent and runs on your machine, next to the agent. A conversation in the workspace, building a mission and running one all run on it.

There is nothing to write first — no prompts, no MCP servers, no skill files, no instruction files. In a conversation you just say what you need. What the harness can reach is what you give it as memories — your documents, an API, another agent — and when a piece of work must be done the same way every time, you give it a mission.

  1. You ask in the workspace. Your browser encrypts the message for your agent, so nothing between them can read it.
  2. The agent checks who you are and that your policy allows the request, then starts a turn of the harness.
  3. The harness works in a loop. It asks the model what to do next, searches a memory or carries out a step, reads the result and asks again — until it has the answer. In the workspace you can follow it as it happens: which memory it searched, and what it found there.
  4. Every model call goes through the agent to the router. The harness never holds a provider key. The router does, and it is the only part that talks to the provider.
  5. The answer comes back to your browser, encrypted end to end.

Content leaves your machines only for the parties you chose: the model provider, with what goes into a model call, and another agent, when you ask one.

WhereOn the same machine as the agent. The agent starts it for each turn — it is not a separate service to run or look after.
The program~/.heia/runtime/harness/hexaeight-engine, installed and updated together with the agent.
The sandboxEvery turn runs inside one — bubblewrap on Linux, sandbox-exec on macOS — with the agent’s licence and identity files hidden, so nothing a turn does, or starts, can read them.
The modelReached only through the agent and the router. There is no model key on the agent’s side.
SearchA small search service keeps memory search fast. It runs on the CPU — no GPU needed — and stops by itself when the agent stops.

Everything the harness keeps lives in ~/.hexaeight-harness:

MemoriesEach is a searchable body of documents, or a way to reach an API or another agent.
MissionsEach mission’s map, cards and files.
ConversationsEach conversation’s record, so it carries on where it left off, and its own working folder, so the files of one conversation never appear in another.
  • Search your memories — this is how it reaches any information at all.
  • Ask another agent — through the connect-to-agent memory, by the agent’s name, encrypted end to end. See Two agents talking to each other.
  • Run commands, only as allowed.
    • A mission runs only the commands sealed with it — anything else is refused.
    • On Machines, every command waits for your approval.
    • In a conversation, a command that is not already allowed waits for your approval, and so does the first use of the web.

The harness is what every agent starts with, not the only choice. A framework you already use — CrewAI, LangGraph, Pydantic AI or Agno — can run as a sealed mission on the same harness, with the same identity, memories and policy. Or you can plug in a program of your own. See Frameworks and Bring your own engine.