Introduction¶
In DSH’s Web session page, switching between conversations, tool calls, and workspace files is frequent: one must check the files currently being operated on by the session while simultaneously confirming Git status and diffs. dsh-ui-workbench is the WebUI plugin for DeepSeek Harness; it places the file tree, file viewer, and Git review panel of the current session workspace on the right side of the session page. This allows the Web side to complete basic reviews without needing to open a local editor separately.
Below is an introduction to the plugin’s positioning, features, installation method, and applicable boundaries.
What is it¶
LoftyTao/dsh-ui-workbench is maintained by LoftyTao, licensed under MIT, and is in Experimental status. It is a Client class plugin for DSH, targeting the DSH Web Client under the web profile, with a capability scope covering file browsing and Git review of the current session workspace.
Simply put, it adds a Workbench panel to the right side of the DSH session page:
- Host side provides
/sidebar/api/*routes. - Browser side provides the Workbench panel.
- Access files and Git status via a session-scoped DSH Host workspace service.
- Does not save credentials.
- Provides a workspace review interface and does not undertake the responsibilities of Git commits, credential saving, or general file editing.
Core Features¶
File Tree and File Viewer¶
The plugin can display the file tree within the current session workspace and supports searching by filename. After opening a file, it provides a UTF-8 file viewer featuring line numbers, syntax highlighting, and long line wrapping.
This capability is primarily used to quickly confirm file content during a session, especially when the model is modifying a file, importing a resource, or generating a result, allowing you to view the corresponding file directly on the right.
Git Diff Review¶
The plugin supports viewing Git status and diffs, covering:
- Staged files.
- Unstaged files.
- Untracked files.
- Commit references.
The diff view supports unified and side-by-side views, as well as filtering by changed files and collapsing context. This allows you to review a code change within the session without needing to switch to the terminal, manually execute Git commands, and then return.
Theme and Language Adaptation¶
The plugin supports adaptation between Chinese and English, as well as light and dark themes. The theme switches in real-time following DSH appearance settings.
It includes the built-in “Lxgw Wenkai Screen Reading Version” completion font to improve the screen reading experience.
Typst Real-time Preview¶
The plugin supports real-time preview of Tinymist-style rich SVG for .typ files.
The Typst preview depends on the typst executable in the Harness Host environment. Typically, typst is required to be located in the Harness Host’s PATH; if it is not, you can specify the absolute path of the Typst executable via DSH_TYPST_BIN.
If you need to load additional font directories, you can explicitly add them using the Typst standard environment variable TYPST_FONT_PATHS.
Installation and Enablement¶
Before installation, prepare:
- Node.js
22.19+ - DeepSeek Harness with the
webprofile
Then use the following command to install the v0.3.0 tag:
npx -y --package @deepseek-ai/dsh dsh plugin --profile web add github:LoftyTao/dsh-ui-workbench#v0.3.0
This command adds the plugin to the web profile. Using the v0.3.0 tag provides the Typst real-time preview, hot reload, Git review, and light/dark theme features.
If performing local checks or source installation within the source code repository, you can also use the following command:
dsh plugin --profile web add ./plugins/client/dsh-ui-workbench
After installation or building, you can use the following command to view the configuration of the web profile:
dsh --profile web --dump-config
Typical Usage¶
Below is a relatively direct usage path.
- Start DeepSeek Harness with the
webprofile and navigate to the DSH Web Client session page. - Open the Workbench panel on the right side of the session page to view the file tree of the current session workspace.
- Search for a filename in the file tree, or open a specific file to view its content using the viewer with line numbers, syntax highlighting, and long line wrapping.
- Switch to the Git review related view to view diffs in staged, unstaged, untracked files, or commit references.
- If there is a
.typfile in the workspace, open it to view the Typst real-time preview. The preview depends on the Harness Host executabletypst, or the absolute path specified byDSH_TYPST_BIN. - When switching DSH appearance settings or language settings, the panel adapts to the DSH theme and language status.
Source Code Boundaries and Local Checks¶
The plugin’s code boundaries are quite clear:
- The browser side can only access the Host via
src/client/api.ts. - Git commands are concentrated in
src/git.ts. - File system access is concentrated in
src/fs.ts.
The Host Config is currently an empty object. Panel width is managed by Browser state; the theme reads the available DSH theme service and observes the DSH DOM theme marker; language is read from the DSH document status.
In the source code repository, you can run the following check and packaging validation commands:
pnpm check
pnpm pack:check
These commands are used for type, test, and package artifact checks on the source side. Specific acceptance criteria depend on the scripts and documentation within the repository.
Applicable Scenarios and Notes¶
Suitable for developers using DSH’s web profile who wish to view current workspace files and Git diffs directly on the Web session page. If your workflow frequently involves the following situations, this plugin will be quite useful:
- Need to quickly view the files the model is operating on during the session.
- Need to confirm file changes within the current session workspace.
- Need to view diffs in unstaged, untracked files, or commit references.
- Need to preview
.typfiles.
Please note a few points:
- The plugin is in
Experimentalstatus with anMITlicense. - The applicable scope is the
webprofile, DSH Web Client, and the current session workspace. - It provides a workspace review interface and does not undertake the responsibilities of Git commits, credential saving, or general file editing.
- The plugin accesses workspace files and Git status using the permissions of the current DSH process; you should check the source code and license before installing.
- It does not save credentials.
- The Typst preview uses the current session workspace as the
--root, so imports and resource access will not cross the workspace boundary. - It requires Node.js
22.19+and DeepSeek Harness with thewebprofile.
Conclusion¶
The value of dsh-ui-workbench lies in placing file viewing, Git diff review, and Typst preview on the right side of the DSH WebUI session page, allowing the Web side to complete part of the workspace review within the same session interface.
Related links:
- GitHub:
https://github.com/LoftyTao/dsh-ui-workbench - Community plugin directory clue:
https://www.skillhub.cn/plugins/LoftyTao/dsh-ui-workbench(This URL is a clue from the plugin and has not been directly confirmed in this material)