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.
aibutler replWhat You Get
Section titled “What You Get”- 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)
Quick Start
Section titled “Quick Start”$ aibutler replAI Butler v0.1.0 REPLType /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 neovimGot it — I'll remember you prefer neovim.
> /quitGoodbye.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.
Built-in Slash Commands
Section titled “Built-in Slash Commands”The REPL supports slash commands for runtime inspection and control:
| Command | What it does |
|---|---|
/help (or /h) | Show available commands |
/status | Show session ID, message count, and estimated tokens |
/cost | Show monthly spend against your configured budget |
/compact | Force context compaction on the next message |
/model | Show the current model |
/clear | Clear conversation history |
/memory | Show session memory stats |
/diff | Show 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.
Multi-line Input
Section titled “Multi-line Input”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
Section titled “Voice Input”Voice input in the terminal (mic capture + playback) hasn’t shipped yet — it’s on the roadmap. Two voice-related commands exist today:
aibutler voice status # show configured STT/TTS providers and limitsaibutler voice providers # list available STT/TTS providersFeatures
Section titled “Features”| Feature | Supported |
|---|---|
| Text streaming | Yes |
| Multi-line input | One line per message (large single-line pastes OK) |
| Command history | Not built in — use your terminal’s scrollback |
| Syntax highlighting | Plain terminal rendering |
| Markdown rendering | Plain text for now |
| File input | Pipe via stdin (each line is sent as its own message) |
| Voice input | Planned |
| Shared memory | Yes (cross-channel) |
Resuming Sessions
Section titled “Resuming Sessions”Sessions persist to disk. You can jump back into a previous conversation:
aibutler resume # pick from a list of recent sessionsaibutler resume <id> # resume a specific session by IDFor programmatic control, use the A2A protocol or MCP server interfaces instead of driving the REPL from a script.