dsh-owui-chat2api
DeepSeek Harness 的 Open WebUI chat2api 控制器:运行内置的反向代理,调整其配置,并在 DSH 内部面板中监控每次调用的使用情况。
AI 分析
用于将 Open WebUI 中的模型转换为标准 OpenAI 兼容接口。适合需要在 DSH 中直接调用 Open WebUI 模型并监控使用情况的用户,需在 DSH Desktop 环境下安装配置。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Wecury/dsh-owui-chat2api说明文档
阅读完整 README ↗English | 简体中文
dsh-owui-chat2api
An adapter that exposes the models in your Open WebUI as a standard
OpenAI-compatible /v1 API for DeepSeek Harness Desktop, 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)
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
- One-click model and reasoning-level sync (see Reasoning effort)
- Process log with error highlighting, follow mode and copy
Quick start
Requires DeepSeek Harness Desktop.
-
Put the plugin folder in
%USERPROFILE%\.dsh\plugins\(e.g.dsh-owui-chat2api-0.7.1). -
Add it as a dependency in
%USERPROFILE%\.dsh\profiles\desktop\package.json:"dependencies": { "dsh-owui-chat2api": "link:%USERPROFILE%\\.dsh\\plugins\\dsh-owui-chat2api-0.7.1" }, "dsh": { "profile": { "bundles": [ /* ... */ "dsh-owui-chat2api" ] } }Use the folder name you actually installed.
-
Restart DSH Desktop. 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.