Zed lets you register an OpenAI-compatible provider from the Agent settings UI or directly in settings.json. Set api_url to DaoXE and list the models you want; the key stays out of the file (env or UI). One key then spans every vendor — see the cheapest APIs guide.
Why route Zed through DaoXE#
- Native, fast editor. Zed's Agent panel drives edits with your DaoXE model.
- Declared models. You list exact IDs and context windows in
available_models. - One key, many vendors. No separate GPT/Claude/Gemini/DeepSeek accounts.
Set it up in Zed#
- Open Agent settings. Run
agent: open settingsand click Add Provider in LLM Providers — or editsettings.jsondirectly. - Set api_url + models. Under
language_models.openai_compatible, add a provider withapi_url: https://daoxe.com/v1and anavailable_modelsentry (exact ID + max_tokens). - Provide the key safely. Enter it in the UI, or set env
DAOXE_API_KEY— Zed derives the var from the provider name. - Select and test. Pick the model in the Agent panel and run a small edit to confirm it works.
// Zed settings.json (agent: open settings -> Add Provider, or edit directly)
{
"language_models": {
"openai_compatible": {
"DaoXE": {
"api_url": "https://daoxe.com/v1",
"available_models": [
{ "name": "YOUR_EXACT_MODEL_ID", "display_name": "DaoXE model", "max_tokens": 128000 }
]
}
}
}
}
// Key is NOT stored here. Set it in the UI, or as env DAOXE_API_KEY
// (Zed derives <PROVIDER_ID_UPPERCASE>_API_KEY from the provider name).Caveats worth knowing
Never put the API key in settings.json — Zed reads an environment variable named <PROVIDER_ID_UPPERCASE>_API_KEY, so provider DaoXE maps to DAOXE_API_KEY. The api_url must include /v1. For reasoning models set reasoning_effort and the right capabilities. IDs are account-scoped — read them from GET /v1/models.
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}"Prove the endpoint independently of Zed, then diff a fixed prompt against the official API at temperature 0:
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#
How does Zed store my API key?
Not in settings.json. Use the UI or set DAOXE_API_KEY — Zed derives the var from the provider name (UPPER + _API_KEY).
What goes in api_url?
https://daoxe.com/v1. It must include /v1.
Do I have to list models?
Yes — add exact IDs under available_models with a max_tokens (context window).
Reasoning model won't think — why?
Set reasoning_effort and the appropriate capabilities in the model entry.
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.