DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Reveal Fix — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
R

dsh-reveal-fix

Reveal Fix

Fix DSH's "reveal in file manager" on Windows: Explorer opened at Desktop, and windowsHide:true created the window hidden (SW_HIDE).

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:HeJian2002W/dsh-reveal-fix#30839456e373b530509532b8ad806c8879b421c8
READMECompatibilityVersions

Compatibility and provenance

Reveal Fix is published as dsh-reveal-fix and currently resolves to version 1.0.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
9/11/2026

Versions

1.0.0stable
9/11/2026

Related plugins

Loading related plugins…

Latest
1.0.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/11/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseSubagent Codex@deepseek-ai/dsh-subagent-codexOne-shot Codex subagent provider over the official app-server protocol

README

dsh-reveal-fix

修复 DSH 在 Windows 上「在文件资源管理器中显示」失效的问题。以用户插件形式实现,因此不受 dsh 升级影响。

症状

点击交付卡片上的「在文件资源管理器中显示」时:

  • 接口返回 HTTP 204,界面提示「已请求在文件资源管理器中显示」
  • 但屏幕上什么都不出现 —— 没有窗口、没有任务栏闪烁、没有报错

UI 报告成功,用户感知为零,且没有任何可供诊断的痕迹。

根因(上游两个独立缺陷叠加)

#缺陷后果
ArevealNativePath() 把 pathToFileURL().href(百分号编码的 file: URL)交给 explorer.exe /select,,而它接受的是文件系统路径Explorer 无法解析,静默回退打开「桌面」。空格 → %20,非 ASCII → %E5%89%8D...
B共享 runner 硬编码 windowsHide: true,Node 将其转为 STARTUPINFO 的 wShowWindow = SW_HIDE,explorer.exe 把这个显示状态应用到它新建的窗口窗口被创建成隐藏:IsWindowVisible() 返回 false,永不显示

为什么无法诊断:Explorer 无论成败退出码恒为 1(上游将其视为"已委派"吞掉);HTTP 路由恒返回 204;前端提示文案与成功时完全相同。三者叠加使故障完全静默。

本插件的做法

在 sessionController 上替换 revealPath:

  • 传纯 Windows 路径(单个 argv 元素,紧贴逗号)
  • windowsHide: false,让窗口真正显示
  • 非 Windows 平台回退到原实现
  • 保留上游约定:Explorer 退出码 1 不视为失败

sessionController.openWorkspacePath() 内部是 await this.revealPath(...) 动态查找,因此在实例上替换方法即可生效,无需修改任何核心文件。

安装

从 GitHub 安装(推荐):

dsh plugin --profile web add github:HeJian2002W/dsh-reveal-fix

从本地目录安装(离线 / 自己改代码时):

dsh plugin --profile web add link:C:\Users\Admin\.dsh\local-plugins\dsh-reveal-fix

安装后重启 dsh 生效。

卸载:

dsh plugin --profile web remove dsh-reveal-fix

为什么不受升级影响

  • 插件源码位于 ~/.dsh/local-plugins/,注册信息位于 ~/.dsh/profiles/web/
  • 两者都在 dsh 安装目录之外;升级(temp 暂存 → 目录交换)不会触及
  • 与核心安装 node_modules 里的手工改动不同,升级后无需重新打补丁

前提:上游若改变 sessionController.revealPath 的名字或语义,本插件需要同步更新。 因此仍建议把缺陷提给上游(@deepseek-ai/dsh-native-command),长期方案是修在源头。

验证

判定标准不是「窗口计数增加」——Shell.Application.Windows() 会列出隐藏窗口,计数无法区分可见与否。必须查 IsWindowVisible:

Add-Type -MemberDefinition '[DllImport("user32.dll")] public static extern bool IsWindowVisible(IntPtr h);' -Name W -Namespace Q
(New-Object -ComObject Shell.Application).Windows() |
  ForEach-Object { "{0,-6} {1}" -f [Q.W]::IsWindowVisible([IntPtr]$_.HWND), $_.LocationURL }

修复前:目标目录窗口存在但 visible=False。 修复后:visible=True。

独立 A/B(同一命令,仅改一个变量):

变量结果
pathToFileURL().href → /select,窗口落在 Desktop ❌
纯路径 → /select,窗口落在目标目录 ✅
windowsHide: trueIsWindowVisible = False ❌
windowsHide: falseIsWindowVisible = True ✅

已知残留(本插件不处理)

两个缺陷都修好后,浏览器仍会在约 1.7 秒后把前台焦点抢回(即使服务端调用 Win32 SetForegroundWindow 强制置顶,同样在 1.7s 内被覆盖),窗口容易被压在浏览器后面。

若要改善,可在 reveal 后延迟约 2s 再断言一次前台。默认不启用:这会引入「用户已切去做别的事、窗口突然跳出来抢焦点」的副作用,属产品行为取舍。