What is it?
Your own AI agents, on your own machines.
mimi-os runs your agents on a machine at home, around the clock, and puts all of them in one app on your desktop and your phone.
- You, earlier: What does Wednesday look like?
- wren: Wednesday has the design review with Jonas from 11:00 to 12:00, and lunch with Ines at 13:00.
- You: Jonas can’t do Wednesday. Move the review to Thursday afternoon.
- wren checks the calendar twice, with list_events: Wednesday, to find the review, then Thursday afternoon.
- wren: You’re free on Thursday from 15:00 to 17:00. Moving the review to 15:00.
- The app shows an approval card for move_event with its exact arguments: id evt_4q1v8k2m, start 2026-10-08T15:00, end 2026-10-08T16:00. You press Allow.
- wren: Done. The design review is on Thursday, 8 October, from 15:00 to 16:00.
What for?
It asks before it changes things.
Ask wren to move a meeting. It checks your Thursday, finds a free hour, and the move waits for your Allow, at your desk or on your phone.
- Who has the car on Friday
- Plumber on Tuesday
Agents ask each other.
wren can hand a question to scout and get a short report back. The question goes out, and the report comes in, only when you allow it.
- task
- When is the Riverside pool open this Saturday?
Each one can bring its own screen.
An agent can ship a small web page of its own. In the macOS desktop app it opens from the agent’s chat, one switch away.
Why mimi-os?
Agents are code you own.
Each agent is a folder in your git repo: a persona in markdown, tools as plain TypeScript functions, and tests you run like any other code.
Easy to run. One command sets up each machine, and one link pairs the app.
- loom/
- scout/
- wren/
- agent.json
- prompt.md
- index.ts
- src/
- app/
- test/
- calendar.ts
- contacts.ts
- travel.ts
Under your control.
Tools marked as writes wait for your Allow. Each model has a price and a daily limit, and past the limit a fallback model runs or the call is refused.
- Memory you can read: plain lines, yours to edit.
- A cloud model sees only what you send it.
How does it work?
The gateway stays at home. The app reaches it from anywhere.
Only the app and the gateway can read a message.
A diagram: the app on your desktop or phone, the gateway on your machine at home with its models and agents, and Tailscale or your own network between them. The channel is end-to-end encrypted, with a Noise IK handshake, an ML-KEM-768 key exchange and the gateway’s key pinned at pairing. A message is plain text in the app and in the gateway, and ciphertext on the network in between.
Start in three steps.
- Set up the gatewayOne command on the machine that will run it.
- Pair the appBuild it for a Mac, a Windows PC or an Android phone, then open one link.
- Add an agentWrite your own in TypeScript, or bring one someone shared.