The fastest, cheapest, most efficient open-source agent harness. Run more than 500 agents on a $10 VPS.
A desktop app for people. A Rust library for developers.
[!NOTE]
🎉 Within one week of launch, OpenHuman became the number one trending repository on GitHub for nine days in a row.
Early beta. OpenHuman is under active development, so expect rough edges.
Install
The easiest way is to download the desktop app from tinyhumans.ai/openhuman or the latest release. There is a .dmg for macOS, an .msi or .exe for Windows, and a .deb or .AppImage for Linux.
Prefer the terminal? The install script picks the right package for your system, checks its checksum and installs it:
# macOS and Linux
curl -fsSL https://raw.githubusercontent.com/tinyhumansai/openhuman/main/scripts/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/tinyhumansai/openhuman/main/scripts/install.ps1 | iex
To preview what the macOS and Linux script would do, end the command with bash -s -- --dry-run. Other options and troubleshooting are in INSTALL.md.
Why OpenHuman?
Most agent harnesses run one heavy process per agent and resend a big prompt on every call. OpenHuman does the same work with far less. It is the only feature-rich open-source harness built for large fleets of agents: 500 of them fit on a $10 server.
Use it as a Rust library: call an agent like any other function, or run a whole fleet from one small server.
Same prompt, Same model, Same reasoning side by side: "Write me a story about agent harnesses in the form of an anime story, write it into an HTML page and open it for me." OpenHuman finished in 20s, using 15k tokens for $0.0054. Hermes took 9min 40s, using 37k tokens for $0.0082.
Major innovations
Most agent harnesses are a simple loop: send everything to the model, wait, repeat. That works for one agent, but it gets slow and expensive quickly, and it falls apart when you run hundreds.
OpenHuman rethinks the parts that cost the most: how much text the AI has to read, how it finds the right tool, how features load, and how much machine the whole thing needs. The six ideas below are where the speed and savings above come from. Each card links to the docs if you want the details.
Built on Recursive Language Models. Large tool results get compressed before the AI reads them. For very large ones, the AI gets a handle it can search instead of reading it all. Nothing is thrown away.
Every feature, like search, documents or voice, plugs into one Rust bus, an idea borrowed from the Linux system bus. A feature loads only when needed, and if one gets stuck, the rest keep working.
Memory comes built in. Before every turn, OpenHuman picks out only what matters, within a token budget, and hands it to the AI with citations. It works out of the box, and you can swap in a different memory engine with a setting.
The agent uses a real browser and your desktop apps. Jev picks each click from the buttons on screen, with no screenshots. It stops before any payment.
The whole harness is compiled Rust in one process, so it starts in a tenth of a second and stays light: 68 MB at peak on our coding tasks. The same core is a library. Call an agent from your own Rust code, or run hundreds of them side by side on one small server.
Benchmarks
We ran seven harnesses on the same SWE-bench tasks, with the same model, API key and container, and metered every call. The setup and results are public in openhuman-benchmarks, so anyone can rerun them. The latest run is swe-x86-1, with ten tasks.
OpenHuman finished its tasks in less than half the median time, using 2.6x fewer tokens and an eighth of the memory and CPU. It made 114 model calls where the others made 134 to 212, and its whole run cost 0.05wheretheotherscost0.08 to $0.35.
It wins by doing less work per step. The core is compiled Rust in a single process, not Node or Python, so it uses little memory and almost no CPU between model calls. It sends the smallest prompt of the seven, 4.6k tokens with its 20 tools included, so each call is cheaper and comes back faster (1.65 s median, also the fastest). It also needs fewer calls to reach an answer, which is where most of the savings come from.
Per solved task
OpenHuman (vs. median)
Median of the other six
Best of the other six
Wall time (p50)
19.8 s (2.3x faster)
46.5 s
28.4 s (OpenCode)
Tokens
167k (2.6x fewer)
435k
370k (Codex)
Cost
$0.0077 (-36%)
$0.012
$0.0077 (OpenCode, a tie)
Peak memory
68 MB (7.7x less)
523 MB
123 MB (Codex)
CPU time
1.3 s (8x less)
10.4 s
2.9 s (DeepSeek Harness)
System prompt
4.6k tokens (-40%)
7.7k
6.2k (DeepSeek Harness)
For users
If you use Claude Code, Codex, OpenClaw or Hermes, you already know the ideas: an agent loop with tools, MCP, skills, BYOK models and memory. OpenHuman has all of them, in a desktop app, a terminal app or a headless server.
Search engines and search agents: Exa and Gemini included, Brave, Tavily, Parallel and more with your own key, grounded answers with citations and Deep Research
Tools
Native tools: shell and coder, scraper, documents, image and video generation, cron
OpenHuman is a library-first harness. Add it to your Rust project and call an agent like any other function, with no sidecar or daemon to run. One runtime can hold hundreds of agents, each with its own model, tools, memory and sandbox. 500 of them fit on a $10 VPS, so a product with one agent per customer can start without a cluster.
use openhuman_embed::{Access, Harness, Provider, Workspace};
let agent = Harness::builder()
.provider(Provider::openai_compatible("https://api.openai.com/v1", "sk-...").model("gpt-5"))
.workspace(Workspace::Ephemeral)
.access(Access::readonly())
.build()
.await?;
let reply = agent.run("Summarize what you can see in this directory.").await?;
println!("{}", reply.reply);
Here is OpenHuman next to the harnesses most people already use. The top four rows come from our public benchmark: ten SWE-bench coding tasks, with the same model and container for every harness. Each number is per solved task. The rest compare features.
In short, the others are great for one person working with one agent. OpenHuman does that too, and it is also the open-source option you can embed as a library and scale to a fleet. Products change quickly, so check each project before you decide.
Install Git, Node.js 24+, pnpm 10.10.0, Rust 1.99.1 (with rustfmt and clippy), CMake, Ninja, ripgrep, and your platform’s desktop build prerequisites.
Fork and clone the repo. Run git submodule update --init --recursive, then pnpm install.
Run pnpm dev for UI work or pnpm dev:app for the desktop app. Before you open a PR, run pnpm typecheck, pnpm format:check and cargo check --manifest-path Cargo.toml.
OpenHuman
The fastest, cheapest, most efficient open-source agent harness. Run more than 500 agents on a $10 VPS.
A desktop app for people. A Rust library for developers.
Docs · Rust quickstart · Benchmarks · Discussions · Discord · Reddit · X · @senamakel (creator)
English | العربية | 简体中文 | 日本語 | 한국어 | Deutsch | Türkçe | اردو
Install
The easiest way is to download the desktop app from tinyhumans.ai/openhuman or the latest release. There is a
.dmgfor macOS, an.msior.exefor Windows, and a.debor.AppImagefor Linux.Prefer the terminal? The install script picks the right package for your system, checks its checksum and installs it:
To preview what the macOS and Linux script would do, end the command with
bash -s -- --dry-run. Other options and troubleshooting are in INSTALL.md.Why OpenHuman?
Most agent harnesses run one heavy process per agent and resend a big prompt on every call. OpenHuman does the same work with far less. It is the only feature-rich open-source harness built for large fleets of agents: 500 of them fit on a $10 server.
Fast
Benchmark results · Cold-start numbers
Finishes coding tasks in about 20 seconds, the fastest of seven AI agent tools we tested. Starts up in a tenth of a second.
Cheap
Cost and token data · How compression works
Uses 2.6x fewer tokens than the typical agent tool, and had the lowest total bill in our test.
Efficient at scale
Fleet measurements · Methodology
Uses about 8x less memory and CPU than the typical agent tool. Run more than 500 agents on a $10 server.
Built for developers
Rust quickstart · Embedding guide · Examples
Use it as a Rust library: call an agent like any other function, or run a whole fleet from one small server.
Same prompt, Same model, Same reasoning side by side: "Write me a story about agent harnesses in the form of an anime story, write it into an HTML page and open it for me." OpenHuman finished in 20s, using 15k tokens for $0.0054. Hermes took 9min 40s, using 37k tokens for $0.0082.
Major innovations
Most agent harnesses are a simple loop: send everything to the model, wait, repeat. That works for one agent, but it gets slow and expensive quickly, and it falls apart when you run hundreds.
OpenHuman rethinks the parts that cost the most: how much text the AI has to read, how it finds the right tool, how features load, and how much machine the whole thing needs. The six ideas below are where the speed and savings above come from. Each card links to the docs if you want the details.
RLM token compression
RLM paper · How it works
Built on Recursive Language Models. Large tool results get compressed before the AI reads them. For very large ones, the AI gets a handle it can search instead of reading it all. Nothing is thrown away.
Jev: instant, accurate tool search
Jev · The measurements
Jev is a tiny model that finds the right tool out of 1,215. The right one is in its top picks 86.8% of the time, against 70.5% for keyword search.
Unified Rust bus
How plug-ins work
Every feature, like search, documents or voice, plugs into one Rust bus, an idea borrowed from the Linux system bus. A feature loads only when needed, and if one gets stuck, the rest keep working.
Deeply integrated memory
How memory works · Memory engines
Memory comes built in. Before every turn, OpenHuman picks out only what matters, within a token budget, and hands it to the AI with citations. It works out of the box, and you can swap in a different memory engine with a setting.
Instant browser and desktop control
Browser and computer control · Jev
The agent uses a real browser and your desktop apps. Jev picks each click from the buttons on screen, with no screenshots. It stops before any payment.
A programmable Rust core
Rust quickstart · Performance
The whole harness is compiled Rust in one process, so it starts in a tenth of a second and stays light: 68 MB at peak on our coding tasks. The same core is a library. Call an agent from your own Rust code, or run hundreds of them side by side on one small server.
Benchmarks
We ran seven harnesses on the same SWE-bench tasks, with the same model, API key and container, and metered every call. The setup and results are public in openhuman-benchmarks, so anyone can rerun them. The latest run is
swe-x86-1, with ten tasks.OpenHuman finished its tasks in less than half the median time, using 2.6x fewer tokens and an eighth of the memory and CPU. It made 114 model calls where the others made 134 to 212, and its whole run cost 0.05wheretheotherscost0.08 to $0.35.
It wins by doing less work per step. The core is compiled Rust in a single process, not Node or Python, so it uses little memory and almost no CPU between model calls. It sends the smallest prompt of the seven, 4.6k tokens with its 20 tools included, so each call is cheaper and comes back faster (1.65 s median, also the fastest). It also needs fewer calls to reach an answer, which is where most of the savings come from.
For users
If you use Claude Code, Codex, OpenClaw or Hermes, you already know the ideas: an agent loop with tools, MCP, skills, BYOK models and memory. OpenHuman has all of them, in a desktop app, a terminal app or a headless server.
Start with Getting started or the guides.
For developers
OpenHuman is a library-first harness. Add it to your Rust project and call an agent like any other function, with no sidecar or daemon to run. One runtime can hold hundreds of agents, each with its own model, tools, memory and sandbox. 500 of them fit on a $10 VPS, so a product with one agent per customer can start without a cluster.
Next: the Rust quickstart, the embedding guide and the developer docs.
How it compares?
Here is OpenHuman next to the harnesses most people already use. The top four rows come from our public benchmark: ten SWE-bench coding tasks, with the same model and container for every harness. Each number is per solved task. The rest compare features.
In short, the others are great for one person working with one agent. OpenHuman does that too, and it is also the open-source option you can embed as a library and scale to a fleet. Products change quickly, so check each project before you decide.
Contributing
Read
CONTRIBUTING.md, or let an AI coding agent guide you with this prompt.rustfmtandclippy), CMake, Ninja, ripgrep, and your platform’s desktop build prerequisites.git submodule update --init --recursive, thenpnpm install.pnpm devfor UI work orpnpm dev:appfor the desktop app. Before you open a PR, runpnpm typecheck,pnpm format:checkandcargo check --manifest-path Cargo.toml.More in Getting set up,
AGENTS.mdand the crates overview. Many parts of OpenHuman live in their own repos undervendor/, and they welcome contributions too.Contributors get free merch and special access on Discord.
Star history
Contributors