openai-cn-pack
这是 sub2api-cn-relay-manager 的最小模型包样例。
它不是宿主原生插件,而是一个可被控制面读取的 model_pack,用于描述国产模型 provider 的默认接入模板、默认模型映射、默认套餐和导入约束。
当前 pack 也可以承载 provider 级 host_overlays 元数据。
这类 overlay 不是立即在线改宿主代码,而是把“某个 provider 在某个宿主版本上需要额外运行时补丁/兼容层”的工程信息纳入 pack 管理,供 preview/import 阶段直接暴露,并可由 CLI 执行器生成 patched 宿主构建目录。
当前目录现在同时包含:
- 真实可校验包:
pack.json、providers/deepseek.json、checksums.txt - 协议样例:
pack.json.example、providers/deepseek.json.example
当前 pack 除了历史中转 provider,也已经内置首批官方 provider 模板:
qwen-official.jsonqwen-coder-official.jsondeepseek-chat-official.jsondeepseek-reasoner-official.jsonglm-5-1-official.jsonglm-4-7-official.jsonkimi-k2-5-official.jsonkimi-k2-thinking-official.jsonminimax-m2-7-official.jsonstep-3-5-flash-official.json
对应的 provider_id 与首选模型如下:
qwen-officialqwen-plus,qwen-max
qwen-coder-officialqwen3-coder-plus,qwen3-coder-flash
deepseek-chat-officialdeepseek-chat
deepseek-reasoner-officialdeepseek-reasoner
glm-5-1-officialglm-5.1
glm-4-7-officialglm-4.7
kimi-k2-5-officialkimi-k2.5
kimi-k2-thinking-officialkimi-k2-thinking
minimax-m2-7-officialMiniMax-M2.7-highspeed,MiniMax-M2.5-highspeed
step-3-5-flash-officialstep-3.5-flash
一旦这些 provider 模板已经内置到 pack,后续新增同类官方 key 的导入就不需要再改代码或重写 provider JSON,直接走标准导入命令即可。例如导入 Qwen:
go run ./cmd/cli import-provider \
--host-base-url https://sub2api.example.com \
--host-api-key <sub2api-admin-key> \
--pack-dir ./packs/openai-cn-pack \
--provider-id qwen-official \
--keys <dashscope-api-key-1>,<dashscope-api-key-2> \
--access-mode self_service \
--access-api-key <user-gateway-key>
如果你要导入的不是这 10 个模板之一,而是一个全新的官方 provider,那么仍然需要先补一个新的 provider manifest,再做一键导入。
对已经声明 host_overlays 的 provider,也可以直接用最小执行器生成 patched 宿主源码目录。例如对 kimi-a7m 命中的 sub2api v0.1.129 overlay:
go run ./cmd/cli apply-host-overlay \
--pack-dir ./packs/openai-cn-pack \
--provider-id kimi-a7m \
--host-version 0.1.129 \
--source-dir /tmp/sub2api-clean
命令会解析 provider manifest 中命中的 overlay,复制 --source-dir 到新的输出目录,应用 patch_path 指向的补丁,并在输出目录写入 .sub2api-cn-relay-manager-overlay.json 元数据文件。
后续真实交付时,还可以继续扩展更多 provider:
kimi.jsonqwen.jsonglm.jsonminimax.json