前言¶
用 DSH 干活时,工作区基本是个黑盒。左侧栏只列会话,看不到工作区里实际有哪些文件和目录;想让 DSH 操作某个文件,只能凭记忆敲路径,或者先让它 ls 一圈;任务跑到一半想确认刚才生成了什么,还得切到独立的文件管理器。对智能体开发者来说,这些动作看起来都不大,但每次打断都影响节奏。
下面介绍的插件 dsh-workspace-explorer(维护者 gaor0605-kq)就是把工作区搬进 DSH 左侧栏:一边跑任务一边浏览文件,找到需要的那个,拖进对话,DSH 就能按路径读取或修改。它属于客户端类插件。
这是什么¶
一句话定位:在 DSH 左侧栏的 Chats / Files 开关里加一个工作区文件浏览面板,支持拖拽或一键插入 @path 引用。
它解决的是「工作区不可见」和「路径靠记忆输入」这两个具体问题。维护者为 gaor0605-kq,仓库地址见文末。README 中给出的版本为 1.2.0,许可证 MIT。
核心功能¶
- 左侧栏 Chats / Files 切换 — Workspace 头部旁边有个紧凑的分段控件。Files 用当前会话的工作区树替换会话列表,Chats 切回来。最后使用的视图会被记住。
- 懒加载文件树 — 目录只在展开时加载,大工作区也不会卡。支持过滤已展开条目、全部折叠、重新加载。
- 拖拽引用 — 把文件或文件夹拖到对话区域,编辑器里会插入
@path形式的引用(路径含空格时是@"path",文件夹以/结尾)。发送后 DSH 按路径读取,或按你的要求修改。 - 一键插入 — 鼠标悬停在某一行,点 ⤶ 插入同样的引用。
- 点击预览 — 点击文件会在右侧栏打开 DSH 内置预览。
- 右键菜单 — 文件可「Open containing folder」(在 Explorer / Finder 中显示并选中),文件夹可「Show in file manager」。菜单里还有 Preview、Insert into the composer、Copy full / relative path。用 Menu 键或 Shift+F10 也能从键盘打开。
- VS Code 风格的 Git 状态 — 文件名按相对上次提交的状态着色,右侧显示单个字母:
M已修改(黄色)、U未跟踪 /A已添加(绿色)、D已删除(红色删除线,原地保留)、!合并冲突;被 .gitignore 忽略的条目变暗;内部有改动的文件夹显示圆点。如果工作区本身不是仓库,会像 VS Code 一样拾取下一层的仓库。每 5 秒、窗口获得焦点、以及点击 Reload 时更新。只执行只读的git status,不会修改仓库。 - 可选的右侧栏视图 — 右侧栏的 guide 里也提供「Workspace explorer」,树结构相同,适合宽屏。
安装与启用¶
DSH Desktop:在应用内 Settings → Plugins 安装(或从 dshmarket 插件市场一键安装)。
CLI(把 web 换成你实际使用的 profile):
# 从 npm 安装
dsh plugin --profile web add dsh-workspace-explorer
# 或直接从 GitHub 安装
dsh plugin --profile web add github:gaor0605-kq/dsh-workspace-explorer
安装后需要重新加载 DSH 页面(Ctrl+F5),左侧栏才会出现开关。
典型用法¶
- 打开文件视图 — 在左侧栏 Workspace 头部旁的开关里,点 📁 Files。
- 找到文件 — 展开目录;条目多时在过滤框里输入,缩小已展开的条目范围。
- 交给 DSH — 两种方式:把文件/文件夹拖到对话区域(虚线提示出现时松开),或悬停在某一行点 ⤶。编辑器里会出现
@src/app.ts这样的引用,然后补充你的请求:
@src/app.ts check the login logic in this file for bugs
@docs/ summarize the documents in this folder into an index
- 回到会话 — 点开关里的 💬 Chats。
注意:树展示的是当前打开会话的工作区;没有打开会话时会提示先开一个。
适用场景与注意¶
适合长期在 DSH 里做开发、需要频繁让 DSH 读写工作区文件的场景。拖拽插入的是文本引用 @path,发送后 DSH 按需读取,不会上传成附件。只能浏览当前会话工作区内的文件。
几点限制:README 写明在 DSH 0.2.1-rc.5(Web GUI / Desktop)上测试过;DSH 目前没有在左侧栏 Workspace 头部提供正式的扩展位,插件是从当前侧边栏布局里定位插入点,如果 DSH 更新改了布局,开关可能退化到侧边栏底部;左侧栏收缩成图标栏时开关会隐藏。”Open containing folder” 依赖 DSH 内置的 “Show file location”,只在 DSH 运行于自己桌面时可用,远程 Web GUI 下该项被禁用。
安全方面:插件以 DSH 当前进程的权限运行,安装前应检查源码与许可证。隐私上,它只通过 DSH 自身的 workspace-files API 列目录,不读取文件内容、不发起网络请求、不收集数据。仓库许可证为 MIT。
结尾¶
dsh-workspace-explorer 的价值不复杂:把工作区可见性补上,把「输入路径」换成「拖一下」。如果你的多数时间都在 DSH 会话里改文件,值得一装;如果只在远端 Web GUI 用、又恰好不需要 Open containing folder,收益相对有限。
目录页:https://www.skillhub.cn/plugins/gaor0605-kq/dsh-workspace-explorer
仓库:https://github.com/gaor0605-kq/dsh-workspace-explorer