前言¶
在 DeepSeek Harness(DSH)里写对话、改代码时,经常要在「当前工作区路径」和「聊天输入框里的 @ 引用」之间来回切换。系统自带的侧栏不一定针对 DSH 的 composer 光标位置、mention 芯片或编辑器 Tab 做过优化;自己复制相对路径又容易打断思路。下面介绍的 dsh-explorer 是维护者 wwwroot 发布的客户端类插件:在 DSH 右侧栏挂载原生工作区文件树,把浏览、拖拽引用、开 Tab、看 Git 状态串成一条线。插件当前 npm 版本为 0.1.1,许可证 MIT,可在 SkillHub 目录页 与 GitHub 仓库 查看说明与源码。
这是什么¶
dsh-explorer 的定位是:专为 DeepSeek Harness 工程化的原生工作区文件资源管理器。Host 侧在 Cordis 容器里跑 Node.js ESM 服务,负责安全的目录遍历、WebSocket 文件变更监听和 Git 状态聚合;Client 侧是 React UI,挂在 DSH 的 sidebar.right.panel 槽位,负责树形导航、拖拽与光标跟踪、以及可持久化的显示偏好。构建产物在 lib/ 中由 esbuild 打包,客户端运行时无需额外依赖。
与对话、编辑器的衔接¶
精准拖拽与 mention¶
把文件或文件夹拖到 DSH 聊天 composer 时,插件会按当前文本光标/插入点写入引用,尽量不覆盖已有文字。拖入后文件显示为 @path/to/file 芯片,目录带尾部斜杠 @path/to/folder/。按住 Alt 或 Shift 再拖文件,会把该文件完整源码以带语法高亮的 Markdown 代码块形式嵌入提示词。行上悬停可点 @ 图标,或在右键菜单选 Insert Mention to Chat,在活跃光标处插入引用。
Tab 与搜索¶
双击文件可在新的 DSH 编辑器 Tab 中打开(与 betterSidebar、sidebarRight 或原生工作区 Tab 集成)。右键文件可选「Open in New Tab」。顶部搜索栏按路径实时过滤文件与文件夹。
树形展示与 Git 状态¶
折叠动画与紧凑目录¶
展开/收起文件夹时使用 CSS grid 手风琴动画, chevron 随开闭旋转;可在 Options 里关闭动画,改为即时切换。Compact Folders 会把单子目录链(例如 src/client/ui)收成一行,同样在 Options 中即时开关。
Git 徽章¶
支持工作区根目录及嵌套子仓库的多 repo / monorepo 检测。子项有修改(M)、未跟踪(U)或删除(D)时,祖先目录会向上冒泡显示状态,无需逐层展开。徽章右对齐,配色分别为暖琥珀、柔绿、珊瑚红;可在 Options 中一键隐藏所有 Git 颜色与徽章。
密度、图标与文件操作¶
密度预设:Compact(20px 行高)、Normal(24px)、Relaxed(28px)。缩放滑块可在 75%–135% 间调整整棵树(行高、字号、图标、缩进参考线联动)。偏好写入 local storage 并在下次打开时恢复。常见语言(TypeScript、JavaScript、Python、Rust、Go、C/C++、HTML、CSS、JSON、Markdown、YAML、Docker、Git、Shell 等)有区分的图标与颜色;可切换是否显示 dotfile。
悬停行上可进行 Mention、复制相对路径、重命名(F2)、删除;支持方向键导航、Enter、F2 等键盘操作。外部创建、修改或删除文件时,通过 WebSocket 服务即时刷新树。
安装与启用¶
Web 版 Harness 可用 NPM 插件名安装:
dsh plugin --profile web add dsh-explorer
桌面版将 --profile web 换为 --profile desktop。
也可从 GitHub 源添加(README 原文命令):
dsh plugin --profile web add github:wwwroot/dsh-explorer
或在 cordis.patch.yml 对应 profile 配置中插入:
- insert:
- id: dsh-explorer
name: 'dsh-explorer'
Host 要求 Node.js >= 20(见 package.json 的 engines 字段)。
典型用法¶
- 安装并启用插件后,在 DSH 右侧栏打开文件树,用顶部搜索定位路径。
- 写对话时:把目标文件拖到输入框光标处得到
@芯片;需要贴全文时按住 Alt/Shift 再拖。 - 阅读或编辑:双击文件开 Tab,或右键「Open in New Tab」。
- 在 Options 中按需关闭动画、开关 Compact Folders、Git 徽章、隐藏文件与密度/缩放。
若需本地改插件并构建,仓库 README 给出的流程为:
npm install
npm run build
npm run typecheck
分别产出 host ESM(lib/index.js)与 client bundle(lib/client.js)。
适用场景与注意¶
适合长期在 DSH 内做智能体或应用开发、希望侧栏即工作区、且引用路径与 Tab 行为与 Harness 一致的开发者。DSH 生态遵循「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
插件 Host 服务以当前 DSH 进程权限访问文件系统与 Git;安装前请阅读 GitHub 源码 与 MIT 许可证,确认符合你的安全与合规要求。星标与社区热度会随时间变化,以仓库页面为准。
结尾¶
dsh-explorer 把本地工作区导航、对话 @ 引用、编辑器 Tab 和 Git 状态收进 DSH 右侧栏,并支持密度、缩放与紧凑目录等可调选项。目录页:https://www.skillhub.cn/plugins/wwwroot/dsh-explorer;源码与英文/简体中文 README:https://github.com/wwwroot/dsh-explorer。