Open WebUI
Connect a self-hosted ChatGPT-like UI to all 90+ platform models through an OpenAI API connection
Open WebUI is an open-source ChatGPT-like interface with self-hosting, multi-model support and a user system. Connect it over an OpenAI-compatible API connection and every model in our catalog (90+, growing) is immediately available.
Install (Docker)#
docker run -d \
-p 3000:8080 \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
Open http://localhost:3000 and create the admin account on first run.
Setup#
- Settings → ⚙️ Connections
- In the OpenAI API section:
- API Base URL:
https://dianqi.zsopc.com/v1 - API Key: your
sk-gpushare-*key (sk-gpushare-plus 64 hex characters; create it on the console keys page, where the detail page can re-reveal it any time)
- API Base URL:
- Click Verify Connection
- Save
Note: Verify Connection calls
GET /v1/models, and that endpoint doesn't check your balance — so verification succeeds even at zero balance, while every conversation then returns 402. See Troubleshooting below.
Choosing models#
Once the connection is saved, catalog models appear automatically in the model picker (pulled from GET /v1/models, so the list tracks the catalog — nothing to type by hand).
Turn off the non-chat SKUs first: /v1/models returns the whole catalog, and the image (doubao-seedream-*, grok-imagine-image*), video (doubao-seedance-*, grok-imagine-video*) and 3D SKUs use separate endpoints. Calling them from a chat UI only errors (400 invalid_request or 503 no_channel_available).
How:
- Settings → ⚙️ Models
- Toggle off the non-chat SKUs and anything you don't want exposed to users
Teams and multiple users#
Open WebUI has its own user system, and all of those users share the single platform key you configured — while on our side every key shares one account balance (one wallet, no per-key budget pool). We suggest:
- Create a dedicated key for Open WebUI — the value is usage attribution (per-key view on the usage page) and the
allowed_modelsallowlist (restricting which models this key may call), not budget isolation - When you need hard budget isolation, register a separate account for the team (balance is per account; top up at dflop.top/dashboard/billing, same SSO account as dianqi.zsopc.com)
- Use Open WebUI's own user permissions to control which models each user sees
RAG / embeddings#
The platform retired its embedding SKUs in July 2026, so POST /v1/embeddings currently has no available model. Use a local option for Open WebUI's RAG (knowledge base):
Settings → ⚙️ Documents → Embedding Model Engine:
- the default SentenceTransformers (built in, offline), or
Ollama+nomic-embed-text(local, free)
Streaming#
Open WebUI streams by default and is fully compatible with our protocol. See Streaming.
Tool calling#
Open WebUI's Functions system supports OpenAI function tools, and almost every chat model here supports them (go by the supports_tools flag on the model plaza / in Models; image, video and embedding SKUs don't). See Tool calling.
Web search#
Open WebUI's own web search is a separate feature and does not use this gateway's web_search tool. The two can run side by side:
- Open WebUI web search → uses whatever SearXNG / Google CSE / Brave API you configured
- Models with a built-in
web_search(GPT-5.x, some Claude models, the Gemini line — see the model plaza) → use the gateway's built-in tool. Note that tool is only available on streaming requests (Open WebUI streams by default, so this rarely matters)
Troubleshooting#
| Symptom | What to check |
|---|---|
| Empty model list | API Base URL spelling — /v1 is required |
401 invalid_api_key | Whether the key was copied in full (sk-gpushare- plus 64 hex characters, 76 total); re-reveal it on the key detail page |
Verify Connection passes but chat returns 402 insufficient_quota | Balance exhausted (verification doesn't check balance). All keys share one balance so a new key won't help — top up at dflop.top/dashboard/billing |
| Certain models 400 / 503 the moment you click them | Non-chat SKUs (image, video, embedding) can't be used from a chat UI — toggle them off, see Choosing models above |
| Streaming doesn't work | Whether your reverse proxy buffers (Nginx needs proxy_buffering off) |
| Want to see what this key spent | Per-key view on the usage page |
Other clients#
- Claude Code — AI coding on the command line
- Cursor — AI built into the IDE
- Cline (VS Code) — agentic AI coding
- Continue.dev — VS Code / JetBrains
- FlopCode — this platform's official fork