UI enhancement suite for the DSH web client: Chinese locale completion, one-row stats, auto-expanded thinking, chat width, session archiving and delete, plus an optional prompt-injection switch (off by default).
Install
# from npm (prebuilt)
dsh plugin --profile web add deepseek-harness-zh_pro
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:magian1127/deepseek-harness-zh_pro
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 — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
A comprehensive enhancement plugin for DeepSeek Harness
A comprehensive enhancement plugin for Chinese UI completion, thinking display, session-list controls, service monitoring, and optional model-request localization. Chinese completion applies only to the Chinese interface; all other UI and session enhancements work in both interface languages. Every feature that modifies model requests is an independent explicit toggle and is off by default.
Features
The rows below follow DSH Settings → Enhancements from top to bottom:
| Settings location | Feature | Default | Description |
|---|---|---|---|
| Flat row | Chinese completion | On | Chinese UI only: fixes confirmed leftover English and normalizes tokens, API keys, model IDs, durations, and count formats |
| Flat row | Agent-role prompt localization | Off | Uses Chinese for the four built-in agent roles and confirmed first-party system sections; locked on the first request of a new session and never reinjected into existing sessions |
| Flat row | Tool-description localization | Off | Localizes confirmed built-in DSH tool descriptions and guidance; tool names, parameter names, and third-party tools remain unchanged; new sessions only |
| Flat row | Prompt injection | Off | Injects editable text into subsequent requests; the default text asks for Chinese reasoning and replies, and the default target is the initial system prompt |
| Chat display | Auto-expand latest thinking | On | Expands the newest streaming thinking block and collapses the previous block that the plugin auto-expanded |
| Chat display | Default expanded lines | 20 lines, latest N | Limits the initial visible region to 0–200 lines; 0 disables the limit, and the direction can be changed to earliest N |
| Chat display | Expand mode | Button mode | Button mode reveals lines in batches; scroll mode uses a fixed-height scrolling viewport |
| Chat display | Full stats line | On | Keeps the chat stats on one line, shrinking or scrolling horizontally when needed |
| Session list | Auto-archive old sessions | 7 days | Archives inactive sessions when the New Session view opens; range 0–365, with 0 disabling it |
| Session list | Archived-session view | On | Adds a workspace archive view (its button sits after the select-all button) whose rows can be restored, renamed, forked, or deleted, and can be multi-selected for batch unarchive or batch deletion |
| Session list | Session delete button | On | Shows “Delete session” in row menus; the log moves to the OS recycle bin and no list restore slot is retained |
| Session list | Session multi-select | On | Lets idle rows be selected for batch deletion or archiving; running, pending-interaction, and unread-completion rows are not selectable. Archived-session rows in the archive view are selectable too, with batch unarchive and batch deletion; a select-all button on each workspace row checks every selectable session of that workspace at once (click again to clear) |
| Service monitor | Service monitor | Off | Shows local listening services started during the conversation; hover resolves the process on demand and click reveals its location |
| Service monitor | Refresh interval | 10 seconds | Range 2–300 seconds; polling pauses while the page is hidden |
| Service monitor | Custom watch entries | Empty | Entries can be added or edited and remain visible as online/offline; maximum 100 |
Chat display, Session list, and Service monitor use the same collapsible plugin-card style. They start collapsed and remember their open state independently. See the behavior contract for full interaction, data, and safety boundaries.
Requirements
- DeepSeek Harness Web GUI ≥ 0.1.2-alpha.1, default profile
web - Node.js
^22.19.0 || >=24.0.0
Installation
# Official persistent channel: takes effect on the next natural start
dsh plugin --profile web add deepseek-harness-zh_pro
# Hot install: takes effect immediately while DSH is running
npx -y deepseek-harness-zh_pro install --profile web
Local source debugging (run dependency installation first; prepare generates runtime artifacts):
pnpm install
node bin/dsh-zh.mjs install --profile web --link $PWD
TypeScript source build and checks:
pnpm install
npm run typecheck
npm test
npm pack --dry-run --json
src/ contains the only hand-written source; lib/, bin/, scripts/, and the root
verification scripts are Git-ignored build artifacts. prepare, npm run build, or prepack
generates them as needed, including the classic client script before publishing.
Check the status after installing:
npx -y deepseek-harness-zh_pro status --profile web
Updating
Re-run the install command to update dependencies and the persistent bundle. After browser-side content updates, refresh the page; when developing with a local link, host files hot-reload automatically while the DSH HMR service is available; otherwise diagnose and report the unavailable hot path rather than restarting DSH.
Uninstalling
dsh plugin --profile web remove deepseek-harness-zh_pro
# or
npx -y deepseek-harness-zh_pro remove --profile web
Uninstalling cleans up temporary hot rows and running entries but does not delete DSH session data. Existing values in localStorage and settings may remain and can be reused after reinstalling.
Settings and data
| Data | Storage |
|---|---|
| Chinese completion, thinking display, stats, archived-session view, session deletion, session multi-select, service monitor, and the three cards' open state | Browser localStorage: deepseek-harness-zh_pro:enhancements |
| Agent-role localization, tool-description localization, prompt toggle/text/target, and auto-archive days | DSH settings.yaml, namespace dsh-zh |
The plugin registers no model tools and uploads no data. Except for explicitly enabled prompt injection, agent-role localization, and tool-description localization, no feature modifies model requests. Chinese completion only applies to the Chinese interface; the other interface enhancements also apply to the English interface. Each model-request feature is controlled solely by its own toggle.
FAQ
Does the prompt turn on automatically? No, it is off by default. Editing the prompt text does not mean injection is enabled.
Development documentation
License
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-task-board★ 6553
Task board for the dsh web GUI: a sidebar multi-column kanban whose cards run in real DSH agent sessions and can also be scheduled with cron expressions, executed host-side even with the browser closed.
zhu1090093659/dsh-web#packages/dsh-web-all★ 6553
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★ 3156
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
ccch1mneyyy/dsh-TUI★ 2736
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 1432
A fixed-corner whale widget showing DeepSeek balance, today usage, per-turn cost and random talk lines, with sound effects and a menu.
Devin-AXIS/deepseek-design#deepseek-idesign★ 614
Visual design studio for websites, app prototypes, posters, cards, reports, and magazines, with templates, direct element editing, selection-aware AI draft handoff, and export.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.