Some interesting AI agent harnesses

Recently I have been looking at AI coding agents like Oh My Pi, Tura and Prime Agent. One thing I realised is that the model is only one part of an agent.

A model by itself can only return text. To make it work on a repository, we need to give it tools, a loop to run those tools, some memory, permissions, and a place to safely run commands.

This part is called the agent harness.

An agent harness is the runtime around a model: tools, execution loop, context, memory, permissions, sandboxes, and subagent coordination.

Below are some harnesses I found interesting. This is not a ranking since I have not used all of them enough to compare them properly.

Oh My Pi

Oh My Pi, or OMP, is a fork of Pi with many more things built in. It has code tools, LSP and debugger support, persistent Python and Bun kernels, and support for many models.

It can also start child agents in separate contexts and worktrees. The parent can inspect or stop them, and memory can be added using different backends.

Prime Agent

Prime Agent uses a persistent Python REPL as the control layer. The agent writes Python to call tools, process results, and start other agents.

It also has a Continual Harness which can save and improve prompts, memories, skills, and subagent definitions after repeated tasks.

Tura

Most agents call one tool, send the result back to the model, and then ask what to do next. Tura tries to reduce some of these repeated calls.

Its command_run tool can send a graph of commands, patches, and tests in one go. The runtime runs the graph and returns to the model when needed. Tura is still new, and its benchmark numbers are published by the project itself, so I would not treat them as a final comparison yet.

More harnesses

DeepSeek Harness

DeepSeek Harness follows an “everything is a plugin” design. Even the agent loop, model adapter, tool registry, session log, sandbox, and UI can be replaced. It is MIT licensed but still in developer preview.

OpenHarness and ohmo

OpenHarness has tools, skills, hooks, permissions, memory, context compaction, and agent teams. ohmo is the personal assistant built on top of it.

Pydantic AI Harness

Pydantic AI Harness is useful if you want to build an agent in Python. Files, shell access, plans, subagents, memory, MCP, and sandboxes are added as typed capabilities. It can also ask another model for a second opinion using its Advisor capability.

Letta Code

Letta Code focuses on memory. Agents can update their own memory blocks, skills, and prompts. Its MemFS stores this state in Git, which makes it easier to inspect and move.

Hermes Agent

Hermes Agent can create skills after difficult tasks, search older conversations, run scheduled jobs, and delegate work to subagents. It also works through Slack, Telegram, Discord, and other chat applications.

OpenHuman

OpenHuman stores memory as a Markdown tree in SQLite and mirrors it to an Obsidian vault. It also has durable workflows and several levels of subagents. The project currently calls itself early beta.

Agent Zero

Agent Zero runs inside a Dockerized Linux desktop and gives the agent a browser, document editing, project memory, subagents, and plugins. This is closer to giving an agent a computer than only giving it coding tools.

OpenClaw

OpenClaw is a local gateway for a persistent assistant across chat applications and devices. State and credentials stay on the user's machine, while models and inner harnesses can be changed using plugins.

Harnesses for multiple agents

Gas Town

Gas Town manages other coding agents instead of providing another coding loop. Git worktrees and a Beads ledger keep tasks and history around even if an agent crashes or its session ends.

OpenHive

OpenHive has a persistent “Queen” agent which starts worker agents when needed. They share a plan and ledger, while the runtime handles crash recovery, cost limits, and human approvals.

qm

qm is built for a company. Each person and shared room can have separate memory, files, permissions, credentials, scheduled jobs, and a sandbox. It can run Pi, OpenCode, Codex, or Claude Code underneath.

GitHub Agentic Workflows

GitHub Agentic Workflows turns agents written in Markdown into GitHub Actions. Agent jobs are read-only by default. A separate safe-outputs job checks and applies any writes.

I like this approach since the model does not get direct write access while it is still deciding what to do.

Useful layers for existing agents

Trellis stores specs, PRDs, task state, checks, and project journals inside the repository. It then makes the same information available to different coding agents.

ROMA focuses on recursive planning. It breaks a problem into smaller branches, solves them in parallel, and delegates again if a branch is still too large.

The projects I want to spend more time with next are DeepSeek Harness, Letta Code, Gas Town, and GitHub Agentic Workflows. They are solving different problems, so it should be more useful than only comparing which model each one supports.

That's all for now. If I missed an interesting harness, send it to me.

Subscribe to Blog

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe