A minimal CLI agent for local models, via Ollama or llama.cpp. Inspired by Claude Code. Only tested with models in the 27–35B range.
Requires Node.js 22.18+ (the CLI runs its TypeScript sources directly, no build step).
- Run a backend: Ollama (
ollama pull <model>) or llama.cpp (llama-server --jinja). - Copy
.env.exampleto.env, setPROVIDERand the matching host (OLLAMA_HOSTorLLAMACPP_HOST). LeaveMODELempty and it is taken from the server at startup. npm link, then runsupin any directory.
Every setting is an .env variable with a sane default — see .env.example. sup --llama (or sup --provider <name>) switches provider for a single run.
- All file tools are confined to the working directory; sensitive files (
.env, keys, credentials) are refused for both reading and writing. - Starts in auto mode, so edits (
write_file/edit_file),fetch_urlandweb_searchrun unattended while non-allowlisted shell commands still ask[y / n / type feedback];USE_AUTO_MODE=falsestarts in normal mode, where those ask too. Read-only tools (read_file,grep,glob) never ask. - The shell tool is on by default (
USE_SHELL_TOOL=falseto disable). sup --dangerously-skip-permissionsbypasses every approval prompt for the whole session — only use it when you trust the model and the working directory.