OpenHuman by TinyHumans AI is an open-source, UI-first desktop agent that builds a Memory Tree and Obsidian-compatible Markdown vault on your Mac—then refreshes it with 20-minute auto-fetch across 118+ OAuth integrations (Gmail, GitHub, Slack, Notion, and more). Unlike terminal-first harnesses, you can go from install to a working agent in minutes on macOS, with optional Ollama for on-device inference. This guide covers Homebrew install (preferred over curl | bash), architecture paths, a seven-step runbook, RAM tiers on Mac mini M4, and when to stage on a rented cloud Mac mini (~$16.9/day on published MacHTML pricing).
Pair with OpenClaw webhooks and Ollama on cloud Mac for gateway automation, TradingAgents with Ollama on Mac mini M4 for multi-agent local inference splits, and Mac mini M4 cloud power for hardware context. Official docs: OpenHuman documentation and Apple Mac mini specs.
Disclosure: MacHTML provides the cloud Mac mini rental service referenced in this article.
Why OpenHuman on Mac mini M4
Most agent harnesses start cold: you paste context every session or wait weeks for plugins to accumulate mail, repos, and calendar state. OpenHuman inverts that with auto-fetch every 20 minutes and TokenJuice compression (documented up to ~80% token reduction) before payloads hit any LLM. Workflow knowledge stays on-device in SQLite and .md files you can open in Obsidian.
Mac mini M4 fits this workload: always-on desktop agent, low idle power, and unified memory for Ollama sidecars. A 16 GB tier runs smaller local models; 24–32 GB supports larger quantized routes alongside the Tauri + Rust desktop shell described in upstream architecture docs.
If your team already runs OpenClaw gateways for Slack or GitHub ingress, keep that path—OpenHuman solves a different problem (persistent personal context, not webhook HMAC). See OpenClaw GLM staging on macOS for complementary gateway work.
Architecture: Memory Tree and managed services
| Layer | Location | What it stores |
|---|---|---|
| Memory Tree | Local SQLite + Markdown chunks (≤3k tokens) | Scored summaries of fetched mail, repos, calendar |
| Obsidian Wiki vault | Local .md files | Human-editable mirror of memory chunks |
| Workspace config | Local config.toml | Model routing, optional memory.backend = "agentmemory" |
| Managed backend | OpenHuman-hosted (default) | Sign-in, model routing proxy, Composio OAuth, web search |
Data flow: OAuth connector → Composio tool surface → 20-min auto-fetch job → canonicalize to Markdown → SQLite index → agent reads compressed context via TokenJuice → optional Ollama for local inference on supported workloads.
Transparency: OpenHuman stores Memory Tree and vault locally, but the default experience still uses managed services for sign-in, routing, and integration OAuth unless you bring your own keys (see the upstream README section “Local + managed services, upfront”).
OpenHuman vs OpenClaw decision matrix
| Dimension | OpenClaw | OpenHuman |
|---|---|---|
| Onboarding | Terminal-first, openclaw.json | UI-first, minutes to agent |
| Memory | Plugin-dependent context | Memory Tree + Obsidian vault, 20-min auto-fetch |
| Integrations | BYO wiring | 118+ OAuth via Composio layer |
| Local LLM | Manual Ollama wiring | Built-in routing + optional Ollama |
| Best on Mac mini when… | Gateways, webhooks, LaunchAgents | Persistent personal context without custom ETL |
Recommendation: If you need gateway webhooks, HMAC ingress, and doctor probes, standardize on OpenClaw webhooks and Ollama. If you need inbox + repos + calendar in agent context within one sync cycle, install OpenHuman on a dedicated Mac mini and pair Ollama using TradingAgents-style RAM splits.
Step-by-step macOS install runbook
- Install via Homebrew (signed bottles — preferred):
brew tap tinyhumansai/openhuman brew install openhuman - Launch OpenHuman.app from
/Applicationsand complete account sign-in (managed backend). - Connect integrations in Settings → Integrations; authorize Gmail, GitHub, or Slack with one-click OAuth.
- Wait one auto-fetch cycle (~20 minutes) or trigger manual sync; confirm new
.mdfiles appear in the vault path shown in Settings → Memory. - Enable optional Ollama (Settings → Model routing → Local AI): ensure
ollama serveis running and pull a model sized to your RAM tier (see below). - Verify agent tools: ask the desktop UI to summarize today’s GitHub notifications—confirm citations reference vault files, not hallucinated paths.
- Optional agentmemory backend: in
config.toml, setmemory.backend = "agentmemory"if you already run agentmemory for other coding agents.
Avoid for production Macs: curl -fsSL …/install.sh | bash — upstream warns this path has no integrity check; use Homebrew or signed .dmg from GitHub Releases.
Ollama local AI on Apple Silicon
| Unified RAM | Suggested Ollama model | OpenHuman workload |
|---|---|---|
| 16 GB | llama3.2:3b + llama3.1:8b | Lighter auto-fetch summarization |
| 24 GB | qwen2.5:14b + llama3.2:3b | Default research + chat |
| 32 GB | qwen2.5:32b (Q4) | Heavier vault compression tasks |
brew install ollama
ollama pull llama3.1:8b
ollama serve
Point OpenHuman local routing at http://127.0.0.1:11434 per local AI docs. Cloud-managed models remain available under one subscription when local models are insufficient—same discipline as TradingAgents Ollama splits.
Cloud Mac mini staging
Stage OpenHuman on a rented Mac mini M4 when your laptop sleeps and kills background auto-fetch, you need isolated OAuth tokens for a team sandbox, or mainland uplink throttles large vault syncs. Published MacHTML cloud Mac mini pricing starts around $16.9/day—validate Memory Tree disk usage with du -sh on your vault path before month-long rental.
Mirror always-on macOS discipline from OpenClaw GLM cloud staging: separate test accounts, snapshot vault directories before OS upgrades, and keep Ollama models pre-pulled on the server.
Troubleshooting
Integration connected but vault empty after 30+ minutes
Error pattern: OAuth shows green in Settings but no new .md files.
Fix: Confirm managed backend reachability; re-authorize OAuth; check macOS firewall is not blocking the desktop app. Force manual sync from Integrations → Auto-fetch status. If you staged on cloud Mac, verify the instance did not sleep—use caffeinate -dims during the first cycle.
Ollama connection refused when enabling Local AI
Error pattern: connection refused on port 11434.
Fix: Run ollama serve, verify curl http://127.0.0.1:11434/api/tags, downgrade to a smaller model on 16 GB RAM, or disable local routing temporarily. On cloud Mac mini, ensure Ollama is installed for ARM64, not Rosetta x86 builds.
FAQ
Q: Is OpenHuman fully offline?
A: No—the default product uses managed sign-in, routing, and Composio OAuth. Memory Tree and vault files are local, but connectors expect network access unless you configure direct/BYOK modes per upstream docs.
Q: How is this different from OpenClaw on the same Mac mini?
A: OpenClaw excels at gateway automation and scripted tool policies; OpenHuman excels at persistent personal context with UI-first onboarding and scheduled auto-fetch. Many teams run OpenHuman for context and OpenClaw for ingress webhooks on separate macOS user accounts.
Q: What RAM do I need for Ollama + OpenHuman together?
A: Budget 16 GB minimum with small models only; 24 GB is the practical default for concurrent desktop agent + llama3.1:8b-class Ollama routes—same tiering as TradingAgents on M4.
Q: Where are vault files on disk?
A: Paths vary by profile; use Settings → Memory → Vault location. Files are plain Markdown compatible with Obsidian—back up with Time Machine or rsync before macOS upgrades.
Stage OpenHuman on a cloud Mac mini
Rent an always-on Mac mini M4 to keep 20-minute auto-fetch, OAuth tokens, and Ollama sidecars running while your laptop sleeps.