SuperAPI AI 工具集

dsh-upgrade-audit

编程与开发

查看项目

更新于 10-16 01:34

技能介绍

用途:审计两个 DSH 版本之间对仓库外消费者可见的全部变化,判断相对 from,to 是否包含更多变更或回滚,并产出用户预期的报告集合。外部兼容范围包括 npm 包公开 API(导出、类型、签名、依赖面)、dsh CLI(命令、flag、profile、配置键)、线协议(SDK JSON-RPC、远程 gateway/BFF、ACP、hooks)、磁盘会话数据(JSONL 日志、SQLite 存储及版本守卫)、模型可见面(工具名/schema、系统提示输出)以及 Python SDK 的期望;内部重构仅作背景并聚合计数。

主要能力:解析两个版本标识(支持 0.1.2-alpha.2、dsh-v0.1.2-alpha.2、dist-tags alpha/latest/next),按具体度选择分析模式(上下文路径、DSH_SOURCE_PATH 环境变量、CWD 启发式、npm 模式);经脚本物化两棵源码树或已发布包树;先建立共享事实(格式守卫、回滚列表、Python SDK),再并行执行各类门面扫描,最后人工复验 REMOVED、回滚与线协议声明后撰写报告。

使用方式:源模式先校验 git merge-base <from> <to> 必须等于 from 的提交,再运行 node <skill-dir>/scripts/gen-artifacts.mjs <from> <to> tmp/<pair>;npm 模式运行 node <skill-dir>/scripts/materialize-npm.mjs <from> <to> tmp/<pair>,脚本解析版本、以 --ignore-scripts 安装依赖闭包及 SQLite 补充包,并从公开 GitHub 仓库补充提交与回滚信息。产物统一落在 tmp/<fromNorm>-to-<toNorm>/,含 commits.txt、reverts.txt、files.txt、diffstat.txt、完整 diff、manifest-diff.txt、CHANGELOG.md 与 UPGRADE-ADAPTATION.md;若目标目录已存在则先询问,不覆盖。

适用场景:版本升级前的兼容性评估、回滚检测、迁移清单与边界签名表生成;审计结果可对接 plugin-upgrade 执行单个插件迁移。

限制:npm 版本集不等于 git 标签集(如 0.1.2-alpha.1 已打标签但从未发布,需向用户说明差异而非静默替换);CLI 闭合不包含所有可发布包(SQLite 持久化后端非 CLI 依赖);私有仓库无 compare 富化时无法检测回滚意图;npm 模式无 git 历史、CLI tarball 仅含 lib/、Python SDK 不在范围。守卫:只读,源模式不触碰 tmp/<pair>/ 外内容,npm 模式仅写入自身目录,绝不将 dsh 包安装到宿主项目 node_modules;不可验证内容标注 [INFERENCE] 或删除。