Changelog for 0.43
Talk to a bot. It runs the board.
mini-tui is a team of bots that organize your work as a kanban instead of coding it all themselves. You say what you want in the web app or a WhatsApp group. The bot writes the cards, workers pick them up, and nothing counts as done until the evidence is on the card.
bun run web
Your bots, in the app
Each bot is a chat with its own task card. The sidebar shows who is working, who is finished and how far each card has got.

- Benchmark tasks passed, mini and pi
- 30 / 30
- Time vs pi, closure check on
- 0.78x
- Agent runtime
- 1 binary
You talk. The bot plans. Workers ship.
mini-tui moves the thinking from the agent that types code to a bot that organizes the work.
- 01
Say it
Write or record it in the web app, the terminal, or the bot's WhatsApp group. One sentence is enough.
- 02
The bot writes the board
It splits the request into cards with dependencies on a durable task graph, and tells you what it will do before workers start.
- 03
Workers ship, evidence closes
Workers take cards one at a time. A card closes only when the diff and the logs back the goal, and the result lands in your thread.
Your WhatsApp groups, in sync with the web
Start a job from the couch, check the board from your desk. It is the same thread.
One group per bot
A bot answers in its own group without a mention. The bot's avatar becomes the group photo.
Mirrored both ways
A message in the group appears in the web app, and one typed in the web app appears in the group. No second conversation, no echo.
Voice notes in
Send a note and it is transcribed on your machine, with an honest state if the transcript fails.
Feels alive
A 👀 reaction the moment it hears you, a typing indicator while it works, and semantic reactions when a card closes.
Control from the chat
/newsession starts a fresh session and /rename renames the session and the group subject.
Bots that can look at the page
The computer-use tool lets a bot open a real browser, click through your app and show you what it found.
A real browser, not a mock
cu keeps a pool of browser daemons that bots reuse. Logins stay in a vault; a bot never sees a password.
Screenshots go to the chat
The bot posts what it saw, so you check the page without opening it.
Checks its own work
After a UI change the bot opens the page, looks, and files what it found as evidence on the card.
Done means proven
A card closes when a check reads the goal against the diff and the logs. Pointed at Laya, a small self-hosted classifier, that check takes about a tenth of a second.
Same ten tasks, same model, pi and mini interleaved
112.9 s vs 145.6 s
sum of per-task medians, mini first: 0.78x of pi's time
| Measure | pi | mini-tui |
|---|---|---|
| Tasks passed | 30/30 | 30/30 |
| Sum of per-task medians | 145.6 s | 112.9 s |
| Tasks where mini is at least as fast | 1/10 | 9/10 |
| Timeouts | 0 | 0 |
Ten tasks, three repetitions, one model, one machine. The gain comes from a judge that closes a clean run in about a tenth of a second instead of a model call. Earlier rounds on this page were a tie; the report keeps them. Read the full report.
And the rest of the workshop
Everything a team of bots needs to be usable every day.
A board the bot keeps
Every request becomes cards with dependencies on a durable task graph. Workers take a lease on a card, and a card in flight is never lost when a lane stops.
Bots with delegates
A window holds bots, and each bot holds the delegates it started. The sidebar shows the tree live, and the team map draws it as a graph.
WhatsApp groups, synced
A bot answers in its own group. What you type there shows in the web app and the other way round, with voice notes, images and a typing indicator.
Bots that use a browser
The computer-use tool drives a real browser through cu and posts screenshots to the chat, so a bot can check its own work on the page.
Done means proven
A closure check reads the diff and the logs against the goal before a card moves to Done. The judge is a small self-hosted model that answers in under a second.
Your keys, your models
Connect DeepSeek, Anthropic, OpenAI, MiniMax, Groq, OpenRouter and more. A router sends easy turns to cheap models and falls back when a provider fails.
Terminal and browser, one session
Open a session a terminal is running and the web app follows the same agent live. Type in either one; nothing forks.
Voice notes and generative UI
Record a note in the chat or on WhatsApp and it is transcribed locally. Bots can answer with forms, tables and charts drawn in the thread.
On a phone, over SSH
An installable web app with touch-sized controls, and an agent that can run headless on a bigger box while the UI stays on your laptop.
Scriptable
mini-tui -p runs one turn with no UI and prints text, JSON or a JSON stream. Exit codes and guard rails are built for CI.
Running in four steps
Bun and one binary. No account, no cloud, no Python needed.
-
Get mini-tui
git clone https://github.com/jaivial/mini-tui && cd mini-tui bun install -
Build the Rust agent (one binary, no Python)
cd agent-rs && cargo build --release && cd .. mkdir -p ~/.local/lib/mini-tui cp agent-rs/target/release/mini-agent-rs ~/.local/lib/mini-tui/ -
Start the web app
bun run web # http://127.0.0.1:4317 -
Connect a model
# Settings, Providers: paste a key. # It is tested with a real request first.
Full guide in the install docs.
Questions
mini-tui is a team of bots that organize work as a kanban board. You talk to a bot in the web app, the terminal or a WhatsApp group, it turns the request into cards, and workers carry them out and report back in the same thread.
A coding agent is one model that writes the code itself. In mini-tui the bot plans: it writes cards with dependencies, hands them to workers, and checks the evidence before a card closes. The agent underneath is still the mini-swe-agent runner, as a single Rust binary.
Each bot can have its own WhatsApp group. Messages there reach the bot, and the bot's replies, reactions and voice-note transcripts come back to the group. The web app mirrors the thread both ways, so you can start on your phone and finish at your desk.
A bot can drive a real browser through cu, the computer-use tool. It opens pages, clicks, fills forms and sends screenshots to the chat, which is how a bot checks a page it just changed.
A card moves to Done only after a closure check reads the goal against the diff and the logs. The default judge is a model. You can point it at Laya, a small self-hosted classifier, which closes a clean run in well under a second and hands unclear ones to the model judge.
There is no account and no subscription. The source is public on GitHub. You pay only the model providers whose keys you connect.
DeepSeek, Anthropic, OpenAI, MiniMax, Z.AI, Moonshot, Groq and OpenRouter among others, plus any OpenAI-compatible endpoint. You bring your own key. A router can send simple turns to cheaper models.
Keys are stored on the machine running mini-tui, in a file only your user can read. The web API never sends a key back to the browser; it returns a masked hint such as sk-…a1b2.
Yes. In remote mode the agent runs headless on a server over SSH while the interface stays on your machine. The prompt is passed as a single-quoted literal, so it cannot execute as a command.
Yes. It installs as an app and uses touch-sized controls, bottom-sheet dialogs and a keyboard-aware prompt bar. Put it behind a reverse proxy with authentication to reach it from other devices.
Give the board to a bot.
No account, no subscription. Bring your own model key.