Your Mila belongs to you, 100%.
Instructions, skills, memory, settings — one mila export archive, back on any machine with mila restore. No lock-in.
Answers your clients, keeps your promises, remembers every conversation, and tells you every morning what’s on fire.
curl -fsSL https://raw.githubusercontent.com/shakhruz/mila-agent/main/install/get.sh | bash
Quick start in the README·Mila is part of something bigger — read our Manifesto
You install Claude Code and sign in yourself, only on Anthropic’s page; Mila never stores your login. Customers and guests are served through an API key (OpenRouter).
≈ 5 minutes. You need: Claude Code (with a Claude subscription), Bun, a Telegram bot token from @BotFather.
curl -fsSL https://raw.githubusercontent.com/shakhruz/mila-agent/main/install/get.sh | bash
Then mila onboard — three steps: bot token, Claude sign-in, pairing with your Telegram. Details in the README.
Questions and ideas — in GitHub Discussions.
Source: Claude Code — legal and compliance
Claude and Claude Code are trademarks of Anthropic, PBC. Mila is an independent open-source project, not affiliated with, endorsed or sponsored by Anthropic.
Universal agents can do anything — if you know exactly how to ask. Business owners don’t have that time.
You talk to her from your phone, by text or voice — like to a person on your team.
Mila comes with a job:
Instructions, skills, memory, settings — one mila export archive, back on any machine with mila restore. No lock-in.
A digital employee talks to your clients. You should be able to read every rule she follows — the constitution, the send-guard, the skills.
Every business teaches its Mila something. Open skills let that knowledge travel: one good skill, thousands of Milas.
Fork it, change it, ship it.
Mila doesn’t wait for instructions: she brings a solution with options and writes “if you don’t mind — I’ll do it this way”.
Before every event she checks what’s missing.
Before showing a deck or a page — a style council of three views.
She keeps the flow of requests and remembers what was forgotten by herself.
A plan before each update, a “did it get better?” check after 3–7 days, rollback with one button.
Code and the full changelog — github.com/shakhruz/mila-agent (v1.6.5).
One feature per page, with links to the code.
| Criterion | Mila | OpenClaw | NanoClaw | Hermes Agent |
|---|---|---|---|---|
| Calls itself | “An open-source digital employee for your business” | “The AI that really does things” | “An AI assistant that runs agents securely in their own containers”; a lightweight alternative to OpenClaw | “The agent that grows with you” |
| Built by | MILAGPT | OpenClaw Foundation (Steinberger; sponsored by OpenAI) | NanoCo (Gavriel Cohen) | Nous Research |
| License | Apache-2.0 | MIT | MIT | MIT |
| GitHub stars (17 Oct 2026) | — | ~392k | ~31k | ~255k |
| Code | Python, shell; Telegram plugin in TypeScript (Bun) | TypeScript | TypeScript | Python |
| Engine | Claude Code with your own Claude subscription | own agent loop, models as plugins | Claude Agent SDK (Claude Code), other models via skills | own agent loop, any model |
| Telegram | yes — she lives there | yes | yes (via a skill) | yes |
| Other channels | Telegram in depth instead of twenty channels on the surface; the current release v1.5.2 also has outbound email (skills/mail-outbound): a letter starts as a draft and goes out after a tap in Telegram. Social posts via Zernio with your own key. Voice through Alice and the TV screen run on Milas we host; they are not in the open code | WhatsApp, Slack, Discord, Teams, iMessage, Signal and 20+ more | WhatsApp, Slack, Discord, Teams, iMessage, Matrix, email and more | Discord, Slack, WhatsApp, Signal, Email, CLI |
| Isolation | every Mila is a separate Linux user: secrets readable only by her (0600); the installer opens no ports. Milas we host each run in their own container: that is our hosting (rootless podman, a separate uid per Mila), and its code is not in the open repository. Deploy and payment keys stay on the host; each Mila sees only her own bot token. Risky shell commands are denied by policy; a broken policy means “ask”, never “allow” | sandbox off by default; tools run on the host | a container per agent group; keys via a gateway | 7 runtimes (local, Docker, SSH, Modal…) |
| Outbound check | every message is checked before it leaves: wrong recipient, keys and tokens, another client’s name or chat title, server paths; if the check fails, nothing is sent. Live on Milas we host; being added to the self-host installer | no data | no data | no data |
| Memory | remembers every conversation | Markdown: MEMORY.md, daily notes, “dreaming” | CLAUDE.md and memory per group | manages its own memory; FTS5, Honcho |
| Skills | open skills; most are in Russian today, English is the first goal | ClawHub | /add-* skills | writes its own skills; agentskills.io |
| Install | one curl command (get.sh) — or one chat with Mila Tashkent | one curl command | clone and a script; needs Docker | one curl command |
| Built for | business: a digital employee with a job | personal; can be shared by a team | personal; NanoCo enterprise edition | personal; Hermes for Businesses |
| Price | self-host free; a ready Mila — priced at the review | free; no hosted service | free; enterprise on request | free; Nous Portal $0–200/month, Hermes Cloud |
| Human decisions | decision cards: options and her pick ★, a button works once, the choice stays in the chat history | exec ask; Team preset (send, purchase, delete) | enterprise: approval workflows, audit | no data |
| Spending limit | forecast first, then the actual amount next to it; above the threshold — a card | no data | no data | per-employee limit (Business) |
| Multiple agents | a team of Milas: they hear each other by @name; a loop guard lets through at most 20 messages an hour from one bot | routing, sub-agents, new agent after approval | several isolated agents; “teammates” in Slack | sub-agents |
| Promises and tasks | every promise is a record with a deadline; promises due today show up on every turn; “done” closes only with proof: a link, a file, a tool reply | no data | no data | no data |
| Languages | answers in the guest’s language: Russian, Uzbek, English; transcribes Uzbek voice notes; Uzbek Latin → Cyrillic | no data | no data | no data |
| Values | a constitution of 10 laws, read first; the secrecy law and the “no excuses” law are also enforced by the outbound check | no data | no data | no data |
| Restarts | messages wait in a journal while the session restarts; nothing is lost, reminders come back too | no data | no data | no data |
| Updates | updates with rollback: a nightly check, a backup before every install, automatic rollback if something breaks | no data | no data | no data |
| Export | mila export / mila restore: one archive with a sha256 manifest, no secrets inside — if it finds one, the export stops | no data | no data | no data |
| Setup help | Mila Tashkent starts your Mila in one chat; or a paid month with our team: server, security, your data — then your team runs it on its own | no hosted service | enterprise on request | Hermes Cloud (one-click hosting) |
Swipe the table sideways
Data as of 17 Oct 2026. Stars and licenses: GitHub API, 17 Oct 2026. “No data” means we found no public source.
In Telegram — she starts your own Mila in one conversation.
pricing — worked out at the review
Get your Mila in one chatOne curl command, then mila onboard. Free.
Skills, translations, bug reports — how to join ↓
30 years in commercial software, 40 years of programming Disney · Apple · AT&T
Skyline YogaAnd a fleet of Milas working next to us every day — development, quality, content, clients.
This repository is the core they run on.
We are looking for people who build agents and want them to do real work for real businesses.
Good contributors join the core team of MILAGPT.
Mila is open source under Apache-2.0. “Mila”, “MILAGPT” and the logo are trademarks of MILAGPT.
Want this in your business? We'll show you at a review.
Led personally by the founders