Introduction¶
DeepSeek Harness (DSH) supports extending functionality through plugins. If you use Open WebUI locally to manage AI models, additional configuration is usually required to call it as a standard API. The dsh-owui-chat2api plugin uses a local reverse proxy to expose Open WebUI models as a standard OpenAI-compatible /v1 API, with a built-in control panel and usage statistics.
Core Features¶
This plugin mainly provides the following capabilities:
- Proxy Control and Configuration: Start or stop the proxy from the panel, and check the Python environment and dependency installation status. Supports configuring the Open WebUI URL, and the Host and Port for the proxy to listen on.
- Usage and Cost Statistics: Provides statistics panels for today, yesterday, this month, and totals. Displays rankings by model, with bar charts including color components. Supports manually entering a price list (per million tokens, with cached tokens priced separately) to convert usage statistics into cost estimates.
- Cache Tracking: When the backend returns cached tokens, a cache hit rate card is displayed; if cache is not reported, a clear notice is shown. It also displays calls where estimation failed.
- UI Integration:
- Supports DSH Desktop 2.0.10+: Docked as a Dock Tab in the sidebar, without blocking the conversation.
- Older versions: Displayed as a floating pill in the top-right corner.
- Model Management: Supports one-click syncing of models and reasoning levels (reasoning effort). It automatically removes models that have been deleted in Open WebUI, preventing the list from growing indefinitely.
- Logs and Theme: Provides process logs with error highlighting, follow mode, and copy functionality. The UI uses Tabler icons, supports DSH dark/light themes, and sends no external requests.
Installation¶
Install the plugin using the DSH CLI. The plugin depends on git (for pnpm to clone the repository).
dsh plugin --profile desktop add github:Wecury/dsh-owui-chat2api#v0.10.0
After installation, restart DSH.
Usage Steps¶
- Verify and Log In: After restarting DSH, an OWUI pill icon should appear in the top-right corner. Click it to open the panel; the first time you click Start, a browser window opens for a one-time login. The session is reused afterward.
- Configure: Set the correct Open WebUI URL in the panel (it defaults to a placeholder).
- Dependency Check: If the panel displays “Attention”, install the Python dependencies in the terminal:
pip install requests playwright
playwright install
- Sync Models: Click the “Sync models & reasoning levels” button in the panel, then restart DSH so the model list updates.
Notes¶
- Environment Dependencies: Make sure
gitis installed locally. If accessing through a proxy, export thehttp_proxy/https_proxyenvironment variables first. - Data Isolation: Open WebUI session data (
.chrome-profile,token.json) and the usage database are all stored locally, are not included in git commits, and are not lost when the plugin is updated. Configuration and the usage database are located in the~/.dshdirectory. - Network Listening: The proxy listens only on
127.0.0.1. - Windows Installation Issues: If installation on Windows encounters an
[ERR_PNPM_EPERM]error, it is usually caused by a Junction link left from a previous manual installation that blocks installation. Delete the link (delete the link itself only, not the target folder), then rerun the installation command.
Overview¶
- Plugin Name: dsh-owui-chat2api
- Maintainer: Wecury
- Category: Model Inference
- License: MIT
- Repository: https://github.com/Wecury/dsh-owui-chat2api