服务注册装配:AiConfig → Registry → id 路由

服务注册装配:AiConfig → Registry → id 路由 由 Archify 生成的数据流图。 01 / 输入 02 / 装配循环 03 / 注册表 04 / 命中记录 05 / 服务实例 AiConfig · platforms 清单 · 01 / 输入 AiConfig platforms 清单 Configuration · 全局配置 · 01 / 输入 Configuration 全局配置 Registry.from() · 逐平台装配 · 02 / 装配循环 Registry.from() 逐平台装配 AiServiceFactory · create(scoped) · 02 / 装配循环 AiServiceFactory create(scoped) registrations · Map<id,Reg> 保序 · 03 / 注册表 registrations Map<id,Reg> 保序 调用方 · FreeAiService/业务码 · 03 / 注册表 调用方 FreeAiService/业务码 Registration · id+PlatformType+实例 · 04 / 命中记录 Registration id+PlatformType+实例 AiService · 每 id 一实例 · 05 / 服务实例 AiService 每 id 一实例 平台实现 · PlatformType switch · 05 / 服务实例 平台实现 PlatformType switch ① AiPlatform 列表 config ② BeanUtil 拷贝 config ③ create(scoped) service ④ put(id,Reg) reg ⑤ find(id) reg ⑥ getAiService() service ⑦ getXxxService(type) service ⑧ getChatService(id) lookup 图例 主要数据 异步批处理 数据存储

装配(from 静态工厂)

  • • 每个 AiPlatform 需非空 id;platform 字符串经 resolvePlatformType 映射 PlatformType,未知值抛 IllegalArgumentException
  • • createScopedConfiguration:BeanUtil.copyProperties 拷全局配置,再按平台 switch 写入 OpenAiConfig/DoubaoConfig 等子配置

每 id 一个 AiService

  • • AiServiceFactory.create(scopedConfiguration) 为每个平台 id 建独立 AiService;registrations 是不可变 LinkedHashMap
  • • 一个进程可同时持有 openai-main、doubao-backup 等多个 id,各自独立 api-key/base-url

查找与兼容入口

  • • find(id) 命中 AiServiceRegistration 后取 AiService,再 getChatService(platformType) 走平台 switch 到具体实现
  • • FreeAiService 是 @Deprecated 兼容壳:构造时把 Registry.from 结果装进静态 registry,按 id 转发