Skip to content

Introduction

Mia (Minimal Intelligent Agent) is a mobile-first AI coding assistant. It runs as a background daemon on your machine, pairs with your phone over encrypted P2P networking, and delegates coding tasks to pluggable AI agents. No cloud servers. No intermediaries. Just your phone talking directly to your dev machine.

  • Mobile-first — The Mia mobile app is the primary interface. Chat with your AI assistant, switch agents, manage personas, and monitor tasks — all from your phone.
  • Local-first — Everything runs on your machine. No intermediary servers. Your code never leaves your network unless you send it to an AI provider.
  • Token-efficient — Context is carefully budgeted and cached. You don’t pay for redundant tokens.
  • Modular — Swap AI backends without changing your workflow. Claude Code today, Gemini tomorrow.
  • Privacy-respecting — P2P sync uses Hyperswarm DHT with no central relay. Memory is stored in local SQLite.

Pair your phone via QR code and control your AI coding assistant from anywhere. The mobile app supports:

  • Real-time streaming AI conversations
  • Switching between coding agents
  • Creating and managing AI personas
  • Scheduling automated tasks
  • Searching memory and conversations
  • Slash commands (/standup, /doctor, /usage, /memory, etc.)
Terminal window
mia p2p qr # Show pairing QR code — scan with the Mia app

Start a multi-turn conversation with your AI. Mia automatically injects workspace context, git state, and relevant memory facts.

Terminal window
mia chat

Ask a single question and get an answer. Pipe in context from other commands.

Terminal window
mia ask "Explain the auth flow in this project"
git diff --staged | mia ask "Write a commit message for this"

Generate commit messages, standup reports, and changelogs from your git history.

Terminal window
mia commit # AI-generated commit message
mia standup # Summary of recent work
mia changelog # Changelog from git history

Set up cron-based tasks that run automatically — daily standups, weekly summaries, whatever you need. Manage them from the mobile app or CLI.

Terminal window
mia scheduler add "0 9 * * MON" "Write a weekly summary"
┌──────────────────────────────────────────────┐
│ USER INTERFACES │
│ Mobile App (primary) · CLI · P2P │
└────────────────────┬─────────────────────────┘
┌────────────────────▼─────────────────────────┐
│ DAEMON CORE │
│ Process lifecycle · Message routing │
│ Plugin dispatch · Middleware chain │
└──┬─────┬──────────┬──────────┬──────┬────────┘
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
Plugins P2P Memory Context Scheduler
LayerTechnology
LanguageTypeScript (strict, ESM)
RuntimeNode.js 18+
CLI@clack/prompts
Buildesbuild + tsc
TestVitest
AI BackendsAnthropic, Gemini, OpenAI, OpenCode
P2PHyperswarm + HyperDB
DatabaseSQLite (FTS5)
Schedulingnode-cron
Loggingpino