Aider reads OPENAI_API_BASE and OPENAI_API_KEY for OpenAI-compatible endpoints. Point the base at DaoXE and prefix your model with openai/ so Aider takes the OpenAI-compatible path. A cheap --weak-model handles commit messages while a stronger one does the edits — see the cheapest APIs guide.
Why route Aider through DaoXE#
- Terminal + git native. Aider commits its own diffs; DaoXE just supplies the model.
- Strong + weak split. Frontier model for edits, cheap model for commit messages, one key.
- No lock-in. Two env vars; revert anytime.
Set it up in Aider#
- Export the endpoint. Set
OPENAI_API_BASE=https://daoxe.com/v1andOPENAI_API_KEYto your DaoXE key. - Run with an openai/ model.
aider --model openai/YOUR_EXACT_MODEL_ID— theopenai/prefix is required. - Add a weak model (optional).
--weak-model openai/YOUR_SMALL_MODEL_IDfor cheap commit messages and summaries. - Persist it (optional). Put the vars in
.envor the model in.aider.conf.ymlso you don't retype them.
export OPENAI_API_BASE="https://daoxe.com/v1"
export OPENAI_API_KEY="your_api_key"
# The openai/ prefix tells Aider to use the OpenAI-compatible path
aider --model openai/YOUR_EXACT_MODEL_ID
# optional: a cheaper model for commit messages / summaries
# --weak-model openai/YOUR_SMALL_MODEL_IDCaveats worth knowing
The openai/ prefix matters: Aider uses LiteLLM under the hood, and the prefix selects the OpenAI-compatible route to your OPENAI_API_BASE. Use exact IDs from GET /v1/models. Some reasoning models need extra flags; check Aider's model settings. Don't set a conflicting real OPENAI_API_KEY elsewhere in your shell.
Verify you actually get the model#
Prove the endpoint works before blaming the client — if this fails, no setting will fix it:
export DAOXE_API_KEY="your_api_key"
# List the exact model IDs your account can call
curl --fail-with-body --show-error --silent \
https://daoxe.com/v1/models \
-H "Authorization: Bearer ${DAOXE_API_KEY}"Confirm the endpoint independently, then compare a fixed prompt against the official API at temperature 0 before trusting big refactors:
curl --fail-with-body --show-error --silent \
https://daoxe.com/v1/chat/completions \
-H "Authorization: Bearer ${DAOXE_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_EXACT_MODEL_ID",
"max_tokens": 64,
"messages": [{"role": "user", "content": "Say hello in one sentence."}]
}'Verify us — don't trust us
Point the open benchmark at DaoXE and at the official API and compare at temperature 0. Then learn to detect model swapping so a cheaper endpoint can't quietly swap you to a smaller model.
Frequently asked questions#
Why prefix the model with openai/?
Aider uses LiteLLM; openai/ tells it to use the OpenAI-compatible route to your OPENAI_API_BASE (DaoXE).
Where do I set the base URL?
Export OPENAI_API_BASE=https://daoxe.com/v1 and OPENAI_API_KEY (your DaoXE key).
Can I use a cheaper model for commits?
Yes — pass --weak-model openai/<small-id>; Aider uses it for commit messages and summaries.
Which model IDs work?
Any exact ID from GET /v1/models for your account, prefixed with openai/.
Try DaoXE — and benchmark it yourself
One key for GPT, Claude, Gemini, DeepSeek and more. Point the open benchmark at us and compare — don't take our word for it.