deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:wangzhishou/onebox-dsh-bridge
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
English | 简体中文
A DeepSeek Harness (dsh) plugin that bridges your local dsh web to the OneBox cloud relay, so the OneBox Android app can reach your computer's AI agent over the public internet — scan-to-pair, token management and tunnel frame multiplexing, all inside the plugin. Your agent is online as soon as dsh web starts.
Built for the open-source OneBox (万宝盒) Android app. The plugin page also includes the app download info, so anyone running DSH can pair their phone in a minute.
OneBox App ⇅ https://api.wanbaohe.com/dsh/* (cloud relay)
⇅ outbound WSS (control tunnel, JSON frame multiplexing)
onebox-dsh-bridge (this plugin)
⇅ loopback
local dsh web (127.0.0.1:3080)
/onebox-bridge page in the dsh web GUI (self-contained HTML, zero external deps) showing the pairing QR code and online statusPOST /dsh/pair-sessions → a ≥128-bit secret is generated locally and encoded into the QR (oneboxdsh://pair?v=1&g=…&p=…&s=…) → polls GET /dsh/pair-sessions/:id/status?s=… every 2s; once the app scans and claims, the plugin receives its device token/dsh/agent?token=…; tunnel frames: http → local POST /api/<method> answered by http-resp; ws-open/ws-frame/ws-close bridge the local /api/events.mux|host streamsWith the dsh CLI installed:
dsh plugin --profile web add onebox-dsh-bridge
Running dsh from a source checkout (prefix commands with pnpm dsh, from the deepseek-harness repo root):
pnpm dsh plugin --profile web add onebox-dsh-bridge
The package declares dsh.bundle, so add automatically merges the plugin row into the profile's composition layer. Restart dsh web to take effect.
Compatibility: verified against dsh 0.1.0-rc.7 (npm latest) and 0.1.0-rc.8 (npm next) — pairing page, status API and QR pair-session creation all pass on both. The plugin must live in the web profile (it injects the webServer service that only the web composition provides).
Installing straight from GitHub also works:
dsh plugin --profile web add github:wangzhishou/onebox-dsh-bridge
http://127.0.0.1:3080/onebox-bridge in dsh web (adjust the port to your deployment)Page buttons: Regenerate QR code (invalidates the old session and creates a new pairing session; codes expire after 10 minutes and are rebuilt automatically) and Unbind & re-pair (deletes the local token, back to waiting-for-scan).
The plugin is the computer-side half; the phone-side half is the free, open-source OneBox Android app:
| Plugin pairing page | App connect page | App chat control | Feedback & stats |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
All optional. Priority: environment variable > plugin config > default.
| Key | Env var | Default | Description |
|---|---|---|---|
gateway |
ONEBOX_DSH_GATEWAY |
https://api.wanbaohe.com |
OneBox gateway. For the international app (Google Play build, api.oneboxable.com) you must set this to https://api.oneboxable.com, otherwise scanned pairings land in the CN database and the login state won't match |
upstream |
ONEBOX_DSH_UPSTREAM |
127.0.0.1:3080 |
Local dsh address (host:port) |
deviceName |
— | system hostname | Device name reported to the app during pairing |
dataDir |
ONEBOX_DSH_DATA_DIR |
~/.dsh/profiles/web/onebox-dsh-bridge |
Token storage directory (token.json, mode 0600; old tokens are invalidated automatically after a gateway change) |
To change config, override the whole row in the profile's ~/.dsh/profiles/web/cordis.patch.yml (a patch replaces the entire config value — list every key):
- id: onebox-dsh-bridge
name: 'onebox-dsh-bridge'
config:
gateway: https://api.wanbaohe.com
upstream: 127.0.0.1:3080
deviceName: My Mac
dsh plugin --profile web remove onebox-dsh-bridge
Optionally delete the credentials directory ~/.dsh/profiles/web/onebox-dsh-bridge/; paired devices can be revoked in the app under My Computers.
/onebox-bridge page, like dsh web itself, has no extra auth (loopback-only by default); the QR code contains the pairing secret — never expose dsh web directly to the public internetws + qrcodeCLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。