MCPcopy Create free account
hub / github.com/Rfym21/Qwen2API / parseApiKeys

Function parseApiKeys

src/config/index.js:8–19  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

6 * @returns {Object} 包含apiKeys数组和adminKey的对象
7 */
8const parseApiKeys = (apiKeyEnv = process.env.API_KEY) => {
9 if (!apiKeyEnv) {
10 return { apiKeys: [], adminKey: null }
11 }
12
13 const slots = apiKeyEnv.split(',').map(key => key.trim())
14 // 空槽位 = 变量没展开(`API_KEY=${A},${B}` 里 A 未定义就变成 `,B`)。旧代码把空槽
15 // 过滤掉照常启动:admin key 静默变成了后面那个客户端 key,dashboard 用真正的 admin
16 // key 反而报 "invalid"。2026-09-16 qwen-next 就是这样丢掉后台访问的。没人会故意写
17 // 出空槽,所以这里直接拒绝启动,而不是带着残缺的密钥表跑下去。
18 const emptyAt = slots.map((key, index) => (key.length === 0 ? index + 1 : 0)).filter(Boolean)
19 if (emptyAt.length > 0) {
20 throw new Error(
21 `API_KEY 有 ${emptyAt.length} 个空槽位(第 ${emptyAt.join('、')} 位,共 ${slots.length} 位)——` +
22 '多半是环境变量没有展开。请检查部署时是否注入了全部密钥(例如 compose 的 ${...} 是否有值)。'

Callers 1

index.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected