DeepSeek Harness Hub
← 返回列表

工作区文件树brickmaker/dsh-workspace-files

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
✓ 可直接安装

在右侧栏逐层浏览工作区文件并一键打开

自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node ^22.19.0 || >=24.0.0);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/8/16 · 已提供中文文档

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

综合分
32.6
GitHub 分
32.6
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-workspace-files
npm 包 dsh-workspace-files 已校验归属本仓库,走 npm 安装最省事
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-workspace-files @ 0.1.0
Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 18:57:46

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-session@deepseek-ai/dsh-session-persistence
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH 工作区文件

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

功能

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

兼容性

- DSH:0.1.0-rc.5 至 0.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。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群