NextChat speaks OpenAI-compatible HTTP, so DaoXE is an endpoint swap — in the Settings UI or via OPENAI_BASE_URL when you self-host. Its CUSTOM_MODELS list then shapes exactly which account-scoped IDs appear (cheapest APIs guide).
Why route NextChat through DaoXE#
- Self-hosted in minutes. Docker + two env vars; your conversations live on your server.
- The picker is your catalogue.
CUSTOM_MODELSwhitelists (or--prefixes away) real IDs fromGET /v1/models. - One key for the whole instance. Every user of your NextChat deployment shares the DaoXE balance.
Set it up in NextChat#
- Hosted app: Settings. Open Settings → Model Provider → OpenAI, paste the DaoXE key, and set the API endpoint to
https://daoxe.com/v1. - Self-hosted: env. Set
OPENAI_API_KEYandOPENAI_BASE_URL=https://daoxe.com/v1in docker-compose / Vercel env. - Shape the model list. Use
CUSTOM_MODELSto list exact IDs (prefix-to hide built-ins you can't call). - Send a test message. Then check the response's model field — it should echo the ID you picked.
# self-hosted: docker-compose env
OPENAI_API_KEY=sk-you…-key
OPENAI_BASE_URL=https://daoxe.com/v1
CUSTOM_MODELS=glm-5.3-flash,-gpt-4oCaveats worth knowing
OPENAI_BASE_URL ends at /v1 — NextChat appends /chat/completions; a missing suffix is the classic 404. Built-in model names that your key can't call must be hidden via CUSTOM_MODELS=-name or the picker will offer dead entries. Server-side vs client-side API mode changes where the key lives — keep it server-side for shared deployments. More clients: client setup notes.
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}"Verify the endpoint before wiring the UI, then diff a hard 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#
Does NextChat work with DaoXE?
Yes — it's an OpenAI-compatible endpoint swap: key + https://daoxe.com/v1, in Settings or via OPENAI_BASE_URL.
Why do some picker models error?
They're built-in names your key can't call. Hide them: CUSTOM_MODELS=-gpt-4o,… and list only IDs from GET /v1/models.
Self-hosted or Vercel?
Both take the same env vars. For shared deployments keep the key server-side (API mode), not in visitors' browsers.
What does it cost?
Per-model, account-scoped — live pricing; top-up is a flat 1 RMB = $1 of credit on every payment method.
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.