dsh-compat-guardian
在终端中运行以下命令:
dsh plugin install Han-1413141/dsh-compat-guardian
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install Han-1413141/dsh-compat-guardian,或从源码仓库 https://github.com/Han-1413141/dsh-compat-guardian 按文档安装。
插件介绍
当你往 DeepSeek Harness 里堆越来越多插件时,真正让人头疼的往往不是单个插件写得好不好,而是它们能不能在同一宿主里和平共处:DSH 与 Node 版本是否达标、声明的依赖和互斥有没有踩雷、顶层 Cordis 条目是否重复注册、全局独占的 tool 或 service 是否撞名,以及 Loader 是否已经连续加载失败却还在反复拖垮启动流程。dsh-compat-guardian 就是为这类「装得上、跑不稳、一坏就全挂」的场景准备的护栏。
它的核心能力可以概括为检查、隔离与恢复。启动前或运行中会核对版本要求、系统与运行时约束、插件依赖与互斥关系,并关注真实 Loader 的连续失败信号;对明确判定有问题的 bundle 做隔离,而不是把尚未就绪的 pending 状态误当成崩溃。需要动手修环境时,离线修复会保留原始 package.json 文本与校验、备份 cordis.patch、锁文件和兼容配置,只从 dsh.profile.bundles 里移除被隔离的选择,不粗暴卸载依赖;写入采用与官方一致的跨进程锁和原子替换,恢复时再校验版本与冲突,只合并对应 bundle,尽量不抹掉你之后的其它编辑。
插件作者可以在 package.json 顶层通过本项目定义的 dshCompat 元数据声明互斥(这不是 DSH 官方标准);未声明的冲突无法靠静态扫描全部识别,Guardian 也更依赖明确的 failed 状态做判断。它与宿主仍在同一进程,拦不住 process.exit、原生崩溃或极早退出的宿主——这类情况可配合独立 CLI 做停用与恢复。
适合正在维护多插件 DSH 环境、需要可控排障与可回滚修复的开发者与插件作者;若你只装一两个简单插件、几乎从不碰 profile 与 bundle 配置,可能用不上这套机制。配套插件 dsh-autocompose 可分别安装,两者职责不同、可组合使用。
使用场景
- 多插件并存时需要在启动前核对 DSH、Node 与依赖是否满足要求
- 某个 bundle 连续加载失败,希望自动隔离而不拖垮整个 profile
- 修环境或回滚时需要保留配置备份,只移除有问题的 bundle 选择
适合人员
- 维护 DeepSeek Harness 多插件环境的开发者
- 在 package.json 中声明 dshCompat 互斥的插件作者
- 需要可控排障与可回滚 profile 修复的运维或集成人员