Aider
Wire: OpenAI. Base URL: https://sator-api.princep.org/v1. State: verified against Aider's OpenAI-compatible docs. (An Anthropic-wire variant is described below; it is partially verified.)
Install#
python -m pip install aider-install && aider-installor any of the installers in Aider's docs.
Configure#
Aider reads the OpenAI-compatible base URL and key from the environment. The model must be prefixed with openai/ so Aider routes it through its OpenAI-compatible path:
export OPENAI_API_BASE=https://sator-api.princep.org/v1
export OPENAI_API_KEY=sk-sator-v1-...
aider --model openai/deepseek-v4-flashThe same three settings can go in ~/.aider.conf.yml (openai-api-base, openai-api-key, model) or a .env in the project.
Aider will warn that it has no metadata (context window, cost) for an unknown model. Per Aider's docs, a .aider.model.metadata.json in the project supplies it — the keys below are the ones its documentation shows, not ones we have run:
{
"openai/deepseek-v4-flash": {
"max_input_tokens": 1000000,
"max_output_tokens": 384000,
"litellm_provider": "openai",
"mode": "chat"
}
}The numbers are from Models. Costs in this file are for Aider's own display only; the dashboard shows what you are charged.
Verify#
aider --model openai/deepseek-v4-flash --message "Reply with exactly: ok"prints ok and a token summary; the request appears in your dashboard.
Anthropic wire (partially verified)#
Aider's Anthropic path goes through LiteLLM, which appends /v1/messages to an ANTHROPIC_API_BASE — so the bare host applies. Aider has no --anthropic-api-base flag; the environment variable is the only route, and we have verified this from LiteLLM's documentation rather than by running it:
export ANTHROPIC_API_BASE=https://sator-api.princep.org
export ANTHROPIC_API_KEY=sk-sator-v1-...
aider --model anthropic/deepseek-v4-flashTroubleshooting#
- 404 on every request —
OPENAI_API_BASEis missing its/v1. - "Unknown model" and nothing sent — the
openai/prefix is missing. Aider needs it to know which client to use. OPENAI_BASE_URLset but ignored — Aider readsOPENAI_API_BASE(the OpenAI SDK readsOPENAI_BASE_URL; the two tools differ).