{{ T.autoRefresh }}
| {{ T.name }} | Worker ID | {{ T.supportedModels }} | {{ T.connectedAt }} | {{ T.activeReqs }} |
| {{ T.noWorkers }} |
| {{ w.name }} |
{{ w.worker_id }} |
{{ m }}图 |
{{ fmtTime(w.connected_at) }} |
{{ w.active_requests }} |
{{ T.totalUsers(users.length) }}
⚠ {{ T.noOnlineModels }}
{{ debugMode==='image' ? '输入提示词生成图片' : T.chatPlaceholder }}
{{ m.role === 'user' ? T.you : 'AI' }}
生成中…
{{ m.error }}
无图像返回
{{ m.content }}
✕
{{ T.vaList }}
| {{ T.vaName }} | {{ T.vaBaseUrl }} | {{ T.vaApiStyle }} | {{ T.vaModels }} | {{ T.vaEnabled }} | {{ T.actions }} |
| {{ T.noVirtualAgents }} |
| {{ a.name }} |
🔑 {{ (a.credentials && a.credentials.has_refresh_token) ? (lang==='zh'?'已登录':'linked') : (lang==='zh'?'未登录':'no token') }}
· {{ a.credentials.email }}
{{ a.base_url }}
|
{{ a.api_style }} |
{{ vaModelName(m) }}图 |
{{ a.enabled ? T.enabled : T.disabled }} |
|
{{ type==='apps' ? '🔧' : '🔀' }}
{{ type==='apps' ? (lang==='zh'?'应用配置':'Apps Config') : (lang==='zh'?'场景路由':'Routes Config') }}
{{ distribInfo[type].uploaded
? (lang==='zh' ? `已上传 · ${distribInfo[type].bytes} 字节` : `Uploaded · ${distribInfo[type].bytes} bytes`)
: (lang==='zh' ? '未上传' : 'Not uploaded') }}
{{ lang==='zh' ? '客户端下载地址' : 'Client Download URL' }}
GET /api/config/apps
GET /api/config/scenes
{{ lang==='zh' ? '需要用户 JWT 认证' : 'Requires user JWT' }}
{{ type==='apps' ? '🔧' : '🔀' }}
{{ type==='apps'
? (lang==='zh' ? '应用配置 (tokenbank.tools.yaml)' : 'Apps Config (tokenbank.tools.yaml)')
: (lang==='zh' ? '场景路由配置 (tokenbank.routes.yaml)' : 'Routes Config (tokenbank.routes.yaml)') }}
{{ distribMsg[type] }}
{{ lang==='zh'
? '管理员在此上传 YAML 配置后,已登录的客户端点击「导入配置 → 🔗 服务器」即可下载并应用。两个文件格式相同(统一 schema),应用配置含 tools/protocols/routing 段,路由配置含 scene_routes 段。'
: 'After uploading YAML here, logged-in clients can pull it via Import Config → 🔗 Server. Both files share the same schema: tools config has tools/protocols/routing sections; routes config has scene_routes section.' }}