跳到主内容

dsh-file-explorer

16Star3Fork2Issue0Watching

为 DeepSeek Harness 会话增加右侧可调宽度文件资源管理器面板,支持浏览、搜索、预览、编辑工作区文件并一键在 VS Code 中打开。

机审证据4/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
JavaScript
分支
main
ai-agentcordisdeepseek-harnessdeveloper-toolsdshdsh-pluginfile-explorerfile-manager

安装

命令web profile
$ dsh plugin --profile web add github:joejojoking-cloud/dsh-file-explorer

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 joejojoking-cloud/dsh-file-explorer:先查看仓库 https://github.com/joejojoking-cloud/dsh-file-explorer 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

为 DeepSeek Harness 的每个会话在页面右侧加一个可调宽度的文件资源管理器面板:浏览工作区、搜索、预览、改文件,并一键把当前工作区甩进 VS Code。

核心能力

  • 在右侧打开/关闭文件树面板,可拖拽调整宽度,面板中间贴边有折叠按钮
  • 标题栏提供「在 VS Code 中打开」、全部展开/折叠、刷新、编辑切换、关闭等快捷按钮
  • 递归搜索工作区内的文件与目录,跳过 .git 与 node_modules,最多扫描 4000 个节点、返回 300 条匹配
  • 文件树懒加载展开,单击预览、双击打开;预览支持 Markdown 渲染与多语言语法高亮
  • 内联编辑模式可直接改文本内容并写回磁盘,超过 1 MB 的文件会给出"不支持预览"提示
  • 双击聊天区域可快速收回面板,不影响输入框、按钮等可交互控件的默认行为

技术实现

  • 语言: JavaScript (ESM,host 半部) + 类 UMD 打包 (client 半部)
  • 关键依赖: @deepseek-ai/cordis、@deepseek-ai/dsh-client-slots、@deepseek-ai/dsh-client-runtime、React 18
  • 架构模式: cordis 插件模型,host 通过 cordis.patch.yml 把 file-explorer 注入 profile 组合,注册 5 个 /plugins/file-explorer/* HTTP 路由;client 通过 slots.inject 注册 shell.overlay 面板与 conversation.session.header.actions 切换按钮
  • 入口文件: lib/index.js (host 路由) / lib/client.js (UI + fetch 客户端)

适用场景

在 DSH 会话中需要边聊边翻代码、找文件、改小段配置时,直接在右侧面板完成浏览和编辑,不用切到终端或外部编辑器。需要快速跳到 IDE 里继续开发时,标题栏一键甩进 VS Code,适合前端、后端、数据脚本等多类型项目。

前置依赖与兼容性

依赖最低版本说明
@deepseek-ai/cordis^4.0.1-rc.1peer 依赖,提供 ctx 与 fs/shell 服务
@deepseek-ai/dsh-client-locale^0.0.1-rc.1peer 依赖,client bundle 注入
@deepseek-ai/dsh-client-runtime^0.0.1-rc.1peer 依赖,client bundle 注入
@deepseek-ai/dsh-client-ui-conversation^0.0.1-rc.1peer 依赖,client bundle 注入
@deepseek-ai/dsh-client-ui-slots^0.0.1-rc.1peer 依赖,client 通过 slots 注册面板
react^18.2.0peer 依赖,client UI 渲染
平台—macOS / Windows / Linux 均可,VS Code 启动逻辑针对 Windows 的 .cmd 做了派生处理
原生模块—不依赖 node-pty 等原生模块;VS Code 启动走 host 的 subprocess 沙箱

安装方式

dsh plugin --profile web add github:joejojoking-cloud/dsh-file-explorer

配置项

本插件无需额外配置。安装并重启 harness 后,会话标题栏右侧自动出现"文件资源管理器"切换按钮,点击即在右侧打开面板。面板宽度、是否打开、当前根路径等状态保存在前端内存 store 中,不写盘、不持久化。

常见问题

Q: 安装后看不到文件资源管理器面板怎么办?

A: 插件依赖 host 端的 webServer/httpServer、fs 服务以及 client 端的 slots 服务。安装后需要重启 DSH harness 让 cordis.patch.yml 生效;若仍不显示,检查 profile 是否启用了 web 客户端,以及 DSH 版本是否兼容。

Q: 文件树显示空白或搜索不到文件怎么办?

A: 搜索会跳过 .git 和 node_modules 目录,且最多扫描 4000 个节点、最多返回 300 条匹配,命中上限后会标记 truncated。检查根路径是否设置正确,或者目录里是否几乎全是 .git/node_modules。

Q: 点文件预览出现"不支持预览"提示是怎么触发的?

A: host 端对大于 1 MB 的文件不会返回内容,client 会显示"不支持预览"。属于刻意的安全限制,避免大文件把内存或 UI 卡住。

Q: 在 VS Code 中打开按钮没有响应怎么办?

A: host 端优先通过 subprocess 直接 spawn code 可执行文件(Windows 下从 code.cmd 推导 Code.exe),找不到时回退到沙箱化 shell 的 Start-Process。两种方式都需要宿主机上能解析到 code 命令(PATH 中或 VS Code 已安装);都没找到时返回 ok:false 并提示"未找到 VS Code"。

Q: 在面板里编辑文件会写到哪里?

A: 编辑器调用 host 的 /plugins/file-explorer/write 路由,通过 host 端的 fs 服务把 content 写回到 fs.resolve(path) 解析出的目标路径,等价于用工作区文件系统的当前挂载点落盘。保存后会立即在面板刷新状态。

Q: 这个插件跟其他 DSH 插件冲突吗?

A: 没有 manifest 级冲突。它只占用 shell.overlay 和 conversation.session.header.actions 两个 slot,不读写全局配置;不过同位置的其他 overlay 插件会按 order 排序共存。

Q: 如何卸载这个插件?

A: 卸载方式取决于你当初安装时使用的包源(npm 包名、本地路径或 GitHub 地址)。一般通过 dsh plugin --profile web remove <源标识> 卸载后重启 harness 即可。

上手难度

入门 — 安装即可使用,无配置项;只要熟悉 DSH 会话界面就能直接操作文件树和预览。

已知问题与限制

  • 大于 1 MB 的文件不返回预览内容,会触发"不支持预览"提示
  • 搜索最多扫描 4000 个目录节点、最多返回 300 条匹配,超出后 truncated=true,结果可能不完整
  • 搜索强制跳过 .git 和 node_modules 目录,藏在这里的文件无法通过搜索定位
  • "在 VS Code 中打开"要求宿主机上 code 命令在 PATH 中或 VS Code 已安装;否则按钮会提示"未找到 VS Code"

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/joejojoking-cloud/dsh-file-explorer)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录