Right-side file-tree sidebar that opens workspace files, plus a DeepSeek account balance meter in the composer stats line.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:nailing10086-zx/dsh-custom-ui
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Custom UI plugin for DeepSeek Harness Web.
Adds a right-side file-tree sidebar, workspace file open, and a DeepSeek account balance meter in the composer stats line.
Features
- Balance meter — shows the DeepSeek account balance in the composer stats line. The API key is resolved server-side only through the credentials seam (
credentialReffrom@deepseek-ai/dsh-credentials) — it never crosses the wire to the browser. - File tree sidebar — a right-side workspace file tree for quick navigation, with collapse/expand and a floating toggle button.
- Workspace file open — open files/folders with the system default application (workspace-rooted; path traversal guarded).
Install
dsh plugin --profile web add dsh-custom-ui
Then restart dsh web. If installed from a local checkout instead, link it via pnpm link (or "dsh-custom-ui": "link:<path>" in the profile's package.json) and rebuild.
Requirements
- DeepSeek Harness Web (
dsh web) DEEPSEEK_API_KEYconfigured in the harness credentials (for the balance meter; the file tree works without it)
Host routes
| Route | Purpose |
|---|---|
GET /api/custom-ui/balance |
DeepSeek account balance (via DEEPSEEK_API_KEY through the credentials seam) |
GET /api/custom-ui/fs/list |
Directory listing (workspace-rooted) |
GET /api/custom-ui/fs/open |
Open a file/folder with the system default |
Development
# host half (server routes)
node lib/index.js # or run through dsh plugin dev flow
# client half (browser UI) — HMR while `pnpm run dev:web` runs in the DSH checkout
# client-plugin changes reload without a refresh only while the dev:web watcher is running
Build the client bundle with your DSH toolchain, then restart dsh web.
Security
- The API key is resolved server-side only; the browser client never receives it.
- File routes are workspace-rooted:
resolve()+ prefix check against the workspace root blocks path traversal. - Review
lib/index.jsandlib/client.jsbefore installing if you did not clone from the official repo.
License
MIT — see LICENSE.
Links
More in this category
zhu1090093659/dsh-web-ui#packages/dsh-web-ui-all★ 4021
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
omdsh-dev/DSH-better-sidebar★ 1904
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
ccch1mneyyy/dsh-TUI★ 1782
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
omdsh-dev/dsh-at-file★ 320
Codex-style `@file` mentions: search workspace files in the composer and attach their contents to prompts.
huiliyi37/dsh-tianshu-tui★ 201
A terminal UI (TUI) for DeepSeek Harness.
omdsh-dev/dsh-genui★ 176
Interactive UI components rendered inline in replies: layout, charts, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model.