terminus-code
v1.2.0
Published
Terminus Code — a multi-provider AI coding assistant for your terminal. Bring your own API keys (OpenRouter, Gemini, Groq, and more).
Maintainers
Readme
Terminus Code
A multi-provider AI assistant for your terminal. Bring your own API keys — OpenRouter, Gemini, Groq, and more — and chat with any model without leaving the command line.
Install
cd terminus-code
npm install
npm link # makes the `terminus` command available globallyOr run it directly without linking:
node bin/terminus.jsFirst run
terminus
/keys set openrouter sk-or-...
/keys set gemini AIza...
/keys set groq gsk_...
/model/model with no arguments opens an interactive picker: choose a provider, then filter/select from its live model list.
Commands
| Command | Description |
|---|---|
| /new | Start a new chat (clears context) |
| /model <provider:model> | Switch directly, e.g. /model openrouter:openai/gpt-4o-mini |
| /model list [provider] | List available models for a provider |
| /model | Interactive provider + model picker |
| /keys | List configured API keys (masked) |
| /keys set <provider> <key> | Save an API key |
| /keys remove <provider> | Delete a stored API key |
| /search <query> | Search the web via DuckDuckGo |
| /history | Show recent input history |
| /clear | Clear the terminal |
| /help | Show all commands |
| /exit | Quit |
Plain text (no leading /) is sent to the current model as a chat message. Use the Up/Down arrow keys to browse your input history, just like a shell.
Supported providers
- OpenRouter — proxies almost any hosted model (OpenAI, Anthropic, Meta, etc.)
- OpenAI
- Gemini — Google's Gemini API
- Groq — fast inference for open models
- Meta (Llama)
- Kimi
- Mistral
- DeepSeek
- xAI (Grok)
- Together AI
- Cerebras
- Perplexity — Sonar models (no tool-calling support)
- Fireworks AI
Want more? The terminus-code-providers-plus plugin adds Cohere, AI21,
SambaNova, DeepInfra, and Novita AI without waiting on a core release — see
the plugin dev guide (Plugins tab → "View plugin dev guide" in /settings).
Each provider adapter lives in src/providers/ and implements two functions: listModels(apiKey) and chat({ apiKey, model, messages, onToken }). Add a new provider by dropping a file in there with the same shape and registering it in src/providers/index.js.
Web search
Terminus Code detects when your message looks like it needs fresh information (e.g. contains "latest", "today", "search", etc.) and automatically pulls a few DuckDuckGo results into context. You can also trigger a search manually with /search <query>.
Config storage
API keys and your last-used model are stored locally via conf, typically at:
- Windows:
%APPDATA%\terminus-code-nodejs\config.json - macOS:
~/Library/Preferences/terminus-code-nodejs/config.json - Linux:
~/.config/terminus-code-nodejs/config.json
You can also set keys via environment variables instead: OPENROUTER_API_KEY, GEMINI_API_KEY, GROQ_API_KEY.
License
MIT — Author: CodeStuff
