3.1 KiB
ShrinkSDK Inspect
本地语义导航与能力查询工具。无需模型 API、向量数据库或常驻服务。
dotnet pack Tools/AgentSupport/Shrink.Inspect -c Release -o Artifacts/Inspect
dotnet tool install ShrinkSDK.Inspect --tool-path Artifacts/Inspect/bin --add-source Artifacts/Inspect --version 0.1.2
Artifacts/Inspect/bin/shrink inspect capabilities "存档" --root .
Artifacts/Inspect/bin/shrink inspect modules --root .
支持 modules、capabilities、symbol、flow、impact、check。能力默认 3 项;其他结果默认 20 项,链路深度 2。使用 --module、--limit、--depth 缩小或展开,--json 返回结构化数据。
Unity 使用菜单 Tools/ShrinkSDK/Inspection/Export compilation inputs 导出实际编译引用、源文件和宏,然后传入 --compilation Artifacts/Inspection/compilation.json。没有导出时 IDE 工程输入只作为可能过期的辅助;无工程输入时采用标记不完整的源码候选索引。
.NET/Godot 消费项目先正常 restore/build,再使用 --project path/to/project.csproj,通过 MSBuildWorkspace 获取语义。工具需要 .NET 8 或兼容运行时,以及可加载该项目的 SDK。
shrink inspect flow "route:command/execute" --compilation Artifacts/Inspection/compilation.json
shrink inspect symbol ShrinkContextRuntime --compilation Artifacts/Inspection/compilation.json
shrink inspect impact ShrinkNetworkService.cs --compilation Artifacts/Inspection/compilation.json
shrink inspect check --compilation Artifacts/Inspection/compilation.json --json
static 是静态绑定,candidate 是动态候选/待注册关系,runtime-bound 来自相同构建的按需快照,unresolved 表示信息不足。静态订阅关系不等于活跃订阅;影响查询不证明没有其他间接影响。索引每次从当前输入构建,不保存不可见的跨任务记忆。
通过 --snapshot 加载宿主导出的快照;无可验证构建标识或标识不符时不合并。工具不自动连接生产宿主,不输出消息正文或令牌。
新增内容的工作方式见 复用优先设计。源码、配置与行为验证优先于描述;无命中不意味着不存在能力。
退出码:0 查询完成,1 check 发现确定错误,2 参数/输入错误。覆盖不足以结构化 coverage 返回,不伪装为完整检查通过。
当前目录下的 Unity PackageCache 只纳入已安装的 com.cneicy.shrink-* 源码与能力说明,其他第三方包作为引用。消费项目用自己的 README 声明业务能力,工具不会从 SDK 基础设施推断玩法已经存在。
本机仅安装较新 .NET SDK 时,CLI 允许前滚到最新已安装主版本;共享内核仍为 netstandard2.1。能力查询无需 MSBuild,--project 需要可加载目标项目的 SDK。
本地发布与验证入口:Pack-Local.ps1 打包 NuGet,Install-Unity.py <工程路径> 生成可随工程保存的 UPM tarball;它只改消费工程的 ShrinkSDK 依赖并保留原 manifest 备份。新版安装和回退说明见 迁移指南。