At a glance
What it does
Expose your Open WebUI models to DSH through a local OpenAI-compatible API, with in-app proxy controls and usage reporting.
Desktop Profile, Web Profile
Not declared in supplied evidence
Evidence-verified
Checked Sep 15, 2026, 2:24 PM UTC
Code-evidenced contributions
What it adds to DSH
Adds an in-DSH panel to configure, start, stop, diagnose, and inspect usage for the local Open WebUI proxy.
Mechanism evidence ↗Runs a local reverse proxy that exposes Open WebUI models through an OpenAI-compatible /v1 API.
Mechanism evidence ↗Before you choose it
This DSH bundle packages chat2api as a local reverse proxy between DSH or another OpenAI-compatible client and your Open WebUI instance. Its OWUI panel lets you configure the Open WebUI URL and local host/port, start or stop the proxy, run environment checks, sync models and reasoning levels, view process logs, and review token-based usage and estimated costs.
Best for
DSH Desktop or stock web UI users who already use Open WebUI and want its models available through a local OpenAI-compatible /v1 endpoint.
Common tasks
- Connect DSH to models available in your Open WebUI instance.
- Start and monitor the local Open WebUI proxy from DSH.
- Sync discovered models and supported reasoning-effort levels into DSH.
- Review per-model token usage and cost estimates using a manually maintained price table.
Permissions and data
The bundle operates a local proxy and needs access to your Open WebUI session on this machine.
Permissions- Runs a bundled local reverse proxy.
- Opens a browser window for Open WebUI sign-in on first use.
- Listens only on 127.0.0.1 according to the README.
- Keeps the Open WebUI browser profile, token data, and usage database on the local machine.
- Stores usage data and proxy configuration under ~/.dsh so they persist across plugin updates.
- The README states session files are excluded from Git and the package.
- Connects to the Open WebUI URL you configure.
- Requires an Open WebUI browser sign-in; the session is reused after sign-in.
Limitations
- Python plus requests and Playwright may need to be installed before the proxy can run.
- A real Open WebUI URL must replace the default placeholder.
- Model availability may require using the panel's sync action and restarting DSH.
- No npm distribution for package version 0.9.0 was found in the supplied evidence.
What DSHub checked
- The package manifest, DSH bundle patch, and immutable Git distribution path were verified.
- The manifest declares package version 0.9.0 and MIT licensing.
- The supplied README documents desktop and web profile installation, local proxy behavior, and the OWUI panel.
What DSHub did not check
- Installation, proxy startup, Open WebUI authentication, model sync, and dashboard behavior were not executed.
- No DSH Harness version range is declared in the supplied evidence.
- Compatibility with a particular Open WebUI deployment or model provider was not tested.
Pinned install
Install Open WebUI chat2api for DSH
This plugin bundle does not have a DSH Plugin install action. Use its source documentation for the delivery method.
Maintainer source
Project README
English | 简体中文
dsh-owui-chat2api
An adapter that exposes the models in your Open WebUI as a standard
OpenAI-compatible /v1 API for DSH
(DSH Desktop or the stock web UI), plus a usage dashboard that lives inside DSH.
It bundles chat2api, runs it as a local reverse proxy, and adds a control panel to the DSH web shell:
DeepSeek Harness (or any OpenAI-compatible client)
│ standard /v1 API → http://127.0.0.1:8000
▼
dsh-owui-chat2api (local reverse proxy, keeps its own login)
▼
your Open WebUI (browser sign-in once, session reused afterwards)
<p align="center">
<img width="690" height="560" alt="The dsh-owui-chat2api control panel inside DSH: status, config, usage dashboard and process log" src="https://github.com/user-attachments/assets/65cd7151-bf5a-4a4c-aaca-85f5ab7f0043" />
</p>Features ✨
- ▶️ Start / stop the proxy from the panel
- 🩺 Environment check: is Python available, are the dependencies installed?
- ⚙️ Configure your Open WebUI URL, host and port
- 📊 Usage dashboard: today / yesterday / month / total, ranked per model with colorful share bars — plus a manual price table (per 1M tokens, cached tokens priced separately) that turns the stats into a cost estimate
- 🧠 One-click model and reasoning-level sync (see Reasoning effort)
- 📜 Process log with error highlighting, follow mode and copy
- 🎨 Color-coded sections with inline Tabler icons that follow the DSH theme (dark / light), zero external requests
Install 📦
Pick one of three ways: A is a single command, B needs no git, C
lets your DSH assistant do the whole thing.
⚡ Option A — one command (recommended)
The dsh CLI ships a plugin manager. One command installs the plugin and
registers it in your profile (dependencies + bundles). Pick the profile that
matches your setup — desktop for DSH Desktop, web for the stock web UI:
dsh plugin --profile desktop add github:Wecury/dsh-owui-chat2api#v0.8.0
dsh plugin --profile web add github:Wecury/dsh-owui-chat2api#v0.8.0
#v0.8.0pins the release tag — use the version you want (omit it to followmain).- Requires
giton PATH (pnpm clones the repo). Behind a proxy? Exporthttp_proxy/https_proxyfirst. - Restart DSH when it finishes. Later updates (same
--profileas install):dsh plugin --profile <desktop|web> update dsh-owui-chat2api.
📦 Option B — from the release tarball (no git needed)
From Releases → Assets, download
dsh-owui-chat2api-<version>.tgz. (The Source code (zip) button is the development tree — for contributing, not for installing.)Unpack it into the plugins folder. The tarball extracts to a
package/directory — move and rename it (tarships with Windows 10+):tar -xzf dsh-owui-chat2api-0.8.0.tgz Move-Item package "$env:USERPROFILE\.dsh\plugins\dsh-owui-chat2api-0.8.0"Register it in
%USERPROFILE%\.dsh\profiles\<desktop|web>\package.json(desktopfor DSH Desktop,webfor the stock web UI):"dependencies": { "dsh-owui-chat2api": "link:%USERPROFILE%\\.dsh\\plugins\\dsh-owui-chat2api-0.8.0" }, "dsh": { "profile": { "bundles": [ /* ... */ "dsh-owui-chat2api" ] } }Match the folder name to the version you downloaded.
🤖 Option C — let your DSH install it
Paste this to your DSH assistant and it will do the rest:
请帮我安装 DSH 插件 dsh-owui-chat2api(GitHub 仓库 Wecury/dsh-owui-chat2api)。
步骤:
1. 执行:dsh plugin --profile desktop add github:Wecury/dsh-owui-chat2api#v0.8.0
(用原版 web 界面就把 --profile desktop 换成 --profile web。需要本机有 git。
如果 dsh plugin 不可用,改用手动方式:从仓库 Releases 的 Assets 下载
dsh-owui-chat2api-<版本>.tgz,解压得到 package/ 文件夹,移动并改名为
%USERPROFILE%\.dsh\plugins\dsh-owui-chat2api-<版本>;然后在
%USERPROFILE%\.dsh\profiles\<desktop|web>\package.json 的 dependencies 里加
"dsh-owui-chat2api": "link:<该目录的绝对路径>",并把 "dsh-owui-chat2api"
加进 dsh.profile.bundles 数组)
2. 重启 DSH。
3. 验证:DSH 页面右上角出现 OWUI 圆标;点开面板,Status 区能显示状态即成功。
Quick start 🚀
- Restart DSH (after any install option above). The OWUI pill appears in the top-right corner.
- Open the panel and set your Open WebUI URL (the default is a placeholder).
- Click Start. The first run opens a browser window for a one-time sign-in; the session is reused afterwards.
Troubleshooting 🔧
| Symptom | What to do |
|---|---|
| Diagnostics shows Attention | Install the dependencies: pip install requests playwright, then playwright install |
| Login fails / asks to sign in again | Click Login in the panel and sign in once in the window |
| Models missing from the DSH picker | Click Sync models & reasoning levels, then restart DSH |
The URL is your-open-webui.example.com |
That's the placeholder — set your real address, then Start |
Reasoning effort 🧠
Reasoning models (e.g. served behind a vLLM gateway) honour reasoning_effort,
so DSH's model picker can show Off / Low / Medium / High.
The easiest way is the Sync models & reasoning levels button in the Configuration section: it probes your models, declares the supported level for each, and writes a backup first. When your backend gains a model, click it again — already-probed models hit the cache.
For manual declaration or using chat2api.py standalone, see
DEVELOPMENT.md.
Data & security 🔒
- Your Open WebUI session (
.chrome-profile,token.json, the usage database) stays on this machine and is excluded from git and from the package. - The usage database and the proxy config live under
~/.dsh, outside the plugin directory, so they survive plugin updates. - The proxy listens on
127.0.0.1only.
Development 🛠️
See DEVELOPMENT.md for the code layout, conventions and how to test a change locally.
License ⚖️
- Plugin code (outside
chat2api/): MIT — see LICENSE. - The bundled
chat2api/proxy: MIT © openwebui-chat2api contributors — see THIRD_PARTY_NOTICES.md and Sozbo-Tang/openwebui-chat2api.
Operate deliberately
Install and manage
Prerequisites and target Profile
Target: Desktop Profile, Web Profile
Delivery: Dsh Bundle Git — Wecury/dsh-owui-chat2api#95e73934a52ff7552d882b06c477a416d7e9e638。
Verify, update, and remove
Show lifecycle commands
dsh plugin --profile desktop listCompatibility and access
Targets DSH Desktop and stock DSH web UI profiles: Not declared in supplied evidence。
Review compatibility evidence ↗
Risk facts
Runs a local proxy on 127.0.0.1 and requires Open WebUI sign-in.
Evidence ↗Stores an Open WebUI session, proxy configuration, and usage database under local DSH data locations.
Evidence ↗Evidence and editorial reviewManifest, Bundle patch, distribution and freshness
Immutable evidence
Review status and source activity
Use the pinned Git bundle source rather than assuming npm installation is available.
AI reviewed Sep 15, 2026, 2:25 PM UTC。GitHub facts last checked Sep 15, 2026, 2:25 PM UTC。
No material source change has been recorded since this evidence baseline.