Agent harness · Local · Open-core

An agent harness you run, not a framework you assemble.

Fix it once, everywhere.

An agent harness is the runtime around a model that makes it an agent: the loop, the tools, the memory, the sandbox and the rules. Frameworks hand you those as primitives and leave the wiring to you. Vodou is an agent harness that is already wired and runs on your machine: unlimited SKILL.md skills whose steps the model cannot skip, an MCP client to any server you add and a host that Claude Desktop, Cursor and Zed attach to, a kanban board of memory-loaded workers under budgets and approval gates, four hooks for Claude Code and Cursor, and typed local APIs. Bring any model provider; extend it in markdown before code.

Apache-2.0 gateway, skills, serversMCP client + hostmacOS · Windows · Linux60-day free trial
TL;DR
  • Vodou is an agent harness for macOS, Windows and Linux; a free Vodou account licenses the engine, and the gateway, the bundled skills, the extension and the MCP servers are Apache-2.0 on GitHub.
  • Vodou executes skills deterministically: each SKILL.md carries inline AGENT_ACTIONS that the workflow driver runs step by step, so the model formats results instead of deciding whether a tool is called.
  • Vodou is an MCP client to unlimited MCP servers and an MCP host: Claude Desktop, Cursor, VS Code, Windsurf and Zed attach over stdio or loopback HTTP on 127.0.0.1:8787, each with its own token, vault and rate limit.
  • Vodou's kanban board runs agents as workers — driven from the CLI, a REST API or MCP tools — with per-task budgets in dollars, tokens and seconds and approval gates that reach Slack or Discord.
Definition

What is an agent harness?

An agent harness — Wikipedia's synonym is "agent scaffolding" — is the software infrastructure around a large language model that lets it operate as an agent: tool dispatch, memory and state persistence, an execution environment, context management and guardrails. The formula is agent = model + harness. Vodou is a harness that ships assembled, with skills, MCP, workers and hooks already connected.

Wikipedia's definition (last edited 12 Sep 2026):

"the software infrastructure surrounding a large language model (LLM) that enables it to operate as an AI agent. It manages tool use, memory, state persistence, execution environments and feedback loops, as opposed to the model's internal reasoning."

A source-code study of eleven production harnesses (arXiv 2609.00006, Jul 2026) found none of them imports a general-purpose agent framework — they run "hand-rolled async loops and deterministic retrieval" — and that skills have overtaken MCP in adoption (9 of 11 vs 8 of 11).

Vodou is built the same way, as a product rather than a library. It needs a free Vodou account so the engine can be licensed to you; the runtime then binds only to localhost and keeps its memory in SQLite on your disk. It is the harness Greg Isenberg described on X in September 2026 — "Runs the model in a loop… Gives it hands… Manages its memory… Enforces the rules about what it can touch and when it has to stop and ask a human" — shipped as an installed binary plus an Apache-2.0 gateway you can read and fork.

The problem

What is the difference between an agent harness and an agent framework?

A framework gives you primitives — nodes, edges, state, a tool-calling loop — and you write the control flow, the memory layer, the approvals and the sandbox yourself. A harness is the finished runtime: the loop already works, memory persists, side effects stop for approval. LangGraph and Deep Agents are frameworks and a library; Vodou is a harness you install, then extend with SKILL.md files, MCP servers and hooks instead of application code.

01

Frameworks stop at the loop

Memory, approvals, budgets, crash recovery and channel delivery are yours to build. Vodou ships them: a dispatcher that reclaims stale tasks, kills a runaway worker and posts an approval button to Slack.

02

Every agent re-implements the same plumbing

The eleven-harness study found the field converging on the same hand-rolled subsystems. Vodou implements them once, behind a CLI, a REST API and MCP tools.

03

The model decides whether to call your tool

And sometimes doesn't. Vodou's AGENT_ACTIONS run deterministically; the model formats the result, it does not vote on whether the step happens.

How it works

How does Vodou work as an agent harness?

Vodou wraps any model in a runtime that routes deterministically, executes skills and MCP tools step by step, runs long tasks as budgeted workers, and feeds every outcome back into local memory.

  1. STEP 1

    Route, then reason.

    A request hits intent mappings for every skill and tool before any model is called; a matched skill wins over a tool, a tool over a bare completion. No match → the model plans, and the plan is compiled into a dependency graph.

    Deep dive: AI orchestration

  2. STEP 2

    Execute skills the model cannot skip.

    A skill is a SKILL.md file with frontmatter and inline AGENT_ACTIONS JSON — template variables, loop, capture, stopping points where the run waits for a human. The workflow driver executes the steps; the model formats what came back. skill install pulls more from a sha256-pinned catalog.

    Deep dive: Skills

  3. STEP 3

    Reach tools through MCP, both ways.

    As a client, Vodou pools connections to every MCP server you add and dispatches independent calls concurrently. As a host, vodou-core mcp install cursor lets Cursor, Claude Desktop, VS Code, Windsurf or Zed attach over stdio or loopback HTTP 127.0.0.1:8787, each with its own token, vault and rate limit, plus a 30-day egress audit.

    Deep dive: MCP gateway

  4. STEP 4

    Run long work as workers, under rules.

    ./do board create puts a task on the kanban board; the dispatcher claims at most three at a time, spawns a worker with the top memory matches in its prompt, enforces USD, token and runtime budgets, stops at approval gates and posts the button to Slack or Discord. Four hooks do the same for Claude Code and Cursor over a Unix socket. Worker processes are opt-in: set VODOU_BOARD_REAL_SPAWN=1, and until then the board claims and plans tasks as a visible dry run.

    Deep dive: Automation · Claude Code memory

Surfaces

Where does Vodou work?

Vodou's harness works everywhere you talk to an AI: in the browser on 22 AI chat sites through the Vodou Bridge Chrome extension, in Claude Code, Cursor and Codex through hooks, in Claude Desktop, VS Code, Windsurf, Zed and any MCP client through the MCP host, in Slack, Telegram, WhatsApp and every other messaging channel you connect, in the Vodou Console web chat, from the command line, and through an OpenAI-compatible API on your machine.

SURFACEHOW MEMORY GETS THEREREADSWRITESNOTES
Browser — 22 AI chat sites
ChatGPT, Claude, Gemini, AI Studio, Grok, Perplexity, DeepSeek, Copilot, Le Chat, Qwen, Kimi, Z.ai, T3 Chat, OpenRouter, Poe, Meta AI, Manus, You.com, Duck.ai, NotebookLM, HuggingChat, Character.AI
Vodou Bridge extension: Ctrl+B injects into the chat box; capture is automatic per siteChrome Web Store · 35 host patterns · the panel prompts you to install Vodou if it isn't running · Browser extension
Browser — any text box on any page
Ctrl+Shift+B visible insert; “Fill this form from Vodou” (never submits)opt-in per siteSame extension · Browser extension
Claude Code
Four hooks: SessionStart, UserPromptSubmit, PostToolUse guard, SessionEnd extraction; plus a generated MEMORY.md in the workspaceClaude Code memory
Cursor
Same hook binary via .cursor/hooks.json, written by the installerClaude Code memory
Codex
in Cursor / VS Code, Agent Mode
Hooks + MCP
Claude Desktop, VS Code, Windsurf, Zed, any MCP client
Vodou MCP host: vodou-core mcp install <client>; stdio or loopback HTTP 127.0.0.1:8787; per-client token + vault✓ (vault-scoped)MCP gateway
Any agent that speaks MCP
Vodou-Recall tools: search_memory, memory_store, memory_correct, memory_reject, memory_pin, memory_get, get_current_workPlus feed tools that trigger automations
Messaging — Slack, Telegram, Discord, WhatsApp, iMessage, Signal, Microsoft Teams, Google Chat, voice, web and more
Built-in channels plus any channel you install; same assistant, same memory; approvals reach every channelWhatsApp: only threads you start, only your own messages
Vodou Console
localhost:8765
Web chat with memory injected every turn; Memory tab; Brain map; correct / reject / pin / undo; Projects; BoardThe inspect-and-fix surface
Terminal — ./do, vodou-core mem
mem search, mem why, mem pin, mem correct, mem import, mem vaultA full, documented CLI
Vodou CLI (TUI)
vodou from any directory: the same chat loop in your terminal, memory includedvodou -p “…” one-shot
OpenAI-compatible API
/v1/chat/completions on 127.0.0.1:8765
Point any OpenAI-format client or app at Vodou and it answers with memory, skills and toolsStreaming supported
Core HTTP API
127.0.0.1:8766
/api/v2/memory/recall and the rest of a typed local API; TypeScript SDKBearer token, local only
Kanban board workers
Each spawned agent gets the top memory matches in its promptAutomation
Scheduler, automations, Skill Consoles
Scheduled and event-triggered runs execute with the same memoryAutomation
Imports (one-way in)
ChatGPT, Claude, Obsidian, OpenClaw, Hermes, Letta, Vodou packFacts keep an import:<source> label
Local models and any hosted provider
Ollama, LM Studio, bundled llama.cpp
Whichever model answers, it reads the same memoryThe model changes. Your memory doesn't.
reads or writes the same local memory one direction only
Capabilities

What can you do with Vodou's agent harness?

01

Skills as SKILL.md, with steps the model cannot skip

Unlimited skills — install or write your own; AGENT_ACTIONS with loop, capture and stream_progress; forced stopping points; Skill Consoles minted at runtime with their own tab and cron.

Deep dive: Skills

02

An MCP host for Claude Desktop, Cursor and Zed

vodou-core mcp install <client>; per-client token, vault and rate limit; 30-day salted audit log.

Deep dive: MCP gateway

03

Board workers with budgets and approval gates

CLI, REST and MCP tools; concurrency ceiling 3; budgets in USD, tokens and seconds; approvals in Slack and Discord.

Deep dive: Automation

04

Hooks for Claude Code, Cursor and Codex

SessionStart, UserPromptSubmit, PostToolUse guard, SessionEnd; the installer writes .claude/settings.json and .cursor/hooks.json.

Deep dive: Claude Code memory

05

Workflows with derived parallelism

Independent steps move into a together: block automatically; joins record “2 of 3 settled” and continue when a branch dies.

06

Typed local APIs

/v1/chat/completions on 127.0.0.1:8765; a typed local API on :8766 with a TypeScript SDK; Enhanced Thinking and Scripts as MCP servers.

ProofCounted Sep 2026
Unlimited
skills — install from a sha256-pinned catalog or write your own · intent mappings for every skill.
Unlimited
MCP servers as a client — add any server · 1 MCP host on 127.0.0.1:8787 (stdio + HTTP) · intent mappings for every tool.
CLI · REST · MCP
ways to drive the board · concurrency ceiling 3 · budgets in USD, tokens, seconds.
4
hooks for Claude Code and Cursor · under-500 KB zero-thread hook binary · a typed local API.
Apache-2.0
gateway, skills, extension, MCP servers (GitHub VodouAI/OS); engine proprietary. GitHub
The biggest benefit of Vodou is capacity. I can manage more complex work at once without spending so much time coordinating between different tools.
Adam R. · Fractional COO

Sources Greg Isenberg on X, 13 Sep 2026 · Wikipedia: Agent harness · arXiv 2609.00006: Harness Engineering — A Source-Code Study of Eleven Systems · Model Context Protocol specification · Agent Skills open format (agentskills.io) · Vodou docs: skills.md · Vodou docs: mcp-host.md · Vodou docs: kanban-board.md · Vodou docs: claude-code-hooks.md

Comparison

How does Vodou compare to OpenClaw, Hermes Agent, Pi and LangChain Deep Agents?

OpenClaw and Hermes Agent are MIT-licensed harnesses with long built-in channel lists; both serve MCP to other clients, and Hermes runs a kanban board of workers and writes its own skills. Pi is a minimal, hackable coding harness; Deep Agents is a library you assemble into one. Vodou's difference is what ships wired: deterministic AGENT_ACTIONS, per-client tokens, vaults and rate limits on its MCP host, USD budgets on workers, and Claude Code and Cursor hooks. Vodou's engine is proprietary.

Scroll the table sideways to see all 5 columns
CAPABILITY
VODOU
public alpha
OPENCLAW
MIT
HERMES AGENT
Nous Research, MIT
PI
MIT
LANGCHAIN DEEP AGENTS
library, MIT
ShapeInstalled harness + Apache-2.0 gatewayInstalled assistant + gatewayInstalled agent + gatewayCoding agent CLI + toolkitPython and JS library; Deep Agents Code CLI
ModelsAny model provider + Ollama, LM Studio, llama.cppHosted, subscription-backed, gateway or local300+ via Nous Portal; OpenRouter, OpenAI, custom endpoints30+ providers + llama.cppAny LangChain model (Anthropic, OpenAI, Google…)
SkillsSKILL.md + deterministic AGENT_ACTIONS; unlimitedCommunity skills, ClawHub; writes its ownWrites and improves its own; agentskills.io compatibleAgent Skills (SKILL.md) + TypeScript extensionsSKILL.md, Agent Skills standard
MCP clientUnlimited servers, pooledYes — openclaw mcp add, MCPorter“Connect to any MCP server”None by design — add via an extensionAny MCP server as tools
MCP host (other clients attach)Yes — token, vault, rate limit per clientYes — openclaw mcp serve (stdio, conversation bridge)Yes — hermes mcp serve (stdio, messaging tools)NoNot in the library
Long-running workersBoard: CLI, REST, MCP; budgets, approvals, crash reclaimBackground tasks, sub-agents, cron automations, webhooksKanban board: dispatcher, iteration budgets, crash reclaim, review; cronNone built in (no sub-agents; use tmux)Subagents via task tool; LangGraph durable execution
Approval gatesYes, buttons in Slack/DiscordExec approvals: macOS app, Slack/Discord/Telegram, /approveDangerous-command approval in chat (once/session/always/deny)None built in (“no permission popups”)Approve, edit or reject tool calls (LangGraph interrupts)
Coding-agent hooksClaude Code, Cursor, Codex— (runs ACP coding agents instead)Is itself a coding agent— (ships its own coding CLI)
Messaging channelsUnlimited (installable)2920+ (Telegram, Discord, Slack, WhatsApp, Signal, Teams, Email, SMS…)
MemoryLocal SQLite, FTS5 + vector + reranker, provenance, correct/undoMarkdown MEMORY.md + SQLite hybrid index; provenance, deletionAgent-curated memory + FTS5 cross-session recallAGENTS.md / CLAUDE.md context files; JSONL sessionsAGENTS.md via memory; pluggable stores
Sandbox / isolationFail-closed permission engine; loopback onlyDocker/Podman sandbox (off by default); tool policy7 backends: local, Docker, SSH, Singularity, Modal, Daytona, Vercel SandboxNone built in; run in a containerPluggable sandbox backends; QuickJS eval
LicenseOpen-core (engine proprietary)MITMITMITMIT
Runs whereYour machine; macOS, Windows, LinuxMac, Windows, Linux; iOS and Android apps“$5 VPS, GPU cluster, or serverless”; Linux, macOS, WSL2, Windows, TermuxYour machine (npm); Windows, TermuxWherever your Python or JS runs
Price$10/mo BYOK; 60-day trialFree, “no paid version”FreeFreeFree
FAQ

Frequently asked questions about agent harnesses

Which agent harness is best?

For coding, the eleven-harness source study names Claude Code, Codex CLI, OpenCode and Pi; for a chat assistant, OpenClaw and Hermes Agent lead on channels, and Letta if memory is the primary problem. Vodou fits when you want the harness between your tools: an MCP host Cursor and Claude Desktop attach to, deterministic skills, budgeted workers and Claude Code hooks, on your machine. Vodou is a public alpha; test it free for 60 days.

What is the difference between an agent harness and an agent framework?

A framework (LangGraph, the Claude Agent SDK) gives you primitives and you write the control flow, memory and approvals. A harness is the finished runtime where the loop, memory, sandbox and approval gates already work. Vodou is a harness: install it on macOS, Windows or Linux, then extend it with SKILL.md files, MCP servers and hooks rather than application code. Deep Agents sits between — a library that assembles into a harness.

Is an AI agent the same as a harness?

No. An agent is a model plus a harness. The model produces reasoning and text; the harness runs the loop, dispatches tools, persists memory and state, and enforces guardrails. In Vodou any model from any provider can be the reasoning; Vodou supplies the harness — unlimited skills, unlimited MCP servers, the board and the hooks — so switching the model does not change how the agent behaves.

Is OpenClaw an agent harness?

Yes. OpenClaw runs a model in a loop on your machine, gives it skills and persistent memory, and connects it to 29 chat channels — a harness for a personal assistant. Vodou's centre of gravity is different: an MCP host other clients attach to, deterministic AGENT_ACTIONS, a kanban board of budgeted workers, and hooks into Claude Code and Cursor. Vodou can also import OpenClaw memory.

What is an agent harness made up of?

Five parts recur in every definition: a loop, tool dispatch, memory and state persistence, an execution environment, and guardrails. In Vodou those are the workflow driver and dispatcher; any MCP server you add plus a skill library you can extend; a local SQLite memory with provenance; a loopback-only runtime with a fail-closed permission engine; and approval gates, budgets and a 30-day egress audit.

Is there an open source agent harness?

Yes — OpenClaw, Hermes Agent, Pi and UniHarness are MIT-licensed; LangChain Deep Agents is an open library. Vodou is open-core: the gateway, every bundled skill, the Vodou Bridge extension and every MCP server are Apache-2.0 at github.com/VodouAI/OS. The Rust engine that does routing and memory is proprietary and free to use with an account.

What is agent harness engineering?

Agent harness engineering is designing the runtime around a model — loop, tools, context, memory, safety and extension surfaces — rather than the model itself; the arXiv survey of eleven harnesses dates the discipline to early 2026. Vodou's choices are visible in its Apache-2.0 gateway: deterministic routing before inference, skills as data the model cannot skip, and approvals delivered to whichever channel the person is in.

What is the difference between an agent harness and MCP?

MCP is a protocol for connecting a model to tools and data; a harness is the runtime that uses it, alongside memory, a loop and rules. Vodou uses MCP both ways — as a client to any MCP server you add and as a host on 127.0.0.1:8787 for Claude Desktop, Cursor, VS Code, Windsurf and Zed — and adds what MCP does not define: memory, budgets, approvals, scheduling and skills.

Get started

Stop assembling the harness.

Install Vodou, point your MCP clients and coding agents at it, and ship skills in markdown. The gateway is Apache-2.0; the trial is 60 days, no credit card.

Updated