-
Notifications
You must be signed in to change notification settings - Fork 0
CLI Usage
blumi is a terminal-native AI coding agent written in Rust. This page is the command reference for the blumi command-line interface (CLI): it covers the core commands, the interactive terminal UI, slash-commands, the task board and autonomous loop, and the global flags. Run blumi <command> --help for the full flags of any subcommand.
-
Run
blumi(orblumi tui) with no command on a TTY to launch the interactive terminal UI (TUI). -
blumi run "<prompt>"runs one prompt headlessly and streams the answer to stdout, so it pipes into other tools. -
blumi webserves an embedded React web UI over HTTP/Server-Sent Events (SSE);blumi serveruns the always-on Gateway for the phone app. -
blumi loginis the setup wizard for choosing a provider, key/endpoint, and model. -
The task board + autonomous loop (
blumi task add,blumi loop) let blumi pull prioritized tasks and work them turn by turn, with budget caps. -
Inside the TUI, slash-commands like
/model,/persona,/memory,/usage, and/taskscontrol the session live. -
Global flags
--provider,--model,--persona, and--sandbox local|dockeroverride behavior for a single run.
The top-level command shape is:
blumi [--provider P] [--model M] [--persona NAME] [--sandbox local|docker] [COMMAND]
With no command on a TTY, blumi launches the TUI.
The five core commands cover the interactive UI, headless runs, login, and the web/gateway servers.
| Command | Description |
|---|---|
blumi / blumi tui
|
Interactive terminal UI |
blumi run "<prompt>" |
Run one prompt headlessly, streaming to stdout (pipeable) |
blumi login |
Setup wizard: provider, key/endpoint, model |
blumi web |
Embedded React web UI + HTTP/SSE server |
blumi serve ... |
Always-on gateway for the phone app → Gateway |
echo "summarize this diff" | blumi run - # read prompt from stdin git diff | blumi run "review these changes" --yolo blumi --persona reviewer run "audit src/auth.rs"
The terminal UI is blumi's default interactive mode — start it by running blumi with no command on a TTY. These are the essential keybindings and slash-commands.
-
entersend ·/command palette ·^ppalette ·tabfocus ·escnav -
^btoggle rails ·^yYOLO (auto-approve) ·^cquit - Slash:
/help /model /persona /theme /memory /usage /tasks /yolo /compact /undo /sessions /new /resume /quit - More slash:
/open-workspace·/new-workspace·/clone-workspace·/heal·/route·/discoveries·/memories·/knowledge·/accel·/grid
-
/open-workspace— a file-browser popup to open any folder as a workspace.↑/↓move,→enter a folder,←/backspace go up, space opens the highlighted folder (keep browsing), enter opens + closes,esccancels. Git repos are flagged; opened folders appear in the left workspace pane and are remembered as recents. -
/new-workspace <path>— create a folder (+git init) and open it as a workspace. -
/clone-workspace <url> [dir]—git clonea repo (dir defaults to the repo name) and open it. -
/heal— a self-healing summary: recovery / evolution / proposal counts + recent items. See Self-Management → Self-healing. -
/route— cost-aware routing: per-tier counts +$ savedvs all-heavy./route off|heuristic|hybrid|judgeswitches the mode live. See Self-Management → Cost-aware routing. -
/discoveries— tasks the always-on pass proposed (and where reports land). See Self-Management → Always-on discovery. -
/memories— browse semantic long-term memory: per-entry namespace / kind / utility / hit-count, with pinned entries marked ★. Read-only (the web Control Center edits them). Distinct from/memory, which views the MEMORY.md / USER.md files. See Memory & Knowledge. -
/knowledge— the code knowledge base: indexed files / symbols / vectors + per-source counts. See Memory & Knowledge. -
/accel— the active accelerator (Apple CoreML / NVIDIA CUDA / CPU) for this node. See Memory & Knowledge → GPU acceleration. -
/grid— live grid metrics (peers, tasks, tokens, strongest accelerator).
The autonomous loop lets blumi work a prioritized task board on its own, one task per turn. You add tasks, then run the loop to select, run, and advance them.
blumi task add "write tests for parser" -p 1 # add a task (priority 1=highest) blumi task list # show the board blumi loop --max 5 --yolo # work the board: select → run → advance
The loop pulls the highest-priority todo, runs it as a turn, and advances it. Bound it with
--max <n> and --budget <usd>; --review sends finished tasks to review instead of done.
On a grid it can hand tasks off to peers.
Beyond running prompts, blumi ships commands for stored sessions, usage stats, scheduling, workflows, skills, MCP servers, messaging bots, and the GPU accelerator.
| Command | Description |
|---|---|
blumi session |
List / search / show stored sessions (FTS5 full-text search) |
blumi stats |
Aggregate token usage across sessions |
blumi cron |
Schedule prompts on a timer |
blumi playbook <file.yaml> |
Run a multi-step workflow with gates + resume |
blumi skills |
Manage the bundled SKILL.md library + your own → Self-Management |
blumi mcp |
Manage MCP servers (defaults + a catalog) |
blumi gateway |
Run as a messaging bot (Telegram/Discord/Slack/WhatsApp) |
blumi accel |
Inspect the GPU/accelerator: detect / status / doctor → GPU acceleration
|
Global flags sit before the subcommand and override behavior for a single invocation.
-
--provider/--model— override the LLM for this run. -
--persona— start with a named persona. -
--sandbox local|docker— run tools on the host or in a container (needs thedockerfeature).
Slash-commands are typed inside the TUI to control the live session. The table below summarizes them; the TUI section above documents each in detail.
| Slash-command | What it does |
|---|---|
/help |
Show available commands and keybindings |
/model |
Switch the active model |
/persona |
Switch the active persona |
/theme |
Change the TUI theme |
/memory |
View the MEMORY.md / USER.md files |
/memories |
Browse semantic long-term memory (read-only) |
/knowledge |
Inspect the code knowledge base (files / symbols / vectors) |
/usage |
Show token usage for the session |
/tasks |
View the task board |
/yolo |
Toggle YOLO auto-approve mode |
/compact |
Compact the conversation context |
/undo |
Undo the last change |
/sessions · /new · /resume
|
Manage and switch sessions |
/quit |
Exit the TUI |
/open-workspace · /new-workspace · /clone-workspace
|
Open, create, or clone a workspace folder |
/heal |
Self-healing summary (recovery / evolution / proposals) |
/route |
Cost-aware routing status and mode switch |
/discoveries |
Tasks proposed by the always-on pass |
/accel |
Show the active GPU accelerator for this node |
/grid |
Live grid metrics (peers, tasks, tokens) |
Run blumi (or blumi tui) with no command on a TTY. blumi launches the interactive terminal UI (TUI), where you send prompts with enter and open the command palette with / or ^p.
Use blumi run "<prompt>". It runs a single prompt headlessly and streams the result to stdout, so it pipes cleanly: for example echo "summarize this diff" | blumi run - reads the prompt from stdin, and git diff | blumi run "review these changes" --yolo pipes a diff in.
blumi web starts an embedded React web UI backed by an HTTP/Server-Sent Events (SSE) server for local use. blumi serve runs the always-on Gateway that the phone app connects to.
Add tasks to the board with blumi task add "<task>" -p <priority>, then run blumi loop. The loop pulls the highest-priority todo, runs it as a turn, and advances it; bound it with --max <n> and --budget <usd>, and use --review to route finished tasks to review instead of done.
Pass the --provider and --model global flags before the command, e.g. blumi --provider P --model M run "<prompt>". Inside the TUI, use the /model slash-command to switch the active model live.
Run blumi session to list, search, and show stored sessions; it uses FTS5 full-text search. Use blumi stats to see aggregate token usage across sessions.