Skip to content

Terminal REPL

The Terminal REPL is AI Butler’s command-line chat interface — one of the two channels marked ready (Web Chat is the other). No configuration, no external services — just run one command and start talking.

Terminal window
aibutler repl
  • Token-by-token streaming responses
  • Automatic context compaction on long sessions
  • Slash commands for status, cost, and memory inspection
  • Shared memory with all other channels
  • Session resume (aibutler resume)
  • No API key required (beyond whatever your model needs)
Terminal window
$ aibutler repl
AI Butler v0.1.0 REPL
Type /help for available commands, /quit to exit.
Provider: Anthropic Claude
> what can you do?
I can help with: coding, research, scheduling, memory, running...
> remember that my favorite editor is neovim
Got it I'll remember you prefer neovim.
> /quit
Goodbye.

The REPL shares the same memory, tools, and configuration as every other channel. Ask a question on Telegram, and the answer is visible when you open the terminal — and vice versa.

The REPL supports slash commands for runtime inspection and control:

CommandWhat it does
/help (or /h)Show available commands
/statusShow session ID, message count, and estimated tokens
/costShow monthly spend against your configured budget
/compactForce context compaction on the next message
/modelShow the current model
/clearClear conversation history
/memoryShow session memory stats
/diffShow user/assistant message counts and token estimate
/quit (or /exit, /q)Exit the REPL

The exact set of slash commands is defined in internal/cli/cmd_repl.go — check there for the latest list.

The REPL reads one line per message — each line you type (or pipe in) is sent as its own message. Long single-line inputs are fine (up to 1 MB), so a big pasted paragraph works as long as it doesn’t contain newlines. A dedicated multi-line input mode hasn’t shipped yet.

Voice input in the terminal (mic capture + playback) hasn’t shipped yet — it’s on the roadmap. Two voice-related commands exist today:

Terminal window
aibutler voice status # show configured STT/TTS providers and limits
aibutler voice providers # list available STT/TTS providers
FeatureSupported
Text streamingYes
Multi-line inputOne line per message (large single-line pastes OK)
Command historyNot built in — use your terminal’s scrollback
Syntax highlightingPlain terminal rendering
Markdown renderingPlain text for now
File inputPipe via stdin (each line is sent as its own message)
Voice inputPlanned
Shared memoryYes (cross-channel)

Sessions persist to disk. You can jump back into a previous conversation:

Terminal window
aibutler resume # pick from a list of recent sessions
aibutler resume <id> # resume a specific session by ID

For programmatic control, use the A2A protocol or MCP server interfaces instead of driving the REPL from a script.