dsh-open-folder-fix

DSH PLUGINUI 与外观

仓库 martlet-tech/dsh-open-folder-fix

UI 与外观 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件

修正 DSH Web GUI 中「打开工作区」按钮在 Windows 上报告成功却不弹窗的问题,改用 explorer.exe /e, 稳定新开资源管理器窗口。

一句话选型结论

按资料字段整理

dsh-open-folder-fix 是UI 与外观类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,列出 4 项功能,没有现成安装命令,需要按仓库 README 接入。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类UI 与外观 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-09-24 创建于 2026-09-22
README 6.4 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-open-folder-fix:为 DeepSeek Harness 修复 Windows 打开工作目录行为

  • 修复 Windows 打开工作区无效
  • 改用 explorer.exe /e, 启动
  • 仅接管 explorer 其余转发上游
  • 非 Windows 返回 501

上游标签

deepseek-harnessdshdsh-pluginexplorerpluginwindows

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 列出了 4 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有现成安装命令,要按仓库 README 手动接入。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在UI 与外观场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-open-folder-fix当前 未做沙盒验证 未标注 0 未标注 无
nuwa-skill 未做沙盒验证 未标注 3.8 万 未标注 有
awesome-dsh-plugin L4 · 沙盒安装通过 低风险 1.8 万 0.1.1-rc.2 有
deepseek-balance-whale-widget L4 · 沙盒安装通过 低风险 4,492 0.1.7-rc.2 等 2 个 有
dsh-better-sidebar L4 · 沙盒安装通过 低风险 4,112 0.1.7-rc.2 等 10 个 有
dsh-deep-whale L4 · 沙盒安装通过 低风险 2,470 未标注 有

仓库档案

UI 与外观
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方martlet-tech仓库 dsh-open-folder-fix · 默认分支 main
分类UI 与外观ui
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-09-22 · 2026-09-24最后推送 2026-09-24
本站收录2026-09-24首次进入本站目录的时间

README 全文

6.4 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-open-folder-fix

修正 DSH Web GUI 里「打开工作区」按钮在 Windows 上的行为。

问题

DSH 的 Session 头部有一个「在应用中打开工作目录」的分裂按钮。在 Windows 上,
它走 shell-open 通道,最终由 @deepseek-ai/dsh-native-command 执行:

explorer.exe "<目录的 file:// URI>"        ← 0.1.7-rc.1 的写法

更早的版本走的是另一条命令(powershell.exe -NoProfile -Command "Invoke-Item -LiteralPath '<目录>'");两者症状相同,见下。

上游的 explorer 调用在某些 Windows 主机上不起作用,而且不报错。 这是上游
自己记录在案的已知限制(dsh-native-command/README.md,Known Limitations):

> 非交互会话(服务、或无交互登录的计划任务)里,explorer.exe 不调用任何文件
> 关联,并在约 1 秒后仍然以退出码 1 返回……于是「打开」报告成功却什么都没打开。

上游的成功判据就是退出码:runExplorer 把退出码 1 当作"已交接给桌面进程"而
吞掉,runShellOpen 再用 launchWatchMs 看门狗兜底。于是"窗口开了"和"什么都
没发生"在 DSH 看来完全一样,按钮照常变回空闲、不报错。

实测:上游写法在本机失败

Windows 10 19045.7663,直接用上游模块的真实代码路径调用:

调用 报告结果 Explorer 窗口数变化
openNativePath('D:\Projects\dshell')(上游 0.1.7-rc.1) 成功 5 → 5(Δ0)
explorer.exe /e,D:\Projects\dshell(本插件) — 6 → 7(Δ1)

两者都用 execFile 调用 explorer.exe,唯一差别是参数。上游那次报告成功、
一个窗口都没开
——正是上面那段 Known Limitation 描述的情形。

修法

改用 explorer.exe /e,<目录>,实测能稳定新开窗口。explorer.exe 交出控制权后
一律返回退出码 1,这是委派交接而非失败(上游 runExplorer 也按此处理):

命令 行为
explorer.exe(上游现状) 本机不弹窗,但报告成功
explorer.exe /e,<目录>(本插件) 连续 6 次均新建窗口;目录已开着时同样新建
explorer.exe <目录> 也新建窗口
explorer.exe /select,<父目录> 新建并选中目标

Invoke-Item(更早版本的上游写法)的表现记录在此备查:它执行该目录的默认
shell 动词,把请求交给 shell 后立刻返回退出码 0,多数情况新建、偶尔复用,且
成功与否没有信号。

结构

package.json        bundle 清单:声明 dsh.bundle.patch 与 dsh.client
cordis.patch.yml    禁用上游 ui-open-in-app,插入本插件的 Host 行
index.js            Host 半边:注册 POST /open-folder-fix/open
client.js           浏览器半边:接管 Session 头部的分裂按钮

两半的分工:

  • Host 只加一个路由,路径刻意不与上游 /open-in-app/* 重叠。
    webServer.register 对重复的 (kind, path) 会直接抛错,所以覆盖上游路由
    会让插件在加载时炸掉。
  • 浏览器 自己从 /open-in-app/apps 读取已安装应用列表,对
    explorer 这一个 id 路由到本插件的路由,其余应用(VS Code、Windows
    Terminal、Git Bash 等)原样转发给上游 /open-in-app/open,
    因此上游的应用探测、图标和启动策略都不受影响。

上游 @deepseek-ai/dsh-host-open-in-app 保持挂载,因为本插件需要它提供
应用目录与图标。

为什么要禁用上游的浏览器半边

上游 ui-open-in-app 与本插件会争抢同一个 slot cell id(open-in-app)。
插槽文档说明复用 id 会替换那个 cell,但两个注册者的胜出取决于激活顺序,
不确定。因此 patch 显式禁用上游浏览器半边,保证只有一个注册者:

- id: ui-open-in-app
disabled: true

配置

launchWatchMs(默认 1500):explorer.exe 交接的早期失败观察窗口。
启动成功与否不与进程退出绑定——Explorer 把请求交给正在运行的 shell 后就退出,
所以只有 spawn 错误(如 ENOENT)才算失败。

Config 必须导出 Standard Schema

这是本项目踩过的坑,改 Config 前务必读完。

cordis 的 resolveConfig 只要发现插件导出了 Config,就无条件读
Config['~standard'].validate(config):

// @deepseek-ai/cordis  lib/index.js
function resolveConfig(runtime, config) {
if (!runtime.Config) return config
const result = runtime.Config['~standard'].validate(config)  // ← 无保护的属性读取
...
}

因此 Config 必须是符合 Standard Schema 的对象
(含 ~standard.validate)。如果写成看起来更自然的样子:

// ✗ 错误:会让整个 dsh 起不来
export const Config = {
launchWatchMs: { type: 'number', min: 1, max: 600000, default: 1500 },
}

普通对象没有 ~standard,上面那行读出 undefined,紧接着 .validate(...)
抛 TypeError。这个异常发生在组合树启动阶段,结果是整个 dsh 无法启动,
而不只是本插件失效——排查时会以为坏的是别处。

正确写法见 index.js 的 Config:自带 validate,负责填默认值、
校验范围,并返回 { value } 或 { issues }。

已知边界

  • 仅 Windows 有意义。非 win32 上路由返回 501;macOS/Linux 请沿用上游行为。
  • 图标沿用上游 /open-in-app/icon/explorer。上游的目录表里本来就有
    explorer 条目,因此图标正常解析。
  • 与上游 @deepseek-ai/dsh-native-command 的 revealNativePath
    (explorer.exe /select,,用于"在资源管理器中显示某个文件")无关:
    那条路径是按文件定位,不是打开工作目录,本次未改动。

依赖说明

本插件只用 Node 内置模块。不要在这里 import
@deepseek-ai/dsh-host-open-in-app:该包只导出 Config、apply、inject、
name,目录解析不在公开面上,依赖它等于依赖 alpha 版本的内部实现。
与上游的全部交互都走公开 HTTP 路由。

重新安装

同路径重复 install_bundle 会因上游 plugin-manager 的判定逻辑报
ambiguous-install(它靠"dependencies 是否变化"来识别装了哪个包,
包已存在时识别不到)。包在 profile 里是符号链接,所以改完代码刷新页面
即可生效,不需要重装。

常见问题

7 问
答案由本站依据条目字段整理,不引用上游原文
dsh-open-folder-fix 怎么安装?

本站没有抓到该条目的安装命令,请到仓库主页确认安装方式;这类条目多数是生态应用或尚未发布安装包的项目。

dsh-open-folder-fix 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-open-folder-fix 安全吗?

未标注。

dsh-open-folder-fix 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-open-folder-fix 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-open-folder-fix 有哪些功能?

修复 Windows 打开工作区无效、改用 explorer.exe /e, 启动、仅接管 explorer 其余转发上游、非 Windows 返回 501。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

UI 与外观
按星标排序,可作替代方案

nuwa-skill

nuwa-skill

女娲 DSH plugin 只需输入一个名字,就自动调研、提炼并验证任何人的心智模型、决策启发式与表达 DNA,生成可直接调用的思维视角 S

未标注验证等级 3.8 万 星

awesome-dsh-plugin

awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harnes

L4 · 沙盒安装通过 1.8 万 星

deepseek-balance-whale-widget

DeepSeek-Balance-Whale-Widget

DSH 界面右下角的常驻小鲸鱼余额挂件,实时显示 DeepSeek 账户余额、今日已用与每轮对话消耗,支持拖拽吸附、Q 弹动画与音效,开箱即

L4 · 沙盒安装通过 4,492 星

dsh-better-sidebar

DSH-better-sidebar

面向 DeepSeek Harness 的服务化侧边栏工作台插件,把文件编辑、终端、Git 变更、子代理任务与侧边对话整合进右侧栏与底部面板

L4 · 沙盒安装通过 4,112 星

dsh-deep-whale

dsh-deep-whale

DSH Web 鲸鱼娘皮肤系列(深海女仆工坊 maid-atelier)。

L4 · 沙盒安装通过 2,470 星

deepseek-design

deepseek-design

可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。

L4 · 沙盒安装通过 1,438 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。