Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

CLI Usage

ankurCES edited this page Jun 8, 2026 · 6 revisions

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.

TL;DR / Key facts

  • Run blumi (or blumi 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 web serves an embedded React web UI over HTTP/Server-Sent Events (SSE); blumi serve runs the always-on Gateway for the phone app.
  • blumi login is 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 /tasks control the session live.
  • Global flags --provider, --model, --persona, and --sandbox local|docker override 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.

What are the core blumi commands?

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"

How do I use the terminal UI (TUI)?

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.

  • enter send · / command palette · ^p palette · tab focus · esc nav
  • ^b toggle rails · ^y YOLO (auto-approve) · ^c quit
  • 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

Workspaces, cost, autonomy & hardware (TUI)

  • /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, esc cancels. 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 clone a 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 + $ saved vs all-heavy. /route off|heuristic|hybrid|judge switches 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).

How does the task board and autonomous loop work?

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.

What management and automation commands are available?

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 / doctorGPU acceleration

What global flags does blumi accept?

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 the docker feature).

Slash-commands reference

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)

Frequently asked questions

How do I start the blumi terminal UI?

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.

How do I run a one-shot task without the UI?

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.

What is the difference between blumi web and blumi serve?

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.

How do I make blumi work autonomously?

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.

How do I change the model or provider for a single run?

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.

How do I search past sessions?

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.

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /