Skip to content

文档无法按 BootstrapBlazor 版本钉住与多版本查询:组件参数表还取自服务自身包版本,与被提取仓库不一致 #3

Description

@momijijin

使用背景

把 MCPServer 作为 AI 编程助手的文档源使用时,下游项目引用的是特定版本的 BootstrapBlazor(例如项目锁定 10.8.1)。助手查询组件文档的目的,是拿到与项目实际使用版本一致的参数表和示例——但现在做不到。

痛点

  1. 提取永远跟随 main 最新,无法钉住版本
    夜间任务固定 clone/pull 主分支最新,提取产物只有「最新 main」这一份。对锁定旧版本的项目,查到的参数/示例可能与实际使用版本不一致,AI 助手据此生成的代码会引用错误参数。也没有任何配置能指定「我要 10.8.1 的文档」。

  2. 组件参数表的口径不是被提取仓库的版本
    生成组件清单/参数表时反射的是服务进程内已加载的 BootstrapBlazor 程序集——也就是 MCPServer 自身管理页 UI 引用的包版本(当前 10.3.2),而不是刚从仓库源码构建出来的 DLL。这意味着无论提取哪个版本的仓库,参数表始终反映宿主包版本,与「提取了什么版本」脱节。

  3. 单一工作副本,无法多版本并存
    同一时间只能保留一个版本的产物;想对照两个版本(比如评估升级差异)只能整体重提取、互相覆盖,切换一次就要等完整构建。同时无条件 pull 也与「钉住某个 tag」天然冲突。

  4. 提取失败是静默的
    提取过程中的异常被整体 catch 吞掉,产物不完整也无从感知;没有任何状态或失败原因可以查询(夜间失败后第二天只会发现文档缺失)。

期望的行为(需求层面)

  • 可通过配置钉住某个 BootstrapBlazor 版本(tag 或分支),提取与夜间任务都围绕钉住版本工作;
  • 支持多个版本的文档并存,查询时可带可选的版本参数,缺省使用钉住版本;版本号写法宽容(如 10.8.1 / v10.8.1 等价命中);
  • 组件参数表与被提取、构建的目标仓库版本一致,与服务自身 UI 用的包版本无关;
  • 提取可按需触发(不需要等到凌晨三点),进行中/失败状态可查询,失败有明确原因。

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions