多根工作区 Blackoutta/dsh-multiroot-workspace
DeepSeek Harnessv0.1.0-rc.1把多个目录挂成统一工作区,跨根浏览与操作文件
33.7/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:engines.node 要求 >=24.11.1 <25,不满足 Node 22.19.0。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Blackoutta/dsh-multiroot-workspace该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · market
装得上吗
静态安装检查未通过,可能需要源码安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装engines.node 要求 >=24.11.1 <25,不满足 Node 22.19.0
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-multiroot-workspace @ 0.1.0-rc.1
✗Node 引擎要求 >=24.11.1 <25 · 基线 Node 22.19 不满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 15:42:20
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
- 读取本地文件index.js:94
return await realpath(path)
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-test-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-sidebar@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-web-react@deepseek-ai/dsh-fs@deepseek-ai/dsh-storage-domain@deepseek-ai/dsh-tools@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 挂载多目录为工作区
- 跨根浏览文件
- 跨根操作文件
DeepSeek Harness 的多根逻辑工作区
README
由 DeepSeek 最新模型翻译生成dsh-multiroot-workspace
外部 DeepSeek Harness 插件包,提供具有多个命名文件系统根目录的逻辑工作区。它仅在安装期间替换自带的 Workspace UI,使用固定在 UPSTREAM.md 中的源码分支;它不会修改 Harness 仓库文件。
先决条件
首个公开预发布版本专门针对 macOS 和 Linux 上的 DeepSeek Harness 0.1.0-rc.6。当 Harness 加载该插件时,它会提供固定版本的 Cordis、DSH 客户端和 Host 服务、Schemastery、React 以及 ReactDOM 对等依赖;使用者应通过 Harness profile 安装该插件,而不是将这些对等依赖安装到插件包中。源码开发使用 Node.js 24.11.1 和 pnpm 11.9.0。
安装与启动
一条命令,可在任意 DeepSeek Harness 安装中执行:
cd deepseek-harness
pnpm dsh plugin --profile web add dsh-multiroot-workspace@next
pnpm dsh web
然后使用 dsh web 启动 Web UI,并打开 http://127.0.0.1:3080/。
展开完整文档(README 剩余 1 节)
dsh-multiroot-workspace 外部 DeepSeek Harness 插件包,提供具有多个命名文件系统根目录的逻辑工作区。它仅在安装期间替换自带的 Workspace UI,使用固定在 UPSTREAM.md 中的源码分支;它不会修改 Harness 仓库文件。 先决条件 首个公开预发布版本专门针对 macOS 和 Linux 上的 DeepSeek Harness 0.1.0-rc.6。当 Harness 加载该插件时,它会提供固定版本的 Cordis、DSH 客户端和 Host 服务、Schemastery、React 以及 ReactDOM 对等依赖;使用者应通过 Harness profile 安装该插件,而不是将这些对等依赖安装到插件包中。源码开发使用 Node.js 24.11.1 和 pnpm 11.9.0。 安装与启动 一条命令,可在任意 DeepSeek Harness 安装中执行: cd deepseek-harness pnpm dsh plugin --profile web add dsh-multiroot-workspace@next pnpm dsh web 然后使用 dsh web 启动 Web UI,并打开 http://127.0.0.1:3080/。该插件在安装期间仅禁用自带的 Workspace 客户端行;Sessions、其普通的 Host Workspace 成员关系以及所有非 Workspace UI 仍由 Harness 拥有。 捆绑配置保持跨根目录 Bash 处于禁用状态: - id: multiroot-workspace-tools config: crossRootBash: off 若要刻意选择 ancestor 或 unfenced,请将该行放入本地补丁中,并使用 --patch 启动 Web。安全差异在下文“模型工具与权限”中描述。 Host 行还接受一个由部署声明的逻辑工作区: - id: multiroot-workspace config: title: Product repository roots: - alias: app path: /srv/product/app primary: true - alias: docs path: /srv/product/docs primary: false roots 必须非空,别名在大小写不敏感的情况下必须唯一,并且必须恰好有一个根目录设置 primary: true。该行会成为只读逻辑工作区 config-roots:无法通过 UI/API 对其进行重命名、编辑、重新排序优先级或删除。路径在启动期间可以不存在,以便部署稍后挂载它们;但在使用时,文件和 shell 操作仍要求所选路径存在。Purge 会清除其 Session 选择项和影子映射,但会保留已声明的记录以及任何已采用的 Host Workspace。启动时会重新应用该配置;之后,如果新 Session 的 cwd 与主根目录匹配,则会创建或采用一个 Host 影子,并附加该 Session。 开发 pnpm install --frozen-lockfile pnpm run test pnpm run typecheck pnpm run build pnpm exec playwright install chromium pnpm run test:browser 浏览器检查会打包当前插件,创建一个隔离的临时 DSH home,通过完全公开的 @deepseek-ai/dsh@0.1.0-rc.6 CLI 安装它,并在随机的回环端口上启动 Web。它使用稳定的 fixture 标题、别名和路径后缀来演练公开 UI,然后在 finally 中停止服务器并删除临时 profile 和目录;不使用同级 Harness checkout 或手动管理的 DSH_WEB_URL。 该检查会在 tests/browser/screenshots/ 下写入十张审查截图:宽侧边栏、rail、创建对话框、管理对话框和 Hero 选择器的浅色与深色变体。运行时目录保持为独占的临时路径,而其可见的截图文本被规范化为稳定的显示前缀。这些生成的 PNG 是本地审查产物,故意不随发布提交一起暂存;目录本身由 .gitkeep 保留。 Pull request 和 main 在 GitHub Actions 中运行相同的 Node.js 24.11.1 / pnpm 11.9.0 发布门禁,包括 packed-profile、deterministic-build、client-bundle 和浏览器检查。只有在那个可复用的门禁通过后,v 标签才可以发布 next dist-tag。发布通过 .github/workflows/release.yml 使用 npm Trusted Publishing 和 GitHub OIDC;不使用长期有效的 npm token。 Host API 在 /plugins/multiroot/api 下提供服务。创建一个逻辑 Workspace 会立即创建或采用其主 Host Workspace,并返回 shadowWorkspaceId。浏览器通过该 id 关联逻辑元数据,并让原生 Workspace 列表对 Session 成员关系、搜索、分组、排序和选择保持权威。 ws_cd 将当前根选择存储为以 Session id 为键的插件自有状态,因此它能在插件和 Harness 重启后保留,而无需添加自定义 Session 事件。没有存储选择的 Session 使用其逻辑 Workspace 的主根。删除或清除该逻辑 Workspace 会清除其选择。Fork 出来的 Session 不会继承源 Session 的选择,因此从主根开始。 选择表在存储域版本 4 中是增量添加的。Harness rc.6 没有域迁移 API,并会拒绝更改后的版本戳,而其支持的后端会在现有版本下安全地物化新声明的表;这保留了先前存储的逻辑 Workspace。 模型工具与权限 在逻辑 Workspace 中打开的 Session 会获得以下工具: - ws_list 列出别名、规范路径以及主/当前标记。 - ws_cd 更改该 Session 的插件自有当前别名。 - ws_read、ws_write 和 ws_edit 访问相对于根的文本文件。这些工具会拒绝词法遍历和所选根之外的规范目标(包括符号链接逃逸);读取限制为 1 MiB。变更使用 Harness 的 read-before-write/version waterfalls,并发布 fs/observed 事件。 - ws_glob 和 ws_grep 在选定的根目录内运行 ripgrep,并将输出限制为 200 行。Ripgrep 退出码 1 表示结果为空;真实的命令失败和取消会被暴露出来。 - ws_bash 默认在一个选定的根目录中运行,并将该确切的根目录传递给活动的沙箱策略。workdir 无法逃逸选定的根目录。 crossRootBash 控制一个显式的非空 roots 列表。默认值 off 会拒绝多个根目录。ancestor 将进程限制在它们最紧密的共同祖先内,这可能会暴露该祖先下的同级内容。unfenced 请求 danger-full-access 且不带 workspaceRoot;仅当部署有意接受不受限的主机访问时才启用它。未知别名始终会在 shell 进程启动之前被拒绝。 UI 行为 - 按工作区 显示普通和逻辑 Workspace 项目行。逻辑行会添加根目录数量和主别名。 - 全部会话 是原生的扁平视图:它隐藏项目行,并将每个可见的 Session 显示一次。 - Workspace 标题栏中的分支图标会打开多根创建。逻辑 Workspace 行的现有操作菜单会打开管理。 - 管理对话框以两列布局显示完整的目录名称和路径。当 Workspace 有许多根目录时,只有根目录列表会滚动;名称字段、添加操作和页脚保持固定。 - 表单使用 Harness Modal、Button、图标和主题原语;不渲染 Unicode 文件夹/归档图标。 存储、清除和移除 逻辑 Workspace 记录、影子所有权以及每个 Session 的当前根目录选择都存放在插件的 multiroot_workspace 存储域中。主路径上现有的 Host Workspace 会被采用;插件永远不会删除已采用的 Workspace。如果不存在合适的 Workspace,插件会创建并拥有一个影子,以便原生 Session 分组继续正常工作。Purge 会删除拥有的影子、用户创建的逻辑记录以及所有当前根目录选择,同时保留已采用的用户 Workspace、Session 以及部署声明的 config-roots 记录。 在 Web 仍在运行的情况下,先清除插件拥有的数据,再移除包: curl -fsS -X DELETE http://127.0.0.1:3080/plugins/multiroot/api/data Stop the Web process, then remove the profile dependency. dsh plugin --profile web remove dsh-multiroot-workspace 未发出 purge 请求就移除,会留下插件的持久记录,供以后重新安装时使用;这并不会让插件隐式删除它们。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Blackoutta/dsh-multiroot-workspace
把多个目录挂成统一工作区,跨根浏览与操作文件
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目