OpenClaw
Personal AI assistant
- Multi-channel presence
- Self-hosted on your hardware
- Skill-extensible
- Long-running background work
[ open-source · mit · runs local ]
droid-agent is Unify's AI teammates, open-sourced. Many assistants share one typed state — a hive mind you host yourself — with real-time voice, steerable nested execution, and code-first planning.
Shared state is opt-in per manager — contacts, tasks, transcripts, knowledge. Typed state managers
In context
droid-agent has been the agent runtime behind Unify's production AI teammates since mid-2025. It sits alongside OpenClaw and Hermes-Agent — two projects that made self-hosted AI agents real — and extends the category for teams of assistants.
Personal AI assistant
An agent that grows with you
Many assistants, one hive mind
OpenClaw proved the self-hosted personal assistant. Hermes-Agent proved the self-improving agent. droid-agent extends the model to coordinated teams of assistants.
Features
Typed state managers can share state across assistants — contacts, tasks, transcripts, knowledge. Opt-in per manager, scoped by workspace, auditable at the boundary.
share: contacts + tasks · scoped
A fast voice process handles the conversation sub-second over LiveKit. A slower orchestration brain plans tool work in parallel. They coordinate over IPC using SPEAK, NOTIFY, and BLOCK messages.
slow ⇄ fast · ipc · livekit
Every operation returns a live handle — at every level of nesting. Ask for status, interject, pause a branch, or stop one task without affecting the others. Works inside a running tool call, not just at the top.
handle.interject("also check trains")
CodeActActor writes Python over typed
primitives.* in a sandboxed session. One program
per turn, with variables, loops, and composition.
for c in primitives.contacts.ask(...)
SMS, email, phone calls, meetings, Slack, WhatsApp. One identity, one memory, one task queue across every channel.
voice · sms · email · slack · meet
Every 50 messages, a background pass distills contacts, tasks, preferences, and policies into typed tables. Reusable Python functions are stored alongside — validated at storage, with AST-tracked dependencies, invokable by name. Guidance procedures describe when to use each one, linked many-to-many.
typed · ast-analyzed · semantically indexed
Install
One command. Clones the code, installs Python + Docker deps,
spins up a local Orchestra (Postgres + FastAPI) as the
persistence backend, and wires your .env. macOS,
Linux, and WSL2. No Unify account required.
# one-liner: pulls prebuilt images and runs the whole local stack
curl -fsSL https://raw.githubusercontent.com/unifyai/droid/staging/scripts/install.sh | bash
# the installer prompts for an LLM key; to add or change one later:
$EDITOR ~/.droid/.env && droid restart
# start the stack, then open Console at http://127.0.0.1:3000
droid
Writes docker-compose.yml and .env
into ~/.droid/ and runs the stack from prebuilt
images. droid starts it; droid down /
droid status / droid logs control it.
For a from-source developer install, add
--source-install.
Prefer not to run the local stack yourself? Hosted deployment is also available through Unify Console ↗.
Architecture
Owns the session. Sees notifications, in-flight work, and user input. Makes a single deliberate decision per turn. Talks to the fast brain over IPC when voice is live.
Writes Python against typed primitives in a sandboxed session. One program per turn, with variables, loops, and composition. Discovery-first tool policy ensures the actor explores stored functions and guidance before writing new code.
Each manager owns its domain and runs its own async tool loop. ContactManager. KnowledgeManager. TaskScheduler. Each returns a live handle. Each can delegate further.
Managers can selectively share state across assistants. Cross-assistant coordination is opt-in per manager, scoped by workspace, and auditable at the boundary.
Further reading
ARCHITECTURE.md contains the full technical walkthrough. The repo is the source of truth for everything above.
Local or hosted.
Run droid-agent locally from this repo, or use hosted deployment via Unify Console ↗. The local installer sets up the full open-source stack on your machine.