feat(compute): 新增 ChatGPT 订阅 (Codex) Provider 预设 (#33)

自动检测客户端本地 Codex CLI 的 ChatGPT 订阅授权(~/.codex/auth.json),
以用户订阅额度调用 gpt-5.x/codex 模型,无需 API Key。

- compute/providers/openai-codex.json:accessMode=coding-plan +
  credentialSource=codex-cli + apiFormat=openai-codex-responses,5 个模型,
  enabled=false(由客户端检测器按本地凭证自动启用)
- schemas/provider.schema.json:frozen baseline 新增 credentialSource 字段
- manifest.json:presetDataVersion 59 → 60

⚠️ 发布顺序:本数据引入老客户端不识别的 credentialSource 字段。必须先发布带
compute.json 韧性(容忍未知字段)的客户端并等自动更新铺开,再合并本 PR——
否则更早的客户端合并时会因严格 schema 校验失败而停收所有预设更新。
This commit is contained in:
Johnson-LYS
2026-06-29 16:17:40 +08:00
committed by GitHub
parent 65a8bc4af5
commit d8e458c3ca
4 changed files with 134 additions and 2 deletions

View File

@@ -2,6 +2,7 @@
"description": "Provider 加载顺序索引",
"order": [
"openai",
"openai-codex",
"anthropic",
"deepseek",
"dashscope",

View File

@@ -0,0 +1,126 @@
{
"id": "provider-openai-codex-plan-001",
"provider": "openai-codex",
"brandGroup": "openai",
"label": "ChatGPT 订阅 (Codex)",
"baseUrl": "https://chatgpt.com/backend-api",
"apiFormat": "openai-codex-responses",
"apiKeyRef": "openai-codex-access-token",
"apiKeyVerified": false,
"enabled": false,
"status": "unconfigured",
"priceCurrency": "USD",
"accessMode": "coding-plan",
"credentialSource": "codex-cli",
"codingPlan": {
"quotas": {},
"usageTracking": {
"method": "none",
"consoleUrl": "https://chatgpt.com/codex/settings/usage"
}
},
"services": [
"chat",
"reasoning"
],
"models": [
{
"modelName": "gpt-5.5",
"displayName": "GPT-5.5 (订阅)",
"serviceType": [
"chat"
],
"description": "ChatGPT 订阅额度计费旗舰模型272K 上下文",
"contextWindow": 272000,
"maxOutputTokens": 128000,
"capabilities": [
"chat",
"reasoning",
"code",
"vision",
"long_context",
"tool_use",
"agent"
],
"source": "preset"
},
{
"modelName": "gpt-5.4",
"displayName": "GPT-5.4 (订阅)",
"serviceType": [
"chat"
],
"description": "ChatGPT 订阅额度计费高阶通用模型272K 上下文",
"contextWindow": 272000,
"maxOutputTokens": 128000,
"capabilities": [
"chat",
"reasoning",
"code",
"vision",
"long_context",
"tool_use",
"agent"
],
"source": "preset"
},
{
"modelName": "gpt-5.3-codex",
"displayName": "GPT-5.3 Codex (订阅)",
"serviceType": [
"chat"
],
"description": "ChatGPT 订阅额度计费编程专用旗舰272K 上下文",
"contextWindow": 272000,
"maxOutputTokens": 128000,
"capabilities": [
"chat",
"reasoning",
"code",
"vision",
"long_context",
"tool_use",
"agent"
],
"source": "preset"
},
{
"modelName": "gpt-5.2-codex",
"displayName": "GPT-5.2 Codex (订阅)",
"serviceType": [
"chat"
],
"description": "ChatGPT 订阅额度计费编程专用模型272K 上下文",
"contextWindow": 272000,
"maxOutputTokens": 128000,
"capabilities": [
"chat",
"reasoning",
"code",
"vision",
"long_context",
"tool_use",
"agent"
],
"source": "preset"
},
{
"modelName": "gpt-5.1-codex-mini",
"displayName": "GPT-5.1 Codex Mini (订阅)",
"serviceType": [
"chat"
],
"description": "ChatGPT 订阅额度计费轻量编程模型272K 上下文",
"contextWindow": 272000,
"maxOutputTokens": 128000,
"capabilities": [
"chat",
"code",
"vision",
"long_context",
"tool_use"
],
"source": "preset"
}
]
}