兼容适配契约复核日期: 2026-07-10
安全边界
PayAPIKey 托管接口不接收中转站管理员 Token、渠道 Key、Cookie 或会话。原生 API 读取必须在你控制的本地 connector/sidecar 中完成;托管端只接收去敏后的计费元数据。
支持范围
模式
兼容适配
字段族
one-api-compatible
授权方式
访问令牌
能力
用量日志导入 · 渠道元数据导入
凭据边界
令牌只能由本地读取器使用。不同 fork 行为不同,定时采集前必须固定并验证部署 revision。
读取流程
- 1在中转站所在网络中运行本地 connector/sidecar,并使用最小权限账号调用原生接口。
- 2在本地剔除敏感字段,只将 logs 响应与 connector ID 提交到 /api/v1/normalize。
- 3合并上游账单和支付结算导出,再调用 /api/v1/reconcile。
原生资源
| 用途 | 方法与路径 | 权限 | 说明 |
|---|---|---|---|
| 实例状态 | GET /api/status | 公开实例元数据 | 可用时读取当前部署的额度换算值。 |
| 用量日志 | GET /api/log/?type=2&p=0 | 管理员 | 原版从 p=0 开始、固定每页 10 条且无 total;遇短页停止,并设置最大页数。 |
| 渠道列表 | GET /api/channel/?p=0 | 管理员 | 只保留非敏感元数据,渠道 Key 必须在本地丢弃。 |
本地请求头(示意)
Authorization: Bearer $ONE_API_ACCESS_TOKEN字段映射
映射在 connector/sidecar 或 /api/v1/normalize 中完成。历史记录没有 request_id 时会生成合成 ID,但这不能保证请求级上游匹配。
| 源字段 | 规范字段 | 说明 |
|---|---|---|
request_id / requestId | downstreamUsage[].requestId | 尽量使用管理员日志接口;部分 self 日志视图会重写展示用 ID。 |
created_at | downstreamUsage[].occurredAt | Unix 秒时间戳会转换为 ISO 8601 UTC 时间。 |
user_id / username | downstreamUsage[].userId | — |
token_id / token_name | downstreamUsage[].tokenId | — |
model_name | downstreamUsage[].model | — |
channel / channel_id | downstreamUsage[].channelId | — |
quota | downstreamUsage[].chargedAmount | 这里只是下游计费单位,不是供应商成本;必须除以当前部署的 /api/status.data.quota_per_unit。 |
prompt_tokens | downstreamUsage[].tokens.input | — |
completion_tokens | downstreamUsage[].tokens.output | — |
other.cache_tokens / cached_tokens | downstreamUsage[].tokens.cacheRead | — |
other.cache_write_tokens / cache_creation_tokens | downstreamUsage[].tokens.cacheWrite | — |
other.reasoning_tokens | downstreamUsage[].tokens.reasoning | — |
已知限制
- 新日志写入期间使用 offset 分页可能重漏,需固定水位、重叠窗口并去重。
- 没有可靠的跨版本价格、结构化支付订单或统一退款接口。
- 各 fork 的缓存、媒体和 Request ID 口径不同。