🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

原生打开 Lessthinker66/dsh-open-native

DeepSeek Harness
Lessthinker6620 天前有提交已提供中文文档扫描:未发现敏感能力

点交付卡片直接用系统默认程序打开文件

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/15 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Lessthinker66/dsh-open-native
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/11/03·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 20 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

用系统默认应用打开已交付文件卡片

README

由 DeepSeek 最新模型翻译生成
dsh-open-native 点交付卡片 → 直接用系统默认程序打开文件(.xlsx 就是 WPS),不再跳进 DSH 右侧的内置预览。 为什么需要它 DSH 的交付卡片(present 出来的文件那个卡片)把两件事刻意分开了: - 点卡片本体 = 在右侧 Sidebar 内嵌预览。这是写死的,没有设置项能改。 - 用系统默认程序打开 = 卡片上另一个独立的分体按钮「打开(默认)」。 这个插件把第一件事改成第二件事。 注意:这个插件只负责「走哪条打开通道」。文件最终由哪个程序接管,仍然取决于 Windows 对那个扩展名的默认程序关联。如果点开发现是微软 Office 而不是 WPS,那是系统关联的问题(FileExts\.xlsx\UserChoice 的哈希失效),不是插件的问题。 怎么做的 改动全在浏览器端,不碰 DSH 本体(不改 app.asar,升级不会丢)。 - DSH 的卡片里那个铺满整块的预览按钮,title 属性上挂的就是解析后的绝对路径(resolveWorkspacePath(cwd, file.path))。 - 原生打开的通道是宿主的 session.openWorkspacePath({ path })。
展开完整文档(README 剩余 1 节)
dsh-open-native

点交付卡片 → 直接用系统默认程序打开文件(.xlsx 就是 WPS),不再跳进 DSH 右侧的内置预览。

为什么需要它

DSH 的交付卡片(present 出来的文件那个卡片)把两件事刻意分开了:

- 点卡片本体 = 在右侧 Sidebar 内嵌预览。这是写死的,没有设置项能改。
- 用系统默认程序打开 = 卡片上另一个独立的分体按钮「打开(默认)」。

这个插件把第一件事改成第二件事。

注意:这个插件只负责「走哪条打开通道」。文件最终由哪个程序接管,仍然取决于 Windows 对那个扩展名的默认程序关联。如果点开发现是微软 Office 而不是 WPS,那是系统关联的问题(FileExts\.xlsx\UserChoice 的哈希失效),不是插件的问题。

怎么做的

改动全在浏览器端,不碰 DSH 本体(不改 app.asar,升级不会丢)。

- DSH 的卡片里那个铺满整块的预览按钮,title 属性上挂的就是解析后的绝对路径(resolveWorkspacePath(cwd, file.path))。
- 原生打开的通道是宿主的 session.openWorkspacePath({ path })。
- 本插件在 document 的捕获阶段监听 click:命中 [data-presented-file] 卡片、且不是点在卡片右下角的动作按钮上时 → preventDefault() 掉原来的预览 → 改调 session.openWorkspacePath。

保留原来的行为

按住 Shift(或 Ctrl / Alt / Cmd)点卡片,仍然走 DSH 内置的侧边栏预览。

安装

这是一个标准的 DSH 插件包(dsh.bundle.patch + dsh.client):

dsh plugin --profile desktop add dsh-open-native
或者用本地打包好的文件:
dsh plugin --profile desktop add file:/绝对路径/dsh-open-native-1.1.0.tgz

装完在 DSH 可视化页面的「插件」面板里就能看到它(标题「原生打开」,带图标),可随时启用/停用。

包装内容

| 文件 | 作用 |
| lib/index.js | 宿主半区:不注册任何服务,只为让 bundle 能被加载 |
| lib/client.js | 客户端半区:捕获阶段的点击拦截,真正干活的部分 |
| cordis.patch.yml | bundle 补丁,把本插件挂进 profile |
| icon.svg | 插件面板里的图标(package.json 的 icon 字段) |
| locale/en.json、locale/zh.json、locale/zh-CN.json | 面板里显示的名称与描述 |

package.json 里的 dsh.engines.dsh 声明了适用的 DSH 版本(>=0.2.0-rc.2),是给插件市场做兼容判断用的元数据。

排错

按 F12 打开开发者工具,看 Console 里有没有 [dsh-open-native] 开头的警告:

- 宿主没有受理原生打开 → 宿主拒绝了这次调用(路径不在会话工作区内,或宿主没装原生打开能力)。
- 什么都没打出来 → 说明点击没被识别成卡片,多半是 DSH 改了卡片的 DOM 结构(见下)。

它可能在什么时候坏

插件靠两个 DOM 特征认卡片,DSH 大版本更新后可能要跟着调:

- 卡片容器:[data-presented-file]
- 预览按钮:button 的 class 里含 cardPreview

两处都在 lib/client.js 顶部的常量里。改完记得重新打包并向 profile 重装一次。

第二条有退路:类名对不上时,插件会退回「卡片里第一个 title 是绝对路径的按钮」,所以 DSH 单纯重命名 CSS module 不会让它整个失效——真正会一击致命的是卡片容器标记。另外路径必须长得像绝对路径(C:\、\\、/ 开头)才会被打开,避免把 title 上的普通文案当成路径去调宿主。

版本

- 1.1.0 — 预览按钮识别加了退路;路径改为从「这一下真正点到的按钮」上取,卡片里出现多个文件时不会认错。
- 1.0.0 — 首个版本。
预览分享卡片长什么样 ↓Lessthinker66/dsh-open-native
分享 · DeepSeek Harness Hub
Lessthinker66/dsh-open-native

点交付卡片直接用系统默认程序打开文件

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部