前言¶
做 DSH 插件开发或在其中改代码时,通常要在对话窗口和编辑器之间来回切:想知道某行改动落在哪个函数,得手动翻文件;想核对这次提交差了什么,得退出去看 Git 客户端;想看一个类继承自谁,还要再开一个终端跑 grep。dsh-workbench 做的事,是把这些动作收进 Harness 右侧的一个工作台里,让对话窗口留在原地,文件树、编辑器、diff 和调试都在旁边。
它由 Chengyunlai 维护,定位是 DeepSeek Harness 的客户端插件,属于社区目录里的一个条目,不是 DeepSeek 的官方组件。本篇只介绍资料里写明的能力,不评价实际使用效果。
一句话定位¶
对话留在中间,代码就在手边。它是挂在 Harness 右侧的开发工作台,用来读源码、核对改动、调试程序和整理讲解。当前发布版本是 1.4.4,包名 @yunlai/dsh-workbench,许可为 MIT。
核心功能¶
工作台分六块能力,下面按 README 的顺序逐条说。
文件树、编辑器和底部工具窗口可调大小,当前对话始终留在旁边。
| 想做的事 | 怎么做 |
|---|---|
| 读懂源码 | 用文件树与内容查找定位代码;标签保留每个文件的阅读位置,支持语法高亮、折叠、同词高亮、定义跳转、前进/后退;右键标签可关闭当前、其他或全部文件。 |
| 看清 Python 类关系 | 从文件树工具栏或 Python 源码右键菜单打开层级树或分栏图,查看继承、抽象类、显式 Protocol 基类及有源码依据的工厂返回关联,点击节点或方法跳回源码。目前仅支持 Python,处于 Beta 阶段。 |
| 阅读文档和图片 | 对话中的 Markdown 可进入工作台预览,也可切回源码;预览支持 YAML 标题、标签、字段、代码块高亮与文件链接;文件标签还能预览 PNG、SVG、ICNS 等图片和图标。 |
| 核对 Git 改动 | 分组查看已暂存、工作区变更与未跟踪文件,阅读逐行 diff、提交图与提交详情;双击 diff 行可跳到当前源码;可把选中的 diff 行作为修改任务或讲解材料交给新会话。 |
| 检查真实执行 | 启动调试或接入已有进程,设置断点、单步并切换栈帧;暂停时可悬浮查看变量、展开对象、查看行内值及求值,也可一次清理全部断点。 |
| 运行项目命令 | 从底部打开终端,复用 Harness 终端服务在当前会话的工作区运行命令;切换到查找、变更、历史、记忆卡片或调试时,编辑区仍可见。 |
Python 类图基于静态源码分析,只读浏览、语法高亮和折叠对五种语言都成立。Go 和 Java 需要配置本机语言服务,Python 与 JS/TS 的导航依赖随包安装。
Python — 定义跳转 Pyright — 调试 debugpy
Go — 定义跳转 gopls — 调试 Delve
Java — 定义跳转 Eclipse JDT LS — 暂无调试
JavaScript — 定义跳转 TypeScript 语言服务 — vscode-js-debug(Node.js)
TypeScript — 定义跳转 TypeScript 语言服务 — vscode-js-debug(需生成 JS 和 source map)
调试适配器需单独配置,配好后可在源码区设断点并按 F5,或用右键菜单接入已有进程;自定义启动参数写入 .dsh/debug.json。
讲给我听与记忆卡片¶
读懂一段代码的另一种方式,是把它交给一个讲解会话。右键文件选「讲给我听」,输入问题,新会话会尝试沿源码和具体输入讲清链路,并把完整解释保存成一张卡。卡片先概括问题,末尾附一道回忆题,让读者复述机制或预测边界情况。
底部的「记忆卡片」按归档目录分组,可组合搜索标题、摘要、标签、来源与路径。卡片本身就是项目里的 Markdown 文件,默认存放在 .dsh/cards/。关联了源码的卡片按代码最近两级目录归档,未关联源码的归入 general/,已有卡片也能按来源在索引里重新归组。
安装与启用¶
在线安装走 Harness 的插件管理器。
- 在 DeepSeek Harness 的插件管理器选择「安装插件」,输入
@yunlai/dsh-workbench,启用「开发工作台」。 - 打开一个已注册的 Git 项目对话,展开右侧工具区,在「开始」或「更多工具」中选择「开发工作台」。
- 从文件树打开文件;在支持的源码中按
F12跳定义,或从底部打开「变更」核对 diff。
在线安装用户可在插件详情检查版本并更新,随后重载或重启 Harness。当前发布包要求 Harness 0.2.1-rc.5 或更新版本,运行环境要求 Node.js 22.14.0 或更新版本。
离线或源码安装,则下载 Release 中的 ZIP 并解压,按包内 INSTALL.txt 安装依赖,再在插件管理器中选择解压后的目录:
git clone https://github.com/Chengyunlai/dsh-workbench.git
cd dsh-workbench
npm ci --omit=dev
这里假定你本地已经有 Node.js 22.14.0+ 和可用的 Harness 环境。不要直接往仓库用 dsh plugin add github:owner/repo 这类命令,资料中给出的线上入口是包名。
典型用法¶
以修改异常流处理逻辑为例。
- 在对话中让 Agent 改代码,改完让它给出改动摘要。
- 在右侧底部打开「变更」,分组查看已暂存与工作区变更,双击某行 diff 回到当前源码。
- 在源码中按
F12跳定义,沿调用链读到实现;需要看整体结构时,从文件树工具栏打开 Python 类关系图。 - 选一段可疑逻辑,右键文件「讲给我听」,把链路讲清并落成卡片;之后用底部「记忆卡片」按标签或来源找回。
- 涉及运行时行为时,配好调试器后在源码区设断点按
F5,暂停后悬浮查看变量并展开对象。
适用场景与注意¶
适合在 DSH 里做源码阅读、改动核对、演示讲解和程序调试的人。工作台里的文件阅读、搜索和 Git 检查是只读操作,源码改动仍由对话中的 Agent 或你自己常用的编辑器完成;终端和调试则会执行实际命令或程序,卡片也由讲解会话写入项目目录,内容按工作区的权限与 Git 规则管理。
仓库的 CI 覆盖 Linux 与 macOS 的基础检查、安装包验收及真实语言服务与调试器测试;桌面交互实测覆盖 macOS,Windows 与 Linux 桌面交互待验证。插件以当前 DSH 进程的权限运行,安装前建议先看一下源码与 MIT 许可。
文档入口在仓库根目录:使用指南 USAGE.md、调试指南 DEBUGGING.md、升级说明 UPGRADING.md,另有 CONTRIBUTING.md、SECURITY.md、AUTOMATION.md。
结尾¶
dsh-workbench 解决的是一个具体的别扭之处:对话里刚说过的改动,旁边就能看、能跳、能核对、能跑。目录页在 https://www.skillhub.cn/plugins/Chengyunlai/dsh-workbench ,仓库在 https://github.com/Chengyunlai/dsh-workbench 。