启动时检测插件冲突并自动停用恢复
27.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add baisama-cloud/dsh-conflict-guardian该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ads
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 76 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
- 发起网络请求lib/client.js:46
return fetch('/conflict-guardian/' + method, {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 启动检测插件冲突
- 自动停用或恢复
- 弹窗汇报冲突详情
DSH 启动时检测插件冲突(重复挂载、失败或待处理的插件、重复的配置行 id),自动停用或恢复受影响的插件,并在 Web UI 弹窗汇报冲突详情。
README
由 DeepSeek 最新模型翻译生成dsh-conflict-guardian
在 DeepSeek Harness(DSH)每次启动时检测插件冲突、自动停用或恢复冲突插件,并在 Web 界面弹出冲突报告,保证 DSH 稳定运行。
插件激活(即每次 DSH 启动)即扫描一次加载器(loader)中的插件树,发现冲突立即处理,处理结果通过弹窗汇报——哪些插件冲突、在哪里冲突、做了什么处理。
功能
- 重复挂载检测:同一模块以完全相同配置挂载多次视为真正重复,自动停用后加载的实例、保留第一份;同一模块不同配置(如 tool-subagent 的 spawn/fork 双实例)是合法的 Cordis 多实例模式,不会误判;
- 启动失败检测:激活时抛出错误的插件(fiber 处于 failed,错误信息常直接指明冲突,如 service X has been registered at …
展开完整文档(README 剩余 1 节)
dsh-conflict-guardian
在 DeepSeek Harness(DSH)每次启动时检测插件冲突、自动停用或恢复冲突插件,并在 Web 界面弹出冲突报告,保证 DSH 稳定运行。
插件激活(即每次 DSH 启动)即扫描一次加载器(loader)中的插件树,发现冲突立即处理,处理结果通过弹窗汇报——哪些插件冲突、在哪里冲突、做了什么处理。
功能
- 重复挂载检测:同一模块以完全相同配置挂载多次视为真正重复,自动停用后加载的实例、保留第一份;同一模块不同配置(如 tool-subagent 的 spawn/fork 双实例)是合法的 Cordis 多实例模式,不会误判;
- 启动失败检测:激活时抛出错误的插件(fiber 处于 failed,错误信息常直接指明冲突,如 service X has been registered at …),自动停用并报告失败原因;
- 依赖缺失检测:因等待无人提供的注入服务而永远无法激活的插件(fiber 挂起),自动停用并列出缺失的服务名;
- 自动恢复:启用但没有运行实例的条目会自动尝试重新启动(覆盖误停、加载失败等场景),恢复成功会明确提示;
- 配置行 id 重复:静态扫描组合文件,发现同一文件内行 id 重复会给出警告(下次启动会导致加载器直接抛错),但不会修改你的配置文件;
- 界面弹窗:检测到冲突后,页面打开时自动弹出报告,逐条显示冲突详情与处理结果,可「重新检测」或「知道了」关闭。
所有停用/恢复都是运行时操作,不修改任何 cordis.yml——重启后仍按原配置加载,扫描会再次运行,正好符合「每次启动都判断、有冲突就关停」的设计。
安装
与 DSH 插件包相同的分发方式(参考 dsh-session-mover / dsh-omni-bridge):
克隆到本地后,用 dsh 的 bundle patch 机制挂载
npm pack # 生成 dsh-conflict-guardian-0.1.0.tgz
或在 DSH 配置的插件列表中加入该包,cordis.patch.yml 已声明:
- insert:
- id: dsh-conflict-guardian
name: 'dsh-conflict-guardian'
lib/client.js 是已打包的浏览器 bundle(window.__ModuleLoader__.load 形态,与 dsh-omni-bridge 相同);宿主 lib/index.js 在 webServer 上注册 POST /conflict-guardian/report 与 /conflict-guardian/rescan 路由供客户端调用。若作为动态插件运行,宿主同样提供 harness.handle('conflict-report' / 'conflict-rescan') 配对,并额外注册模型可调用的 conflict_check 工具(两种方式都已内置,逻辑共用)。
使用
1. 安装并挂载后,每次 DSH 启动时插件自动扫描加载器;
2. 发现冲突立即自动处理(停用冲突实例 / 恢复未运行实例),并生成报告;
3. 打开 DSH 页面时,若有冲突即弹出报告弹窗:标题、摘要、每条冲突的位置(插件模块 + 组合条目 + 配置文件)与处理结果;
4. 也可随时点「重新检测」获取最新状态;模型可通过 conflict_check 工具随时检查。
工作原理
- 通过 ctx.get('loader') 枚举加载器树中的真实插件条目(跳过 group/include 容器),读取每个条目的模块名、配置、启用状态与 fiber 状态(pending / active / failed);
- R1 重复挂载:按「模块名 + 配置签名(JSON)」分组,同组多于一份即真重复 → entry._dispose() 停用后加载实例(运行时停用,不写配置);
- R2 / R3 失败与挂起:failed 的 fiber 先 await() 取回原始错误;pending 的 fiber 列出 fiber.inject 中无人提供的服务名 → 停用;
- R4 自动恢复:启用但无 fiber 的条目调用 entry.refresh() 重新启动,按恢复后 fiber 是否 active 判定成功与否;
- R5 行 id 重复:读取每个组合文件(Include 树)的原始行,统计行 id 出现次数;
- 报告通过 webServer 路由(静态安装)或 harness.handle(动态插件)提供给客户端弹窗。
限制
- 停用/恢复不持久化:重启后按原配置加载并再次检测(符合设计);如需永久禁用某个冲突插件,请在组合文件中为该行设置 disabled: true 或删除多余行;
- 冲突检测基于加载器运行时状态与组合文件静态分析,不解析插件源码内的服务注册(无法预判尚未加载时的服务冲突);
- 模型工具 conflict_check 仅在动态插件运行方式下注册(静态安装不引入额外依赖)。
许可
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
baisama-cloud/dsh-conflict-guardian
启动时检测插件冲突并自动停用恢复
相关插件 · 营销 / 广告
复古广告弹窗Nagi-ovo/dsh-ads
把 DSH 变成 2005 年门户网站|Parody ads, fake games, and popups for…
★ 679已汉化DSH
67.4
精酿竖版宣传片Finderchangchang/brewreel
精酿 BrewReel:让 DeepSeek 这类便宜模型也能做出好看的竖版宣传片。写一份产品简报,AI…
★ 166已汉化DSH
62.6
工作区分组树KannaKuron/dsh-better-workspace
给 DeepSeek Harness DSH 的侧边栏「工作区」列表装上一套两层文件夹系统——磁盘层按目录路径嵌套官方…
★ 31已汉化DSH
48.1
跨窗提醒Aisland-SJL/dsh-reminder
🔔 DeepSeek Harness 跨窗口完成与审批通知——弹窗提醒把你拉回 DSH,Codex/WorkBuddy 风格。
★ 18已汉化DSH
40.4
推理档位自动选择justhalfbit/dsh-plugin-jev-effort-selector
让 Jev System One 模型替你决定每条消息该用多深的推理。
★ 7已汉化DeepSeek 客户端
37.1
模型价格看板vitas/dsh-model-pricing
在选择模型之前比较 LLM API 价格——并在使用之后查看你实际支付了多少。 这是一个
★ 2已汉化DeepSeek 客户端
36.5