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 用的包版本无关;
  • 提取可按需触发(不需要等到凌晨三点),进行中/失败状态可查询,失败有明确原因。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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