系统状态
{{ st.status==='running'?'运行中':'N/A' }}
账户总数
{{ st.total_creds || 0 }}
活跃账户
{{ (st.by_status||{}).active || 0 }}
冷却/离线
{{ (st.by_status||{}).cooling || 0 }}
已暂停
{{ (st.by_status||{}).disabled || 0 }}
已作废
{{ (st.by_status||{}).deprecated || 0 }}
总请求数
{{ (st.request_stats||{}).total_all_time || 0 }}
平均延迟
{{ (st.request_stats||{}).avg_latency_ms || 0 }}ms
成功
{{ (st.request_stats||{}).success_count || 0 }}
失败
{{ (st.request_stats||{}).error_count || 0 }}

账户额度概览

{{ q.provider }}
{{ q.totalAccounts }}个账户 | {{ q.usedReqs }}/{{ q.quotaLabel }}
暂无账户,请到"账户管理"添加 API Key / Token / Cookie 后查看额度

24小时统计

24h 请求
{{ (st.recent_24h||{}).total_requests || 0 }}
24h 成功
{{ (st.recent_24h||{}).success || 0 }}
24h 失败
{{ (st.recent_24h||{}).errors || 0 }}
24h 延迟
{{ (st.recent_24h||{}).avg_latency_ms || 0 }}ms

请求趋势 (24h)

{{ (chartData.hourly[0]||{}).hour||'' }} {{ (chartData.hourly[chartData.hourly.length-1]||{}).hour||'' }}
暂无请求数据。有 API 请求后此处会显示趋势图。

供应商用量 (24h)

{{ ps.provider }}
{{ ps.total }}次 ({{ ps.avg_ms }}ms)
暂无用量数据。有请求后自动统计各供应商使用情况。

巡检状态 (Patrol)

间隔: {{ st.patrol.interval_min || 30 }}分钟 | 上次: {{ fmtTime(st.patrol.last_run) }}
{{ r.provider }} {{ r.cred_name }} 已恢复 仍离线 {{ r.error }} {{ r.latency_ms }}ms
{{ st.patrol&&st.patrol.running?'巡检运行中,暂无结果':'暂无巡检记录' }}

供应商概览

{{ p.name }}
{{ p.type==='official'?'官方':'逆向' }} {{ p.enabled?'启用':'停用' }}
{{ p.model_count }}
模型数
{{ p.credential_count }}
账户
{{ p.active_cred_count }}
活跃
{{ m }} +{{ p.models.length-5 }}
{{ p.name }}
{{ p.type==='official'?'官方':'逆向' }}
{{ p.model_count }}
模型
{{ p.credential_count }}
账户
{{ p.active_cred_count }}
活跃
{{ m }}
{{ p._testResult.status==='ok'?'连接成功 ('+p._testResult.latency_ms+'ms, '+p._testResult.model_count+'个模型)':p._testResult.error||p._testResult.message||'无可用账户' }}
ID供应商分组名称Key/Token状态离线原因额度请求数Tokens(24h)最后使用操作
{{ c.id }} {{ c.provider }} {{ c.group==='commercial'?'商用':'自用' }} {{ c.name || '-' }} {{ c.key_preview }} {{ statusLabel(c.status) }} {{ c.offline_reason||'-' }} {{ c.quota===-1?'无限':c.quota }} {{ c.request_count }} {{ credUsageMap[c.id]?fmtTokens(credUsageMap[c.id].total_tokens):'-' }} {{ fmtTime(c.last_used_at) }}
暂无账户。点击"+ 添加账户"或"批量添加"来导入 API Key / OAuth Token / Cookie 等认证凭证。
支持 OpenAI API Key、Claude API Key、Gemini API Key、Grok SSO Cookie、Kiro/Copilot/Windsurf OAuth Token
模型 ID来源类型可用账户
{{ m.id }} 别名 {{ m._source }} {{ m._isAlias?'别名映射':m._provType }} {{ m._credCount }}
ID别名目标模型目标供应商状态操作
{{ a.id }} {{ a.alias }} {{ a.target_model }} {{ a.target_provider || '自动' }} {{ a.enabled?'启用':'停用' }}
暂无别名。创建别名可将自定义模型名映射到真实模型。

请求

{{ testLatency }}ms

响应

{{ testResult || '响应内容将在此处显示...' }}
共 {{ logTotal }} 条
时间供应商模型状态码延迟类型客户端IP错误信息
{{ fmtTime(l.timestamp) }} {{ l.provider }} {{ l.model }} {{ l.status_code }} {{ l.latency_ms }}ms {{ l.stream?'流式':'普通' }} {{ l.client_ip }} {{ l.error||'-' }}
暂无日志
🔐
暂无 API Key
当前 /v1/ 接口开放访问。创建 API Key 后将自动启用鉴权。
ID名称分组Key状态请求数速率限制过期时间最后使用创建时间操作
{{ k.id }} {{ k.name }} {{ k.group==='commercial'?'商用':'自用' }} {{ k.key }} {{ k.status==='active'?'启用':'禁用' }} {{ k.request_count }} {{ k.rate_limit===0?'无限制':k.rate_limit+'/分钟' }} {{ k.expires_at&&k.expires_at!=='0001-01-01T00:00:00Z'?fmtTime(k.expires_at):'永不' }} {{ fmtTime(k.last_used_at) }} {{ fmtTime(k.created_at) }}
使用方式:在调用 /v1/ 接口时,通过以下任一方式传入 API Key:
• Header: Authorization: Bearer rp-xxx...
• Header: X-API-Key: rp-xxx...
• Query: ?key=rp-xxx...

Base URL

{{ apiBaseURL }}

认证方式

所有 API 请求需要携带 API Key(如已配置):

Authorization: Bearer rp-your-api-key

也支持 X-API-Key Header 或 ?key= Query 参数。

当前未配置 API Key,接口开放访问。

GET /v1/models

获取所有可用模型列表。

curl {{ apiBaseURL }}/v1/models \ -H "Authorization: Bearer YOUR_API_KEY"
响应示例
{ "object": "list", "data": [ {"id": "gpt-4o", "object": "model", "owned_by": "openai"}, {"id": "claude-sonnet-4-20250514", "object": "model", "owned_by": "claude"}, {"id": "my-alias", "object": "model", "owned_by": "alias:openai"} ] }

POST /v1/chat/completions

发送聊天补全请求。完全兼容 OpenAI Chat Completions API 格式。

curl {{ apiBaseURL }}/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{ "model": "gpt-4o", "messages": [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Hello!"} ], "max_tokens": 1000, "stream": false }'
请求参数
参数类型必填说明
modelstring模型名称(支持别名映射)
messagesarray消息列表,每条包含 role 和 content
max_tokensinteger最大生成 token 数
streamboolean是否使用 SSE 流式输出
temperaturenumber采样温度 (0-2)
响应示例
{ "id": "chatcmpl-xxx", "object": "chat.completion", "choices": [{ "index": 0, "message": {"role": "assistant", "content": "Hello! How can I help you?"}, "finish_reason": "stop" }], "usage": {"prompt_tokens": 20, "completion_tokens": 10, "total_tokens": 30} }

支持的供应商和模型

{{ p.name }} {{ (p.models||[]).slice(0,5).join(', ') }}{{ (p.models||[]).length>5?' ...(+'+(p.models.length-5)+')':'' }}

集成示例

Python (openai SDK)
from openai import OpenAI client = OpenAI( base_url="{{ apiBaseURL }}/v1", api_key="rp-your-api-key" ) resp = client.chat.completions.create( model="gpt-4o", messages=[{"role": "user", "content": "Hello!"}] ) print(resp.choices[0].message.content)
Node.js (openai SDK)
import OpenAI from 'openai'; const client = new OpenAI({ baseURL: '{{ apiBaseURL }}/v1', apiKey: 'rp-your-api-key' }); const resp = await client.chat.completions.create({ model: 'gpt-4o', messages: [{ role: 'user', content: 'Hello!' }] }); console.log(resp.choices[0].message.content);

错误码

HTTP 状态码类型说明
401authentication_errorAPI Key 缺失或无效
400invalid_request请求参数错误(如缺少 model)
502proxy_error上游供应商请求失败

请求路由 (Conductor)

最大重试次数
每次请求的最大重试次数
最大尝试账户数
尝试的最大账户数 (0 = 全部)
重试时间预算 (秒)
重试的总时间预算
冷却时间 (秒)
账户失败后的冷却时间
最大失败次数
触发冷却前允许的失败次数
负载均衡策略
账户选择策略
巡检间隔 (分钟)
自动巡检离线账户的间隔时间,检查额度/权限是否恢复
{{ toast.msg }}