DeepSeek Harness 插件

dsh-workspace-files-brickmak

为 DSH Web 提供当前工作区文件树右侧栏(英文原文)

跳到安装方式

来源信息

GitHub 仓库
brickmaker/dsh-workspace-files
最近更新
2026年8月16日
分类
工具与能力
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/brickmaker/dsh-workspace-files
插件名:dsh-workspace-files-brickmak
作者:brickmaker

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

DSH Workspace Files

DSH Workspace Files 是一个精简的 DeepSeek Harness(DSH) Web 插件。它在 DSH Web 右侧显示当前会话工作区的文件树;点击目录可展开下一层,点击文件会调用 DSH 已有的 openPath 能力,由宿主操作系统使用默认应用打开。侧栏默认关闭,可通过会话右上角的面板图标打开或关闭。

功能

  • 在 DSH Web 的 details 右侧栏显示当前工作区。
  • 在会话右上角提供侧栏开关图标,默认不占用右侧空间。
  • 文件树按需逐层读取,不会启动时递归扫描整个项目。
  • 每层最多返回 1000 个条目,避免超大目录产生无界响应。
  • 目录在前、文件在后,同类按名称排序。
  • 文件通过 DSH 的宿主接口打开,不在浏览器中读取或预览内容。
  • 目录读取以当前会话记录的工作区为根,并校验真实路径;.. 和越界符号链接不能读取工作区外部目录。
  • 插件卸载后,路由、样式和右栏注册会由 Cordis 生命周期自动清理。

兼容性

  • DSH:0.1.0-rc.50.1.x
  • Node.js:^22.19.0>=24
  • 界面:DSH Web

DSH 仍处于开发者预览阶段,Web 插槽接口可能发生不兼容变更。插件使用 DSH 0.1.0-rc.6 的发布类型构建,并在同级源码检出 0.1.0-rc.5 上完成了真实 Web 组合验证。

安装

从本地目录安装

dsh plugin --profile web add /absolute/path/to/dsh-workspace-files
dsh web

从 DSH 源码仓库运行时,将 dsh 替换成 pnpm dsh

pnpm dsh plugin --profile web add /absolute/path/to/dsh-workspace-files
pnpm dsh web

从 GitHub 安装

dsh plugin --profile web add github:brickmaker/dsh-workspace-files
dsh web

仓库已包含预构建的 lib/ 产物,Git 安装不会执行安装期构建脚本,也不需要配置 pnpm allowBuilds。正式使用时仍建议把 GitHub 安装地址固定到版本标签或提交 SHA。

从 npm 安装

发布到 npm 后可直接安装预构建产物,不需要授予安装时构建权限:

dsh plugin --profile web add dsh-workspace-files
dsh web

使用

打开或创建一个带工作区的会话后,右侧栏默认保持关闭。点击会话右上角的面板图标可以打开,再次点击会关闭。

  • 点击 或目录名称:加载并展开该目录。
  • 点击文件名称:使用操作系统默认应用打开。
  • 点击侧栏右上角 :关闭右侧栏;之后仍可用会话右上角的面板图标重新打开。

插件会成为 DSH details 单占位的默认内容,因此启用期间会遮蔽原有工具详情面板。移除本插件或从 profile 的 patch 中禁用该行后,原面板会自动恢复。

开发

pnpm install
pnpm run check

check 依次执行类型检查、单元测试、生产构建和 npm 包内容预检。生成物位于 lib/,并随版本提交到 Git,使 GitHub 安装无需在用户机器上运行构建脚本。

项目结构:

src/index.ts                 宿主端目录接口与越界校验
src/client/index.tsx         DSH Web 插槽注册与样式生命周期
src/client/FileTreePanel.tsx 文件树界面及交互
src/client/WorkspaceFilesToggle.tsx 会话右上角的侧栏开关
src/types.ts                 两端共享的 JSON 数据类型
cordis.patch.yml             安装后注入 profile 的组合层
lib/                         已提交的 Host、Browser 与类型构建产物

实现说明

包只在 cordis.patch.yml 中插入一个插件行。宿主端通过 ctx.webServer 注册只读接口,并优先从 ctx.sessions 读取实时会话;首屏尚未挂载的冷会话则通过 ctx.sessionPersistence 读取不可变会话头,不会为了展示文件树而恢复智能体。浏览器端由 package.json 的 dsh.client 声明自动发现,将文件树注册到 DSH Web 的 details 插槽,并将开关注册到右对齐的会话顶栏插槽。浏览器只提交会话 ID 和待展开路径,工作区根目录不会由浏览器指定。

该接口只返回名称、绝对路径和文件/目录类型,不读取文件内容。DSH Web 若绑定到 0.0.0.0,其所有宿主能力都会暴露给能访问该端口的人;请遵循 DSH 自身的网络信任设置,不要把开发服务器直接公开到不可信网络。

发布

GitHub、npm 和 DSH Hub 的完整发布步骤见 [docs/PUBLISHING.md](docs/PUBLISHING.md)。

许可证

[MIT](LICENSE)