RouterAI provider extension for Pi — connect your terminal coding agent to hundreds of LLMs via RouterAI's OpenAI-compatible API.
- Dynamic model discovery — Fetches live model list from
https://routerai.ru/api/v1/models - Actual context windows & pricing — Uses
context_lengthandpricingfrom API - Capability detection — Vision (
imageinput modality) and reasoning (reasoningparameter) detected automatically - OpenAI-compatible API — Uses
openai-completionsstreaming (works with all Pi features) - Embeddings tool — Generate embeddings via
/v1/embeddingsfor RAG and similarity search - Direct chat tool — Send one-off completions for model comparison or testing
- Authentication — Supports Pi's native
~/.pi/agent/auth.jsonand environment variables
| Provider | Model ID | Capabilities |
|---|---|---|
| OpenAI | openai/gpt-5.2-codex |
Reasoning, Vision, 400K ctx |
| Anthropic | anthropic/claude-sonnet-4.6 |
Reasoning, Vision |
google/gemini-3.1-pro-preview |
Reasoning, Vision | |
| DeepSeek | deepseek/deepseek-v3.2 |
Text only |
| Qwen | qwen/qwen3-coder-next |
Reasoning |
| Z.ai | z-ai/glm-5 |
Reasoning, Vision |
| MiniMax | minimax/minimax-m2.5 |
Reasoning |
Full list is fetched dynamically from RouterAI API.
# Install via pi
pi install npm:pi-routerai
# Or install locally
pi install npm:pi-routerai -l- Get an API key from routerai.ru (sign up and get API key)
- Start Pi and run:
Paste your API key when prompted. It is stored in Pi's
/routerai-login~/.pi/agent/auth.json. - Select a model with
/model→ pick anyrouterai/*model
| Variable | Default | Description |
|---|---|---|
ROUTERAI_API_KEY |
— | API key (fallback if not in auth.json) |
ROUTERAI_BASE_URL |
https://routerai.ru/api/v1 |
Override endpoint |
ROUTERAI_TIMEOUT |
30000 |
Model discovery timeout in ms |
/model
Then pick any routerai/* model. Examples:
routerai/openai/gpt-5.2-codex— OpenAI's coding modelrouterai/anthropic/claude-sonnet-4.6— Anthropic's Clauderouterai/google/gemini-3.1-pro-preview— Google Gemini
| Command | Description |
|---|---|
/routerai-status |
Check API key status and model count |
/routerai-list |
Pretty-print all models with 🧠/🖼️/💬 badges |
/routerai-login |
Save API key to Pi's auth storage |
| Tool | Purpose |
|---|---|
routerai_list_models |
Filter models by family, vision, or reasoning |
routerai_embeddings |
Generate embeddings via /v1/embeddings |
routerai_chat |
Direct chat completion via /v1/chat/completions |
routerai_model_info |
Get detailed metadata for a specific model |
# Check what models are available
Use routerai_list_models to show all available models
# Get embeddings for a document
Use routerai_embeddings with model "openai/text-embedding-3-small" and input "The quick brown fox"
# Compare model outputs
Use routerai_chat with model "openai/gpt-5.2-codex" and messages [{role: "user", content: "Hello"}]
Use routerai_chat with model "anthropic/claude-sonnet-4.6" and messages [{role: "user", content: "Hello"}]
This extension uses RouterAI's OpenAI-compatible API (/v1/chat/completions), which supports:
- Chat completions with streaming
- Vision (multimodal) inputs
- Tool calling
- JSON mode
- Reasoning/thinking control
- Embeddings (
/v1/embeddings)
MIT