dsh-workbench: Conversation in the center, code on the right side

Introduction

When developing DSH plugins or modifying code within them, you usually have to switch back and forth between the chat window and the editor: to know which function a line change belongs to, you have to manually flip through files; to check what changed in this commit, you have to exit to see the Git client; to see which class a class inherits from, you have to open another terminal and run grep. What dsh-workbench does is gather these actions into a workbench on the right side of Harness, keeping the chat window in place while the file tree, editor, diff, and debugging are right beside it.

It is maintained by Chengyunlai, positioned as a client plugin for DeepSeek Harness, and is an entry in the community directory, not an official component of DeepSeek. This article only introduces the capabilities explicitly documented in the materials and does not evaluate the actual usage experience.

One-Liner Positioning

The chat stays in the middle, and the code is right at your fingertips. It is a development workbench attached to the right side of Harness, used for reading source code, verifying changes, debugging programs, and organizing explanations. The current release version is 1.4.4, the package name is @yunlai/dsh-workbench, and the license is MIT.

Core Features

The workbench is divided into six capabilities, which are listed below in the order they appear in the README. The file tree, editor, and bottom tool windows are resizable, while the current chat always remains to the side.

What to Do How to Do It
Understand Source Code Locate code using the file tree and content search; tabs preserve the reading position for each file, supporting syntax highlighting, folding, word highlighting, definition jumping, and forward/backward navigation; right-clicking tabs allows closing the current, other, or all files.
See Python Class Relationships Open a hierarchy tree or a split-pane diagram from the file tree toolbar or the Python source code context menu to view inheritance, abstract classes, explicit Protocol base classes, and factory return associations backed by source code. Click on a node or method to jump back to the source code. Currently, it only supports Python and is in the Beta phase.
Read Documentation and Images Markdown in the chat can be previewed in the workbench or switched back to source code; the preview supports YAML headings, tags, fields, code block highlighting, and file links; file tabs can also preview images and icons such as PNG, SVG, and ICNS.
Verify Git Changes Group view staged, workspace changes, and untracked files; read line-by-line diffs, commit graphs, and commit details; double-clicking a diff line jumps to the current source code; selected diff lines can be handed over to a new session as modification tasks or explanation materials.
Check Real Execution Start debugging or attach to an existing process, set breakpoints, step through code, and switch stack frames; when paused, you can hover to view variables, expand objects, view inline values, and evaluate expressions, or clear all breakpoints at once.
Run Project Commands Open a terminal from the bottom to reuse the Harness terminal service to run commands in the workspace of the current session; when switching to search, changes, history, memory cards, or debugging, the editor area remains visible.

Python class diagrams are based on static source code analysis; read-only browsing, syntax highlighting, and folding work for five languages. Go and Java require configuring local language services, while navigation for Python and JS/TS relies on packages installed with the bundle.

Python  — Definition Jump Pyright          — Debug debugpy
Go      — Definition Jump gopls           — Debug Delve
Java    — Definition Jump Eclipse JDT LS  — No debug support yet
JavaScript — Definition Jump TypeScript language service — vscode-js-debug (Node.js)
TypeScript — Definition Jump TypeScript language service — vscode-js-debug (Requires generating JS and source map)

Debug adapters need to be configured separately. Once configured, you can set breakpoints in the source code area and press F5, or attach to an existing process using the context menu; custom launch arguments are written to .dsh/debug.json.

Explain to Me and Memory Cards

Another way to understand a piece of code is to hand it over to an explanation session. Right-click the file and select “Explain to Me”, enter a question, and the new session will attempt to clarify the logic based on the source code and specific input, saving the full explanation as a card. The card first summarizes the question and ends with a recall question to have the reader repeat the mechanism or predict edge cases.

The “Memory Cards” at the bottom are grouped by archive directories and support combined searches for title, summary, tags, source, and path. Cards are actually Markdown files in the project, stored by default in .dsh/cards/. Cards associated with source code are archived according to the code’s top two directories, while those not associated with source code are filed under general/. Existing cards can also be regrouped in the index by source.

Installation and Activation

Installation is done via the Harness plugin manager.

  1. Select “Install Plugin” in the DeepSeek Harness plugin manager, enter @yunlai/dsh-workbench, and enable “Development Workbench”.
  2. Open a chat for a registered Git project, expand the right-side tool area, and select “Development Workbench” from “Start” or “More Tools”.
  3. Open files from the file tree; press F12 to jump to definitions in supported source code, or open “Changes” from the bottom to verify diffs.

Online installers can check for version updates in the plugin details and then reload or restart Harness. The current release package requires Harness 0.2.1-rc.5 or later, and the runtime environment requires Node.js 22.14.0 or later.

For offline or source installation, download the ZIP from the Release, extract it, install dependencies according to INSTALL.txt inside the package, and then select the extracted directory in the plugin manager:

git clone https://github.com/Chengyunlai/dsh-workbench.git
cd dsh-workbench
npm ci --omit=dev

This assumes you already have Node.js 22.14.0+ and a usable Harness environment locally. Do not use commands like dsh plugin add github:owner/repo directly on the repository; the online entry point provided in the documentation is the package name.

Typical Usage

Taking modifying exception handling logic as an example.

  1. Ask the Agent to modify the code in the chat and have it provide a summary of the changes after completion.
  2. Open “Changes” at the bottom right, group view staged and workspace changes, and double-click a diff line to jump back to the current source code.
  3. Press F12 to jump to definitions in the source code and read the implementation along the call chain; when you need to see the overall structure, open the Python class relationship diagram from the file tree toolbar.
  4. Select a piece of suspicious logic, right-click the file and select “Explain to Me” to clarify the logic and save it as a card; afterwards, use the “Memory Cards” at the bottom to find it again by tag or source.
  5. When dealing with runtime behavior, set breakpoints in the source code area and press F5 after configuring the debugger, then hover to view variables and expand objects while paused.

Applicable Scenarios and Notes

Suitable for people who want to read source code, verify changes, give demonstrations/explanations, and debug programs in DSH. File reading, searching, and Git checks in the workbench are read-only operations; source code changes are still completed by the Agent in the chat or your own preferred editor; the terminal and debugging will execute actual commands or programs, and cards are written to the project directory by the explanation session, with content managed according to workspace permissions and Git rules.

The repository’s CI covers basic checks for Linux and macOS, package acceptance testing, and tests for real language services and debuggers; desktop interaction is tested on macOS, while desktop interactions on Windows and Linux are pending verification. The plugin runs with the permissions of the current DSH process; it is recommended to review the source code and MIT license before installation.

Documentation entries are in the repository root: usage guide USAGE.md, debugging guide DEBUGGING.md, upgrade notes UPGRADING.md, as well as CONTRIBUTING.md, SECURITY.md, and AUTOMATION.md.

Conclusion

dsh-workbench solves a specific pain point: changes just mentioned in the chat can be viewed, jumped to, verified, and run right beside it. The directory page is at https://www.skillhub.cn/plugins/Chengyunlai/dsh-workbench, and the repository is at https://github.com/Chengyunlai/dsh-workbench.

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye