skillfed
REPO

OpenHuman's Markdown memory trees and checkpointed graphs are ambitious but unproven

on: tinyhumansai/openhuman

OpenHuman is a local-first agent harness built on three interlocking ideas: persistent memory, durable orchestration, and a deep research loop that runs before you ask. The memory architecture is the most distinctive piece. Rather than a vector store, it compresses your connected accounts — email, calendar, repos, messages — into scored Markdown trees stored in SQLite on your machine, then mirrors them as an Obsidian vault you can open and edit directly. Auto-fetch pulls fresh data every 20 minutes, so the agent's context is never stale by more than a sync cycle. The README credits Karpathy's LLM knowledgebase concept as direct inspiration.

The token compression layer, called TokenJuice, is what makes that memory usable. The README claims up to 80% fewer tokens from tool output before it reaches the model — without that, a context window wide enough to hold a full inbox would be prohibitively expensive on most providers.

Orchestration runs on two open-source sub-projects the team also maintains: tinyagents for checkpointed graph execution and tinyflows for visual, trigger-driven workflows. Graphs pause for human approval, survive restarts, and resume mid-run. Sub-agents spawn up to three levels deep; stuck agents produce root-cause reports rather than silent failures. Agent-to-agent communication runs over Signal-protocol end-to-end encryption, with x402 USDC payments attached — meaning agents can commission work from other agents without credentials ever touching disk.

The integration surface is wide: over 100 OAuth connectors, more than 5,000 MCP servers, and a claimed 90,000-plus skills. Seventeen messaging channels are supported natively, including IMAP IDLE and SMTP for email. A Privacy Mode enforced in the Rust core ensures no inference leaves the machine when toggled — not a UI preference but a hard constraint at the runtime layer.

The comparison table in the README positions OpenHuman against Claude Cowork, OpenClaw, and Hermes Agent across dimensions like memory depth, orchestration model, and local-only support. The framing is self-serving in the way all such tables are, but the architectural distinctions it draws — checkpointed graphs versus single loops, auto-fetch versus cold-start, visual workflow canvas versus scripts — are real differences worth evaluating.

The project is explicitly in early beta and says so plainly. The build requirements alone — Node.js 24+, pnpm 10.10.0, Rust 1.93.0, CMake, Ninja, ripgrep, and platform-specific desktop prerequisites — signal that this is not yet a casual install for contributors. Binary installers exist for end users, but the surface area is large and the rough edges are acknowledged. The README's claim that it became the top trending GitHub repository for nine consecutive days after launch is the kind of social proof that says more about timing and positioning than about maturity.

A local-first agent harness with genuine architectural ambition — persistent Markdown memory, checkpointed graphs, E2E agent-to-agent comms — still clearly in early beta.

Sources & links