tinyhumansai /
openhuman
Rust agent harness with a desktop app, terminal client and embeddable library
- 42.2k stars
- 1.8k stars since 3 Oct
- Rust
- Updated today
- Some experience
- AI agents
OpenHuman is an agent harness: the layer that runs an AI agent, gives it tools, memory and search, and keeps track of conversations. Its core is written in Rust and runs in the same process as the app, not as a separate background service. The same core backs a Tauri desktop app (Windows, macOS, Linux), a browser UI, a terminal client and a Rust library called openhuman-embed.
Almost every engine is chosen by config. LLMs can be Ollama, LM Studio, MLX, any OpenAI-compatible server, Claude Code, or 26 bring-your-own-key providers. Memory defaults to a local store mirrored as an Obsidian vault, and can be switched to Mem0, Supermemory and others. Web search can be managed or your own Brave, Exa, Tavily or SearXNG. Cargo feature flags let you compile out parts you don't need.
The README compares it with Claude Cowork, OpenClaw and Hermes Agent, and with n8n and Zapier for workflows. Its stated differences are low memory per agent, persistent memory of your data, and workflows the agent drafts for you to review. It is early beta and GPL-3.0. The performance and accuracy figures are the authors' own benchmarks, and some features need a TinyHumans account or API key.
What it does
Many agents in one process
The README reports about 1.8 MiB of extra memory per added agent when running 500 agents in one process. It also reports a 102 ms cold agent turn and a slim build of about 42 MiB RSS.
Swap LLM, memory and search by config
Choose local or hosted models, an embeddings route, a memory engine and a search provider in settings. Memory engines can be switched on a live install, and existing memories can be copied across.
Jev decision model
A small model that scores a fixed set of options instead of writing text. The README says it raised correct tool selection from 22.5% with BM25 to 62.0% on its own 160-request test, and it falls back to BM25 without a TinyHumans credential.
Workflows the agent drafts
Saved automation graphs with 22 node kinds, triggered by schedule, app event or by hand. The agent proposes the graph and you review it on a canvas before saving.
Embeddable Rust library
openhuman-embed lets one Runtime host several agents, each with its own provider, access level, working directory, MCP servers, skills and sandbox.
What you could build
- Run a personal desktop AI assistant that keeps a local, Obsidian-readable memory of your data.
- Embed several sandboxed agents, such as a read-only reviewer and a fixer, inside your own Rust product.
- Point an agent at local models through Ollama or LM Studio instead of a hosted API.
- Describe an automation in plain words and review the workflow graph the agent drafts.
- Pack many lightweight agents into one process and compare memory use against other harnesses.
Get started
Download an installer from tinyhumans.ai/openhuman or the GitHub Releases page. For Homebrew, .deb, AUR or install scripts, follow INSTALL.md. The README gives no install commands directly.
Commands are copied from the project's README. Read it on GitHub for the full setup.