前言¶
在 DSH 的 web 会话里引用本地文件时,手动输入完整路径容易出错,尤其是深层目录、临时文件和多会话切换的场景。dsh-dir-tree 是一个面向 DSH web 界面的浮窗目录树插件:它把当前会话的工作区目录展示在界面右下角,支持展开子目录、搜索文件名、拖拽路径到对话框,并在切换工作区或会话时自动跟随。
下面介绍它的能力、安装方式、典型用法,以及接入时需要注意的几个点。
这是什么¶
dsh-dir-tree 是 DeepSeek Harness(DSH)的 web 客户端浮窗插件,由 bentong-chain 维护,许可证为 MIT。
它解决的核心问题是:在 DSH web 会话中,快速查看当前工作区目录、定位文件、复制路径,并把文件/文件夹路径直接填入对话框输入框。
README 明确说明,这是 DSH 的标准 bundle,使用 dsh plugin add 安装即可,无需源码 checkout、无需改内置包、无需创造模式。
核心功能¶
dsh-dir-tree 提供以下已核实能力:
- 浮窗展示当前会话工作区目录树,右下角可最小化。
- 懒加载:点击
▶展开子目录,大目录不卡顿。 - 拖拽文件/文件夹到对话框,自动填入完整路径。
- 双击复制路径;单击选中。
- 搜索过滤文件名。
- 文件类型图标、目录蓝色高亮、缩进树形线。
- 切换工作区/会话时,目录树自动跟随。
- 可拖动浮窗位置。
安装与启用¶
1、准备 DSH web 运行环境¶
可以先全局安装 DSH,也可以临时通过 npx 运行。
全局安装:
npm install -g @deepseek-ai/dsh
临时运行:
npx @deepseek-ai/dsh web
两种方式共用同一个 $DSH_HOME,默认目录是 ~/.dsh,插件、会话和配置互通。
2、安装插件¶
插件可以从 npm 安装,也可以从 git 安装。
npm 安装:
dsh plugin --profile web add dsh-dir-tree
从 git 安装:
dsh plugin --profile web add github:bentong-chain/dsh-dir-tree
如果从 git 安装,首次会提示在 profile 的 pnpm-workspace.yaml 中添加构建授权:
allowBuilds:
dsh-dir-tree: true
添加后,重新执行:
dsh plugin --profile web add github:bentong-chain/dsh-dir-tree
3、启动 DSH web¶
启动 web profile 的常见写法如下:
dsh --profile web
或等价的别名写法:
dsh web
如果使用 npx 临时运行,也可以写成:
npx @deepseek-ai/dsh web
这些方式启动的都是 web profile,目录为:
~/.dsh/profiles/web
启动后,DSH 界面右下角会出现“当前工作区”浮窗。
典型用法¶
- 启动 DSH web 后,查看右下角的“当前工作区”浮窗。
- 点击文件夹旁的
▶展开子目录。 - 把需要引用的文件或文件夹拖拽到对话框输入框中,插件会自动填入完整路径。
- 使用搜索框过滤文件名。
- 双击节点复制路径,单击节点选中路径。
- 点击
−或×最小化浮窗,之后通过右下角的恢复按钮重新展开。
接入与实现注意¶
如果你要检查或分发这个插件,可以重点关注 package.json 中与客户侧加载相关的声明。
dsh-dir-tree 的 package.json 中声明了 dsh.client.platform 为 web,并注入以下运行时模块:
"dsh": {
"client": {
"platform": "web",
"inject": [
"@deepseek-ai/dsh-client-runtime",
"@deepseek-ai/dsh-client-connection",
"@deepseek-ai/dsh-client-ui-layout"
]
}
}
同时,exports 必须导出 ./package.json:
"exports": {
".": "./index.js",
"./client": "./client.bundle.js",
"./package.json": "./package.json"
}
如果没有导出 ./package.json,client 半可能会被静默跳过。
另外,client 半必须使用:
import React from 'react';
否则持久化 client bundle 中直接引用全局 React 时,可能在 apply 阶段触发 ReferenceError。
适用场景¶
这个插件适合以下场景:
- 日常使用 DSH web 会话,需要频繁引用工作区文件路径。
- 在长目录结构中查找文件、文件夹,并快速复制到对话框。
- 切换多个工作区或会话时,希望目录树跟随当前上下文。
- 希望在 web 界面中获得更直观的本地工作区浏览方式。
需要注意:插件以当前 dsh 进程权限运行。安装前建议检查源码与许可证。dsh-dir-tree 使用 MIT 许可证,GitHub 仓库地址为:
https://github.com/bentong-chain/dsh-dir-tree
结尾¶
dsh-dir-tree 把当前 DSH 会话的工作区目录树放到 web 界面浮窗中,减少手动输入路径带来的错误,让目录浏览、路径复制和拖拽引用集中在同一个位置完成。
- GitHub:
https://github.com/bentong-chain/dsh-dir-tree - 目录页:在已接入的 DSH 社区目录中搜索
dsh-dir-tree;具体 URL 以目录站点实际提供为准,社区目录为独立站点,不代表 DeepSeek 或幻方的官方应用商店。