Use DaoXE in Zed

Zed's Agent supports custom OpenAI-compatible providers. Add DaoXE under language_models.openai_compatible and you get GPT, Claude, Gemini, DeepSeek and more in a fast native editor — from one key.

Updated 2026-07-20

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#

  1. Open Agent settings. Run agent: open settings and click Add Provider in LLM Providers — or edit settings.json directly.
  2. Set api_url + models. Under language_models.openai_compatible, add a provider with api_url: https://daoxe.com/v1 and an available_models entry (exact ID + max_tokens).
  3. Provide the key safely. Enter it in the UI, or set env DAOXE_API_KEY — Zed derives the var from the provider name.
  4. Select and test. Pick the model in the Agent panel and run a small edit to confirm it works.
json
// 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:

bash
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:

bash
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.