From 5656fb92efc2378db7cf2415f7b692d5e3684d5b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 25 Sep 2026 16:14:20 +0000 Subject: [PATCH] docs: archive changelog for v0.6.7 --- CHANGELOG.md | 20 +++++++++++++++++++ .../unreleased/codex-native-responses.md | 7 ------- changelog/unreleased/codex-provider.md | 7 ------- changelog/unreleased/command-code-provider.md | 7 ------- .../unreleased/qoder-model-context-window.md | 7 ------- changelog/unreleased/qoder-model-credits.md | 7 ------- .../unreleased/qoder-quota-sum-buckets.md | 7 ------- 7 files changed, 20 insertions(+), 42 deletions(-) delete mode 100644 changelog/unreleased/codex-native-responses.md delete mode 100644 changelog/unreleased/codex-provider.md delete mode 100644 changelog/unreleased/command-code-provider.md delete mode 100644 changelog/unreleased/qoder-model-context-window.md delete mode 100644 changelog/unreleased/qoder-model-credits.md delete mode 100644 changelog/unreleased/qoder-quota-sum-buckets.md diff --git a/CHANGELOG.md b/CHANGELOG.md index bbccf89..40aa7f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,26 @@ Published user-facing notes for GitHub Releases and the console update page. Write upcoming notes as bilingual files in `changelog/unreleased/`. +## 0.6.7 - 2026-09-25 + +### English + +- Preserve OpenAI Responses items through Codex native forwarding, while applying the ChatGPT Codex request constraints used by CLIProxyAPI. Chat Completions and Messages requests translated to Codex use the same constraints. +- Add `codex` provider: OpenAI Codex accounts backed by a ChatGPT subscription, with browser OAuth login, automatic token refresh, streaming chat, model catalog, and rate-limit window display. +- Add an experimental **Command Code** (`commandcode.ai`) provider that speaks the CLI's own `/alpha/generate` protocol. That endpoint is not plan-gated, so **every plan works — including the $1 Go plan**, whose Pro-gated `/provider/v1/*` generation endpoints return `403 upgrade_required`. The adapter serves the whole model catalog. Auth is a single `user_…` key, pasted through the existing PAT tab; the model list is read from the anonymous `/provider/v1/models`, and usage is shown from `/alpha/billing/credits` (monthly plan window plus the rolling 5-hour and weekly windows). Streaming is rewritten from the upstream newline-delimited JSON into OpenAI SSE. Experimental: `/alpha/generate` is unpublished and version-coupled, so the pinned CLI version fails loudly rather than degrading silently, and the provider is not production-ready. +- Present Qoder's context window like Trae's Max-context switch. Qoder reports a default window and a larger selectable window per model but has no upstream toggle, so the console now shows the same "default → larger + switch" control it uses for Trae instead of a raw number input. Turning it on sends the model's largest window as the request's `context_length`; turning it off clears the override so requests fall back to the model's default. The window values come from Qoder's own catalog (`default_context_window` / `available_context_windows`) rather than a hardcoded 180000, so glm-5.3-flash shows 1M instead of being capped at 180k. Qoder Global and CN. +- Show Qoder model pricing on the account's model list. Qoder reports a per-model `price_factor` (the multiplier its own client renders as `0.50x Credit`) plus `is_free`/`tags`, but the worker dropped them, so the console showed no price for any Qoder account. The worker now forwards them and the adapter renders the multiplier as the console's credits text. The free badge follows the Qoder client's own rule — the `limited_time_free` tag (or a zero factor) is free, a positive factor is priced — so a model that reports `is_free` alongside a real multiplier (Qwen3.8-Max: `is_free` + `0.5`) shows its multiplier instead of the contradictory "免费 / x0.5" pair. Applies to Qoder Global and Qoder CN. +- Qoder accounts now show their real remaining credits: the account card's headline sums the plan quota, the add-on pack, and the organization resource package instead of reading only the plan quota. Daily check-in rewards are credited to the add-on pack upstream, so before this a plan-only account's card never moved after a check-in (it stayed at e.g. 300 while the reward sat unshown). This matches how the Qoder client itself totals the buckets. + +### 中文 + +- Codex 原生转发保留 OpenAI Responses 的 item,同时按 CLIProxyAPI 的方式改写 ChatGPT Codex 不接受的请求字段。Chat Completions 与 Messages 转成 Codex 请求时使用同一套约束。 +- 新增 `codex` provider:基于 ChatGPT 订阅的 OpenAI Codex 账号,支持浏览器 OAuth 登录、自动刷新 token、流式聊天、模型目录和限速窗口展示。 +- 新增实验性 **Command Code**(`commandcode.ai`)渠道,走 CLI 自身的 `/alpha/generate` 协议。该端点不受档位限制,**所有套餐均可用 —— 包括 $1 Go 套餐**(其 Pro 专属的 `/provider/v1/*` 生成端点会返回 `403 upgrade_required`)。适配层覆盖整个模型目录。认证只需一把 `user_…` 密钥,经现有 PAT 页签粘贴;模型列表读取匿名的 `/provider/v1/models`;用量从 `/alpha/billing/credits` 展示(月套餐窗口,以及滚动的 5 小时 / 周窗口)。流式响应由上游的换行分隔 JSON 改写为 OpenAI SSE。实验性:`/alpha/generate` 未公开且与 CLI 版本耦合,故钉版不匹配时明确报错而非静默降级,不承诺生产可用。 +- Qoder 的上下文窗口改为按 Trae 的「更大上下文」开关呈现。Qoder 每个模型都会上报默认窗口和一个可选更大窗口,但上游没有开关字段,因此控制台不再用裸数字输入框,而是复用 Trae 同款的「默认档 → 更大档 + 开关」。开启时把该模型的最大窗口作为请求的 `context_length` 发出;关闭时清除覆盖值,请求回落到模型默认窗口。窗口数值来自 Qoder 自身目录(`default_context_window` / `available_context_windows`),不再是硬编码的 180000,因此 glm-5.3-flash 显示 1M 而不再被压到 180k。国际版与国内版均适用。 +- 账号的模型列表现在会显示 Qoder 模型价格。Qoder 每个模型都带 `price_factor`(其客户端显示为 `0.50x Credit` 的那个倍率)以及 `is_free`/`tags`,但 worker 之前把它们丢掉了,所以控制台对所有 Qoder 账号都不显示价格。现在 worker 透传这些字段,适配层把倍率渲染为控制台的额度文案。免费标记对齐 Qoder 客户端自身的规则——带 `limited_time_free` 标签(或倍率为 0)才算免费,正倍率即视为计费——因此像 Qwen3.8-Max 这种「`is_free` 为真但同时带 0.5 倍率」的模型会显示倍率,而不再出现自相矛盾的「免费 / x0.5」。Qoder 国际版与国内版均适用。 +- Qoder 账号现在显示真实剩余额度:账号卡片的主数值改为把「套餐额度 + 加量包 + 组织资源包」三桶相加,而不是只读套餐额度。每日签到奖励在上游是记入加量包的,因此此前仅靠套餐额度的账号在签到后卡片数字始终不动(例如一直停在 300,奖励金额不显示)。这与 Qoder 客户端自身的合计口径一致。 + ## 0.6.6 - 2026-09-24 ### English diff --git a/changelog/unreleased/codex-native-responses.md b/changelog/unreleased/codex-native-responses.md deleted file mode 100644 index 365b4df..0000000 --- a/changelog/unreleased/codex-native-responses.md +++ /dev/null @@ -1,7 +0,0 @@ -### English - -- Preserve OpenAI Responses items through Codex native forwarding, while applying the ChatGPT Codex request constraints used by CLIProxyAPI. Chat Completions and Messages requests translated to Codex use the same constraints. - -### 中文 - -- Codex 原生转发保留 OpenAI Responses 的 item,同时按 CLIProxyAPI 的方式改写 ChatGPT Codex 不接受的请求字段。Chat Completions 与 Messages 转成 Codex 请求时使用同一套约束。 diff --git a/changelog/unreleased/codex-provider.md b/changelog/unreleased/codex-provider.md deleted file mode 100644 index e5dddc8..0000000 --- a/changelog/unreleased/codex-provider.md +++ /dev/null @@ -1,7 +0,0 @@ -### English - -- Add `codex` provider: OpenAI Codex accounts backed by a ChatGPT subscription, with browser OAuth login, automatic token refresh, streaming chat, model catalog, and rate-limit window display. - -### 中文 - -- 新增 `codex` provider:基于 ChatGPT 订阅的 OpenAI Codex 账号,支持浏览器 OAuth 登录、自动刷新 token、流式聊天、模型目录和限速窗口展示。 diff --git a/changelog/unreleased/command-code-provider.md b/changelog/unreleased/command-code-provider.md deleted file mode 100644 index 546f94c..0000000 --- a/changelog/unreleased/command-code-provider.md +++ /dev/null @@ -1,7 +0,0 @@ -### English - -- Add an experimental **Command Code** (`commandcode.ai`) provider that speaks the CLI's own `/alpha/generate` protocol. That endpoint is not plan-gated, so **every plan works — including the $1 Go plan**, whose Pro-gated `/provider/v1/*` generation endpoints return `403 upgrade_required`. The adapter serves the whole model catalog. Auth is a single `user_…` key, pasted through the existing PAT tab; the model list is read from the anonymous `/provider/v1/models`, and usage is shown from `/alpha/billing/credits` (monthly plan window plus the rolling 5-hour and weekly windows). Streaming is rewritten from the upstream newline-delimited JSON into OpenAI SSE. Experimental: `/alpha/generate` is unpublished and version-coupled, so the pinned CLI version fails loudly rather than degrading silently, and the provider is not production-ready. - -### 中文 - -- 新增实验性 **Command Code**(`commandcode.ai`)渠道,走 CLI 自身的 `/alpha/generate` 协议。该端点不受档位限制,**所有套餐均可用 —— 包括 $1 Go 套餐**(其 Pro 专属的 `/provider/v1/*` 生成端点会返回 `403 upgrade_required`)。适配层覆盖整个模型目录。认证只需一把 `user_…` 密钥,经现有 PAT 页签粘贴;模型列表读取匿名的 `/provider/v1/models`;用量从 `/alpha/billing/credits` 展示(月套餐窗口,以及滚动的 5 小时 / 周窗口)。流式响应由上游的换行分隔 JSON 改写为 OpenAI SSE。实验性:`/alpha/generate` 未公开且与 CLI 版本耦合,故钉版不匹配时明确报错而非静默降级,不承诺生产可用。 diff --git a/changelog/unreleased/qoder-model-context-window.md b/changelog/unreleased/qoder-model-context-window.md deleted file mode 100644 index e1af6eb..0000000 --- a/changelog/unreleased/qoder-model-context-window.md +++ /dev/null @@ -1,7 +0,0 @@ -### English - -- Present Qoder's context window like Trae's Max-context switch. Qoder reports a default window and a larger selectable window per model but has no upstream toggle, so the console now shows the same "default → larger + switch" control it uses for Trae instead of a raw number input. Turning it on sends the model's largest window as the request's `context_length`; turning it off clears the override so requests fall back to the model's default. The window values come from Qoder's own catalog (`default_context_window` / `available_context_windows`) rather than a hardcoded 180000, so glm-5.3-flash shows 1M instead of being capped at 180k. Qoder Global and CN. - -### 中文 - -- Qoder 的上下文窗口改为按 Trae 的「更大上下文」开关呈现。Qoder 每个模型都会上报默认窗口和一个可选更大窗口,但上游没有开关字段,因此控制台不再用裸数字输入框,而是复用 Trae 同款的「默认档 → 更大档 + 开关」。开启时把该模型的最大窗口作为请求的 `context_length` 发出;关闭时清除覆盖值,请求回落到模型默认窗口。窗口数值来自 Qoder 自身目录(`default_context_window` / `available_context_windows`),不再是硬编码的 180000,因此 glm-5.3-flash 显示 1M 而不再被压到 180k。国际版与国内版均适用。 diff --git a/changelog/unreleased/qoder-model-credits.md b/changelog/unreleased/qoder-model-credits.md deleted file mode 100644 index ef38eae..0000000 --- a/changelog/unreleased/qoder-model-credits.md +++ /dev/null @@ -1,7 +0,0 @@ -### English - -- Show Qoder model pricing on the account's model list. Qoder reports a per-model `price_factor` (the multiplier its own client renders as `0.50x Credit`) plus `is_free`/`tags`, but the worker dropped them, so the console showed no price for any Qoder account. The worker now forwards them and the adapter renders the multiplier as the console's credits text. The free badge follows the Qoder client's own rule — the `limited_time_free` tag (or a zero factor) is free, a positive factor is priced — so a model that reports `is_free` alongside a real multiplier (Qwen3.8-Max: `is_free` + `0.5`) shows its multiplier instead of the contradictory "免费 / x0.5" pair. Applies to Qoder Global and Qoder CN. - -### 中文 - -- 账号的模型列表现在会显示 Qoder 模型价格。Qoder 每个模型都带 `price_factor`(其客户端显示为 `0.50x Credit` 的那个倍率)以及 `is_free`/`tags`,但 worker 之前把它们丢掉了,所以控制台对所有 Qoder 账号都不显示价格。现在 worker 透传这些字段,适配层把倍率渲染为控制台的额度文案。免费标记对齐 Qoder 客户端自身的规则——带 `limited_time_free` 标签(或倍率为 0)才算免费,正倍率即视为计费——因此像 Qwen3.8-Max 这种「`is_free` 为真但同时带 0.5 倍率」的模型会显示倍率,而不再出现自相矛盾的「免费 / x0.5」。Qoder 国际版与国内版均适用。 diff --git a/changelog/unreleased/qoder-quota-sum-buckets.md b/changelog/unreleased/qoder-quota-sum-buckets.md deleted file mode 100644 index 11111da..0000000 --- a/changelog/unreleased/qoder-quota-sum-buckets.md +++ /dev/null @@ -1,7 +0,0 @@ -### English - -- Qoder accounts now show their real remaining credits: the account card's headline sums the plan quota, the add-on pack, and the organization resource package instead of reading only the plan quota. Daily check-in rewards are credited to the add-on pack upstream, so before this a plan-only account's card never moved after a check-in (it stayed at e.g. 300 while the reward sat unshown). This matches how the Qoder client itself totals the buckets. - -### 中文 - -- Qoder 账号现在显示真实剩余额度:账号卡片的主数值改为把「套餐额度 + 加量包 + 组织资源包」三桶相加,而不是只读套餐额度。每日签到奖励在上游是记入加量包的,因此此前仅靠套餐额度的账号在签到后卡片数字始终不动(例如一直停在 300,奖励金额不显示)。这与 Qoder 客户端自身的合计口径一致。