| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import re
- PATH = '/data/ai/audio/server/dist/services/llm/index.js'
- with open(PATH, 'r', encoding='utf-8') as f:
- src = f.read()
- # 替换 resolveProviderKey:vendor + apiKey 指纹
- OLD = """function resolveProviderKey(modelId) {
- const cfg = config_1.config.models.getModel?.(modelId);
- if (cfg?.vendor)
- return cfg.vendor;
- // fallback: 从 registry 查找
- const registry = (0, provider_registry_1.getLlmRegistry)();
- for (const node of registry.listEnabled()) {
- if (node.provider.hasModel(modelId))
- return node.provider.vendor;
- }
- return modelId;
- }"""
- NEW = """function resolveProviderKey(modelId) {
- const cfg = config_1.config.models.getModel?.(modelId);
- if (cfg?.vendor) {
- // 关键: 用 vendor+apiKey 指纹区分同一个 vendor 的不同 key (例如 minimax Key1 vs Key2)
- // 这样 fallback 不会把两个独立 key 当成同一个 provider 转一圈就停
- if (cfg.apiKey) {
- return cfg.vendor + ':' + cfg.apiKey.slice(-12);
- }
- return cfg.vendor;
- }
- // fallback: 从 registry 查找
- const registry = (0, provider_registry_1.getLlmRegistry)();
- for (const node of registry.listEnabled()) {
- if (node.provider.hasModel(modelId))
- return node.provider.vendor;
- }
- return modelId;
- }"""
- if OLD not in src:
- print("ERROR: OLD not found")
- raise SystemExit(1)
- src = src.replace(OLD, NEW)
- with open(PATH, 'w', encoding='utf-8') as f:
- f.write(src)
- print("OK: resolveProviderKey patched")
|