Back to home@steven95

dsh-plugin-graph

No description

Stars
0
Language
JavaScript
Created
Aug 18, 2026
Updated
Aug 18, 2026
GitHub repo

Introduction

dsh-plugin-graph-engine

DSH(DeepSeek-Harness)生态级基建插件:插件依赖图与冲突检测引擎

扫描已安装/待安装插件,静态解析元数据(不执行代码),构建插件依赖图,检测缺失依赖、循环依赖、工具/服务冲突、管道拦截重叠,并提供 DSH 版本兼容性检查安装预检(冲突即拦截)。

特性

  • 零侵入:静态解析插件源码与 package.json,不执行插件代码,安全通用
  • 四类冲突检测:工具冲突(error)、服务冲突(error)、管道拦截重叠(warning)、事件监听重叠(info)
  • 依赖图:缺失依赖、循环依赖(DFS 三色标记)
  • 版本兼容性:核对插件声明的 DSH 版本要求与当前运行版本(简化 semver:* / x.y.z / ^ / ~ / >=
  • 安装预检:模拟安装新插件后的增量风险,冲突即拦截
  • CLI / CI 就绪:零依赖命令行入口,--json 机器可读输出,退出码 0/1 可直接接入 CI 门禁

安装

# 作为 DSH 插件安装
dsh plugin add dsh-plugin-graph

# 或作为 CLI 全局安装
npm install -g dsh-plugin-graph

CLI 用法

# 扫描插件目录,构建依赖图并检测冲突
dsh-plugin-graph scan <dir> [--json]

# 冲突检查(无 error 级冲突即健康)
dsh-plugin-graph check <dir> [--json]

# 安装预检:模拟安装新插件后的增量风险
dsh-plugin-graph preflight <existingDir> <incomingDir> [--json]

# DSH 版本兼容性检查
dsh-plugin-graph compat <dir> <dshVersion> [--json]

退出码:0 = 健康 / 可安全安装;1 = 存在 error 级冲突或参数错误。

CI 集成示例

# .github/workflows/plugin-check.yml
- run: npm install -g dsh-plugin-graph-engine
- run: dsh-plugin-graph check ./plugins --json

插件内工具

工具说明
plugin_graph_scan扫描插件目录,构建依赖图并检测冲突
plugin_graph_check对给定插件清单做冲突检查
plugin_graph_preflight安装预检:模拟安装新插件后的增量风险
plugin_graph_compatDSH 版本兼容性检查

检测维度

类型严重级说明
tool_conflicterror两个插件注册同名工具
service_conflicterror两个插件提供同名服务
missing_dependencyerror插件 inject 的服务无人提供
cycle_dependencyerror插件间存在循环依赖
interceptor_overlapwarning多个插件拦截同一工具管道
event_overlapinfo多个插件监听同一事件

开发

# 冒烟测试(不依赖 DSH 运行时)
node temp/plugin-graph-smoke.mjs
node temp/plugin-graph-smoke2.mjs

业务逻辑全部为纯函数(lib/*.js),可独立测试;运行时(index.js)只做薄封装。

License

MIT