前言¶
DeepSeek Harness(DSH)采用「一切皆插件」的架构:模型调用、界面、工具链往往都通过 Cordis 插件挂进 profile。社区目录(如 skillhub.cn)方便发现插件,但收录不等于能力扫描或安全背书;生态里常见的路径是「先安装、出问题再整 profile 回滚」。对经常换插件、改 patch 的开发者来说,缺的是装前可读的检查报告、可逐项批准的变更方案,以及备份与装后核验。
下面介绍维护者 GIN0076 的工作流插件 dsh-install-review(Pre-install Review · 插件装前审查):在点击安装之前,对目标包做只读审查,由你批准改动计划、自动备份后再安装并核验。
这是什么¶
dsh-install-review 的定位是:DSH 插件安装前的审查闸门——审计、批准变更方案、备份,再执行安装。
- 维护者:GIN0076
- 分类:工作流
- 许可证:MIT(package.json 与 README 一致)
- 当前包版本:1.3.0(
@local/dsh-install-review) - 适配:DeepSeek Harness 0.2.0-rc.2(README 标注的实测版本)
- 运行时依赖:0;不改宿主源码(README 徽章:host source changes 0)
插件本身通过 dsh.bundle(patch)、dsh.client(web 界面)接入;它不修改第三方插件源码,只动来源、版本、构建批准、profile 配置四类属于你自己的配置。
核心功能¶
13~14 项只读检查¶
输入包标识后,面板在数秒内生成审查报告。检查项全部只读,主要包括:
| 方向 | 内容 |
|---|---|
| 本机 | DSH 版本与 profile(路径自动打码,便于分享截图) |
| 官方 inspect | pluginManager.inspect 下的 dsh.bundle / dsh.client / dsh.tool / dsh.page / dsh.configForm |
| 兼容与清单 | peer 解析(含 includePrerelease);名录、仓库、星标、30 天下载量(不把仓库星标冒充包星标) |
| 安装与冲突 | 已装/未装;loader id 是否与现有行撞车(重复 id 可能导致宿主启动崩溃) |
| patch 与槽口 | override 行目标是否存在、是否被其他插件双重改写;槽口与本机目录对照(打包桌面版读 app.asar 内编译目录,跑不起来则警告而非默许放行) |
| 风险信号 | 安装期脚本(prepare / postinstall 等);终端类描述;engines.dsh 与 dsh.engines.dsh 两种写法;描述中改宿主核心的措辞;清单上的 10 类能力与红线句(中译,未标注则如实写「上游未标注能力」) |
README 强调:清单未标注能力不等于安全;出现 阻断(block) 时,默认正确动作是不要继续安装。
闭环:审查 → 方案 → 批准 → 改 → 装 → 核验¶
- 审查:输入 npm 包名、
owner/repo、github:owner/repo或 GitHub 链接,生成报告。 - 方案:仅列出可执行改动,勾选才会执行;标题旁有「全选 / 全不选」。典型项包括:固定或更新版本、在 peer 不兼容且你确认风险后授予这一对版本的豁免、换下载源、启用包声明但未启用的 loader 行、批准 pnpm 拦截的构建脚本、经
configEditor写 profile 配置(模板由包 patch 默认值与现有配置合并预填)、git 来源切换为 npm 固定包等。 - 你的建议:在「你的建议」中写修改意图 →「复制报告给我复核」→ 将会话返回的修订 JSON 粘贴到「导入修订」(目标不匹配会拒收;导入不能代替你勾选「接受风险」)。
- 执行:先备份
package.json、cordis.patch.yml、pnpm-workspace.yaml、cordis.yml(有豁免记录时含compatibility.json),再应用批准项并安装。 - 核验:除安装状态与 loader id 外,还检查 patch 行是否激活、bundle 是否选中、浏览器半是否进入客户端模块图,并给出可读结论(例如需重启 dsh)。
内置中文清单快照(README 称 4377 条)支持服务端搜索、分类与排序,便于从目录挑包再审查。
红灯后的处理(有处方 vs 硬阻断)¶
- peer 不兼容:面板可引导通过官方通道为「包@版本 + 当前 DSH 版本」授予精确版本豁免,需本人勾选风险确认;豁免可撤销,换版本或升级 DSH 后失效。
- engines.dsh 不符:仍为阻断,但报告说明宿主安装路径主要核对
peerDependencies,并提供「确认仍安装」或改用满足范围的版本等选项。 - 硬阻断:读不到 manifest、缺少
dsh.bundle、loader id 撞车等,报告会明确建议不要安装。
边界说明¶
这是装前体检,回答「能不能装、会碰什么配置与能力面」,不能替代对来源与源码的人工判断。插件以当前 dsh 进程权限运行;安装任何插件前仍应自行查看仓库、许可证与维护者信息。
安装与启用¶
Web profile 下,README 给出的安装命令为:
dsh plugin --profile web add github:GIN0076/dsh-install-review
说明:
- 要求 DeepSeek Harness 0.2.0-rc.2 与 web profile 或桌面版。
- 零运行时依赖、无构建步骤、无 postinstall。
- 仅执行
add会把仓库放进node_modules,不会自动挂载界面;还需把@local/dsh-install-review加入 profile 的dsh.profile.bundles,并在cordis.patch.yml加入对应 insert 行。 - 完成后重启
dsh web,再硬刷新(Ctrl+Shift+R)→ 设置 → 插件装前审查。
桌面版(打包 App):设置 → 插件 → 添加插件,填本地目录路径(或通过插件管理工具的 install_bundle 指向目录)。正式打包版无浏览器式硬刷新;客户端半改动常可热更新,Host 半可按 README 的 remove_bundle + install_bundle 换代流程重载。不想走 git 时,可将仓库拷到本地后用 install_bundle 并做同样的 profile 两处配置。
卸载:设置 → 插件 → 移除,或 remove_bundle。卸载不删除执行前备份;默认目录为 profile 下的 install-review-backup(可在行 config 的 backupDir 调整)。
典型用法¶
- 打开 插件装前审查 面板。
- 在审查框输入目标,例如某 npm 包名、
GIN0076/某仓库或github:GIN0076/dsh-install-review。 - 阅读报告中的阻断、警告与能力/红线翻译;必要时在清单页搜索同一插件的收录信息。
- 在变更方案中只勾选你接受的项;若 peer 红灯且你仍要安装,先勾选「我已阅读并接受风险」再启用豁免类项。
- 执行安装,查看装后核验结论;若 pnpm 拦截构建脚本,使用面板内「批准
<包名>的构建脚本并重试」。 - 若希望 AI 帮你改勾选与参数:填写「你的建议」→ 复制报告到会话 → 导入返回的修订 JSON。
适用场景与注意¶
适合:需要从社区目录或 GitHub 频繁试装插件、希望统一做 peer/loader/patch 检查;希望在改 profile 前有备份与可审批的变更清单;希望在装后确认 bundle 与 patch 行真的生效。
注意:
- 社区目录(如 skillhub.cn 插件页)与 DeepSeek / 幻方无官方从属关系,星标与下载量为快照数据,以页面与审查报告抓取时为准。
- 全绿不保证无害;自动化检查不能替代你对插件来源的信任判断。
- 安装与启用步骤涉及 profile 与 patch 编辑,操作前确认当前 profile 已纳入版本管理或另有备份习惯。