maruakshay/miii-cli

🇮🇳 Free, open-source AI coding agent for your terminal and browser. Plans, edits, runs your tests and verifies its own work. Use any model: Ollama and local LLMs offline, or your own Claude, GPT, Gemini or DeepSeek keys. No account, no subscription. MIT.

TypeScript

36

217 commits

updated Sep 30, 2026

See the code

See what people are saying

SourceMessageScoreDate

I built an open-source terminal coding agent (miii). People kept asking for a window, so I added miii web, a desktop-style UI that runs on localhost (r/SideProject)

Hey everyone, A while back I started building **miii**, a free, open-source coding agent for the terminal. It plans, reads and edits files, runs your tests, and checks the result before saying it's done. You bring your own keys (Claude, GPT, Gemini, DeepSeek and others, 14+ providers) or run it…

1

Sep 30, 2026

README

miii

🇮🇳 Made in India. Free forever. Works with any model.
A professional-grade coding agent for your terminal — it plans, reads, writes, and verifies code.
Bring your own keys (Claude, GPT, Gemini, DeepSeek) or run it 100% locally on your GPU.

Apna code, apna model, apni marzi.

miii-agent npm version MIT license requires Node 18 or newer 14+ model providers Made in India Sponsor miii on GitHub

🆕 New — miii now works in your browser too.
A desktop-style app like Claude Desktop, driving the same local agent. Just run miii web.

miii local AI coding agent running in a terminal, powered by Ollama

🆓 Free & open source — no account, no subscription  ·  🔌 Any provider, one tool  ·  ⚡ Install to first edit in a minute

🎯 Why miii?

Most agentic coding tools lock you into a single vendor, a monthly subscription, and bills in dollars.

miii brings the professional "plan → edit → run → verify" workflow to everyone, on their own terms. Use the best hosted models for complex tasks, free tiers for experimentation, or local models for complete privacy. No accounts, no subscriptions—just your code and your choice of AI.

🚀 Get started in 60 seconds

1. Install

npm i -g miii-agent

2. Run

Pick your preferred backend:

Hosted (uses existing env keys like ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.)

miii provider add gemini
miii

Local (100% free, offline, no account needed)

ollama pull qwen3-coder:30b
miii

Switch anytime with /provider inside miii.

3. Code

Talk to it like a teammate:

> refactor the auth module to use async/await
> @src/server.ts add rate limiting to all POST routes
> why are my tests failing in utils/parser.ts

It plans before it acts, and runs your test suite before it claims to be done.

Prefer a window to a terminal?

miii web        # or: miii --web

Opens miii in your browser — chat sidebar, streaming replies, collapsible tool calls with real diffs, one-click approvals, image paste, and pickers for model, provider, effort and permission mode. It's the same agent, sessions and permission rules as the terminal. The server listens on localhost only and every request needs the one-time key in the link it prints. --port <n>, --no-open, and -c / --resume <id> work as you'd expect.

[!TIP] Windows Users: Use irm https://raw.githubusercontent.com/maruakshay/miii-cli/main/install.ps1 | iex. Needs Node 18+ and a POSIX shell (git-bash or WSL); otherwise, miii falls back to Node's filesystem calls.

🔌 Your model, your choice

One command wires up any backend: /provider add <name> inside miii, or miii provider add <name> from your shell. The endpoint is built-in; the key comes from the environment variable you already export.

☁️ Hosted (your key)🏠 Local (free, offline)
Anthropic · OpenAI · Gemini · Groq · OpenRouter · DeepSeek · Mistral · Together · xAIOllama · LM Studio · llama.cpp · vLLM

Anything else that speaks the OpenAI protocol works too: /provider add <name> <baseUrl>.

Paying nothing is a real option. miii is free, local models are free, and providers like Gemini, Groq, OpenRouter, and Cerebras offer free tiers — enough to get real work done without a credit card.

Single-vendor agentsmiii
The toolSubscriptionFree, MIT-licensed
ModelsOne vendor's14+ providers, or your own GPU
SetupAccount + loginnpm i -g miii-agent
Your codeGoes to that vendorGoes where you choose — or stays local
OfflineNoYes, with a local model

✨ Power Features

miii delivers the advanced workflow of top-tier agents without the vendor lock-in:

  • ⚖️ Decision Box — A second, smaller model verifies if the work is actually complete before the agent stops. No more false positives.
  • 📋 Plan Mode — Use /plan for a read-only session. miii researches and proposes a strategy; nothing is written until you approve.
  • 🔒 Permission-Gated — You are in control. Approve every file write and shell command. Rules persist in .miii/permissions.json.
  • ⟲ /rewind — Undo agent changes and the conversation history. Checkpoints make experimenting risk-free.
  • 🧩 Subagents — Delegated task loops handle complex searches in their own context, returning only the final answer.
  • 💭 Live Status — One status line shows what the agent is doing, with live timing and token counts. Full thoughts are a ctrl+t away.
  • ⚡ Mid-turn Steering — Send corrections or new instructions while the agent is running. miii queues your input and adapts its next step in real-time.
  • 🎯 Turn Summaries — Every completed turn ends with a concise summary of files changed and test results. No more scrolling up to see what actually happened.
  • 🧠 Model-Aware — miii handles broken tool calls from smaller models and optimizes prompts for various context windows.
  • 🔀 Hot-Swapping — Use /provider and /models to switch backends instantly without restarting your session.
  • 🔌 MCP Support — Connect to GitHub, Postgres, or your own internal services via Model Context Protocol.
  • 🪝 Shell Hooks — Trigger custom commands on tool events (e.g., auto-format on write or block specific paths).
  • 🌐 Web UI — miii web gives you a Claude-desktop-style app in your browser, driving the same local agent.
  • 🖥️ Headless Mode — Run miii -p "prompt" for scripts, CI/CD, or piping git diffs directly into the agent.
  • 🔁 Fix until green — miii fix runs your tests, fixes what fails, and runs them again until they pass. The test result, not the model, decides what's fixed; attempts that don't help are rolled back automatically, so small local models only ever move the code forward. miii fix --check "npx tsc --noEmit" --output-format json for CI.
  • 🐚 Shell-Backed Edits — Operations run through the shell for maximum compatibility, with a robust Node.js fallback.
Every slash command

/plan · /models · /provider · /agents · /mcp · /permissions · /rewind · /sessions · /memory · /context · /compact · /cost · /review · /init · /export · /copy · /settings · /vim · /new · /clear

🏠 Going local? Pick a model for your GPU

Budget a few GB above the download size for the context window.

VRAMRecommended ModelSizeNote
< 4GBqwen2.5-coder:3b1.9 GBFast, lightweight
8GBqwen2.5-coder:7b4.7 GBGreat balance
12–16GBqwen2.5-coder:14b9.0 GBProfessional grade
16–24GBgpt-oss:20b · devstral:24b~14 GBHigh reasoning
24GB+qwen3-coder:30b ⭐18.6 GBState-of-the-art local coding

Pro Tip: Tool-calling is what separates a usable agent from a frustrating one. qwen3-coder and devstral are natively trained for it; miii automatically repairs calls from other models to keep them working.

FAQ

Is miii really free?

Yes. miii itself is MIT-licensed with no paid tier, no account and no sign-up. What you pay for is the model: nothing if it runs on your machine, and whatever your provider charges if you use a hosted one — several of which have free tiers.

Is my code ever uploaded?

With a local provider, your code only ever travels to localhost. No telemetry and no analytics — the one outbound call miii makes on its own is a version check against registry.npmjs.org, which carries nothing but the package name. Add a hosted provider and that provider sees what you send it, which is why local is the default.

Can it break my repo?

Every write and every shell command asks first, and file tools are confined to the working directory. When something does go wrong, /rewind puts the files and the conversation back.

Do I need a GPU?

No. Use a hosted provider and any laptop will do. For fully local models you want one — qwen2.5-coder:3b runs on CPU, but it will be slow and it will need more hand-holding. Apple Silicon works well — unified memory counts as VRAM here.

Why not just use Claude Code / Cursor?

Use them if you can. miii is for when you want the same workflow without being tied to one vendor or one subscription: pick any model, pay only for what that model costs, or go fully offline for air-gapped work, NDA'd code, or a flight with no wifi.

miii is built and maintained independently, from India, with no VC money and no paid tier. Sponsorship is what keeps it that way — it pays for GPU and API time to evaluate new models across providers, test hardware, and the hours that go into making every model, big or small, behave like a real coding agent.

  • Individuals — GitHub Sponsors, any amount, one-time or monthly.
  • Companies — if your team uses miii for private or air-gapped work, sponsoring gets your logo here and a direct line for the features you need. Open an issue or reach out via GitHub.
  • Free ways to help — star the repo, share it with your dev community, file issues, and send PRs.

Contributing

Issues and PRs are welcome from anyone, anywhere. The web UI lives in web/ (React, Vite, Tailwind, shadcn/ui): npm run dev:web starts the agent server and Vite together and prints one link to open. Set MIII_PROJECT=/path/to/repo to point the agent at another project. Good places to start: model compatibility reports (which models work well on which hardware), bug reports with a repro, and docs improvements.


⭐ Star it if you think great coding tools should be free for everyone.
Built with ❤️ in India 🇮🇳 · MIT © maruakshay

ai
ai-coding-assistant
ai-pair-programming
claude-code-alternative
cli
code-generation
coding-agent
copilot-alternative
cursor-alternative
developer-tools
llama-cpp
llm
lm-studio
local-first
local-llm
offline
ollama
privacy
qwen
terminal

maruakshay/miii-cli

🇮🇳 Free, open-source AI coding agent for your terminal and browser. Plans, edits, runs your tests and verifies its own work. Use any model: Ollama and local LLMs offline, or your own Claude, GPT, Gemini or DeepSeek keys. No account, no subscription. MIT.

TypeScript

36

217 commits

updated Sep 30, 2026

See the code

See what people are saying

SourceMessageScoreDate

I built an open-source terminal coding agent (miii). People kept asking for a window, so I added miii web, a desktop-style UI that runs on localhost (r/SideProject)

Hey everyone, A while back I started building **miii**, a free, open-source coding agent for the terminal. It plans, reads and edits files, runs your tests, and checks the result before saying it's done. You bring your own keys (Claude, GPT, Gemini, DeepSeek and others, 14+ providers) or run it…

1

Sep 30, 2026

README

miii

🇮🇳 Made in India. Free forever. Works with any model.
A professional-grade coding agent for your terminal — it plans, reads, writes, and verifies code.
Bring your own keys (Claude, GPT, Gemini, DeepSeek) or run it 100% locally on your GPU.

Apna code, apna model, apni marzi.

miii-agent npm version MIT license requires Node 18 or newer 14+ model providers Made in India Sponsor miii on GitHub

🆕 New — miii now works in your browser too.
A desktop-style app like Claude Desktop, driving the same local agent. Just run miii web.

miii local AI coding agent running in a terminal, powered by Ollama

🆓 Free & open source — no account, no subscription  ·  🔌 Any provider, one tool  ·  ⚡ Install to first edit in a minute

🎯 Why miii?

Most agentic coding tools lock you into a single vendor, a monthly subscription, and bills in dollars.

miii brings the professional "plan → edit → run → verify" workflow to everyone, on their own terms. Use the best hosted models for complex tasks, free tiers for experimentation, or local models for complete privacy. No accounts, no subscriptions—just your code and your choice of AI.

🚀 Get started in 60 seconds

1. Install

npm i -g miii-agent

2. Run

Pick your preferred backend:

Hosted (uses existing env keys like ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.)

miii provider add gemini
miii

Local (100% free, offline, no account needed)

ollama pull qwen3-coder:30b
miii

Switch anytime with /provider inside miii.

3. Code

Talk to it like a teammate:

> refactor the auth module to use async/await
> @src/server.ts add rate limiting to all POST routes
> why are my tests failing in utils/parser.ts

It plans before it acts, and runs your test suite before it claims to be done.

Prefer a window to a terminal?

miii web        # or: miii --web

Opens miii in your browser — chat sidebar, streaming replies, collapsible tool calls with real diffs, one-click approvals, image paste, and pickers for model, provider, effort and permission mode. It's the same agent, sessions and permission rules as the terminal. The server listens on localhost only and every request needs the one-time key in the link it prints. --port <n>, --no-open, and -c / --resume <id> work as you'd expect.

[!TIP] Windows Users: Use irm https://raw.githubusercontent.com/maruakshay/miii-cli/main/install.ps1 | iex. Needs Node 18+ and a POSIX shell (git-bash or WSL); otherwise, miii falls back to Node's filesystem calls.

🔌 Your model, your choice

One command wires up any backend: /provider add <name> inside miii, or miii provider add <name> from your shell. The endpoint is built-in; the key comes from the environment variable you already export.

☁️ Hosted (your key)🏠 Local (free, offline)
Anthropic · OpenAI · Gemini · Groq · OpenRouter · DeepSeek · Mistral · Together · xAIOllama · LM Studio · llama.cpp · vLLM

Anything else that speaks the OpenAI protocol works too: /provider add <name> <baseUrl>.

Paying nothing is a real option. miii is free, local models are free, and providers like Gemini, Groq, OpenRouter, and Cerebras offer free tiers — enough to get real work done without a credit card.

Single-vendor agentsmiii
The toolSubscriptionFree, MIT-licensed
ModelsOne vendor's14+ providers, or your own GPU
SetupAccount + loginnpm i -g miii-agent
Your codeGoes to that vendorGoes where you choose — or stays local
OfflineNoYes, with a local model

✨ Power Features

miii delivers the advanced workflow of top-tier agents without the vendor lock-in:

  • ⚖️ Decision Box — A second, smaller model verifies if the work is actually complete before the agent stops. No more false positives.
  • 📋 Plan Mode — Use /plan for a read-only session. miii researches and proposes a strategy; nothing is written until you approve.
  • 🔒 Permission-Gated — You are in control. Approve every file write and shell command. Rules persist in .miii/permissions.json.
  • ⟲ /rewind — Undo agent changes and the conversation history. Checkpoints make experimenting risk-free.
  • 🧩 Subagents — Delegated task loops handle complex searches in their own context, returning only the final answer.
  • 💭 Live Status — One status line shows what the agent is doing, with live timing and token counts. Full thoughts are a ctrl+t away.
  • ⚡ Mid-turn Steering — Send corrections or new instructions while the agent is running. miii queues your input and adapts its next step in real-time.
  • 🎯 Turn Summaries — Every completed turn ends with a concise summary of files changed and test results. No more scrolling up to see what actually happened.
  • 🧠 Model-Aware — miii handles broken tool calls from smaller models and optimizes prompts for various context windows.
  • 🔀 Hot-Swapping — Use /provider and /models to switch backends instantly without restarting your session.
  • 🔌 MCP Support — Connect to GitHub, Postgres, or your own internal services via Model Context Protocol.
  • 🪝 Shell Hooks — Trigger custom commands on tool events (e.g., auto-format on write or block specific paths).
  • 🌐 Web UI — miii web gives you a Claude-desktop-style app in your browser, driving the same local agent.
  • 🖥️ Headless Mode — Run miii -p "prompt" for scripts, CI/CD, or piping git diffs directly into the agent.
  • 🔁 Fix until green — miii fix runs your tests, fixes what fails, and runs them again until they pass. The test result, not the model, decides what's fixed; attempts that don't help are rolled back automatically, so small local models only ever move the code forward. miii fix --check "npx tsc --noEmit" --output-format json for CI.
  • 🐚 Shell-Backed Edits — Operations run through the shell for maximum compatibility, with a robust Node.js fallback.
Every slash command

/plan · /models · /provider · /agents · /mcp · /permissions · /rewind · /sessions · /memory · /context · /compact · /cost · /review · /init · /export · /copy · /settings · /vim · /new · /clear

🏠 Going local? Pick a model for your GPU

Budget a few GB above the download size for the context window.

VRAMRecommended ModelSizeNote
< 4GBqwen2.5-coder:3b1.9 GBFast, lightweight
8GBqwen2.5-coder:7b4.7 GBGreat balance
12–16GBqwen2.5-coder:14b9.0 GBProfessional grade
16–24GBgpt-oss:20b · devstral:24b~14 GBHigh reasoning
24GB+qwen3-coder:30b ⭐18.6 GBState-of-the-art local coding

Pro Tip: Tool-calling is what separates a usable agent from a frustrating one. qwen3-coder and devstral are natively trained for it; miii automatically repairs calls from other models to keep them working.

FAQ

Is miii really free?

Yes. miii itself is MIT-licensed with no paid tier, no account and no sign-up. What you pay for is the model: nothing if it runs on your machine, and whatever your provider charges if you use a hosted one — several of which have free tiers.

Is my code ever uploaded?

With a local provider, your code only ever travels to localhost. No telemetry and no analytics — the one outbound call miii makes on its own is a version check against registry.npmjs.org, which carries nothing but the package name. Add a hosted provider and that provider sees what you send it, which is why local is the default.

Can it break my repo?

Every write and every shell command asks first, and file tools are confined to the working directory. When something does go wrong, /rewind puts the files and the conversation back.

Do I need a GPU?

No. Use a hosted provider and any laptop will do. For fully local models you want one — qwen2.5-coder:3b runs on CPU, but it will be slow and it will need more hand-holding. Apple Silicon works well — unified memory counts as VRAM here.

Why not just use Claude Code / Cursor?

Use them if you can. miii is for when you want the same workflow without being tied to one vendor or one subscription: pick any model, pay only for what that model costs, or go fully offline for air-gapped work, NDA'd code, or a flight with no wifi.

miii is built and maintained independently, from India, with no VC money and no paid tier. Sponsorship is what keeps it that way — it pays for GPU and API time to evaluate new models across providers, test hardware, and the hours that go into making every model, big or small, behave like a real coding agent.

  • Individuals — GitHub Sponsors, any amount, one-time or monthly.
  • Companies — if your team uses miii for private or air-gapped work, sponsoring gets your logo here and a direct line for the features you need. Open an issue or reach out via GitHub.
  • Free ways to help — star the repo, share it with your dev community, file issues, and send PRs.

Contributing

Issues and PRs are welcome from anyone, anywhere. The web UI lives in web/ (React, Vite, Tailwind, shadcn/ui): npm run dev:web starts the agent server and Vite together and prints one link to open. Set MIII_PROJECT=/path/to/repo to point the agent at another project. Good places to start: model compatibility reports (which models work well on which hardware), bug reports with a repro, and docs improvements.


⭐ Star it if you think great coding tools should be free for everyone.
Built with ❤️ in India 🇮🇳 · MIT © maruakshay

ai
ai-coding-assistant
ai-pair-programming
claude-code-alternative
cli
code-generation
coding-agent
copilot-alternative
cursor-alternative
developer-tools
llama-cpp
llm
lm-studio
local-first
local-llm
offline
ollama
privacy
qwen
terminal

Languages

TypeScript

98.9%