Open WebUI speaks the OpenAI API, so DaoXE plugs in as a Connection: set the base URL and key, and it lists your models automatically. One connection serves every user on the instance. See the cheapest APIs guide for using a cheap model for background tasks and a frontier one for chat.
Why route Open WebUI through DaoXE#
- Self-hosted, multi-user. One DaoXE connection powers chat for your whole team.
- One key, many models. GPT, Claude, Gemini and DeepSeek appear in the model picker from a single connection.
- Cheap task model. Point title/tag generation at a cheap DaoXE model and keep a frontier one for real chat.
Set it up in Open WebUI#
- Open Connections. Admin Panel → Settings → Connections (or your profile's Connections for a personal setup).
- Add an OpenAI connection. Set the API Base URL to
https://daoxe.com/v1and paste your DaoXE key, then save. - Confirm models populate. Open the model selector — DaoXE model IDs from
GET /v1/modelsshould appear. If the list is empty, the connection failed. - Set a task model (optional). In Admin settings, point title/tag/autocomplete tasks at a cheap DaoXE model to cut background cost.
Caveats worth knowing
The base URL must be the /v1 root — Open WebUI appends /models and /chat/completions itself. An empty model list means the connection failed (wrong URL or key), not that there are no models. You can also set it at container start with OPENAI_API_BASE_URL/OPENAI_API_KEY env vars. Remember background features (title generation, RAG query rewriting, embeddings) also consume tokens — set them to a cheap model. Embeddings need an embedding-capable model ID.
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 Open WebUI first, 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#
What base URL does Open WebUI need?
Use the OpenAI API connection with base URL https://daoxe.com/v1 — Open WebUI appends /models and /chat/completions.
My model list is empty — why?
The connection failed. Re-check the base URL (must end at /v1) and the key; confirm with GET /v1/models.
Can I set it via environment variables?
Yes — OPENAI_API_BASE_URL=https://daoxe.com/v1 and OPENAI_API_KEY at container start also work.
How do I cut background token cost?
Point title/tag/query tasks at a cheap DaoXE model in Admin settings; keep a frontier model for chat. Advantage: typically ~30–80% below list via low-price groups.
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.