Skip to content

gproxy v2.8.3

Choose a tag to compare

@LeenHawk LeenHawk released this 17 Aug 02:13

v2.8.3

Surfaces Codex model limits from the live catalogue, folds max_input_tokens into context_window, routes Kimi Code natively, and replaces the Console's rolling time presets with an explicit start/end range.

English

Added

  • Codex model metadata. The Codex model catalogue previously flattened every upstream entry to {id, created, object, owned_by}, so the channel exposed no context window at all. It now passes display_name, context_window, max_context_window, max_output_tokens and thinking_supported through. context_window resolves max_context_window first: upstream documents it as the ceiling a config override may raise the window to, and a proxy imposes no client-side default. GPT-5.6 models report a 272k default under an 872k ceiling — a value that exists only on the live endpoint, not in the bundled catalogue.

  • Automatic update check setting. A new enable_auto_update_check instance setting, with a Console toggle on the update channel card, controls whether the instance polls for new releases. The update banner honours it.

Changed

  • max_input_tokens folded into context_window. OpenAI has no separate input limit — the context window is the accepted input size — so carrying both invited them to disagree. Peers that name the two separately (Claude's max_input_tokens, Gemini's inputTokenLimit) now map onto context_window at the boundary and keep their own field on their own wire. Existing rows are backfilled before the column is dropped, so Claude and Gemini models that held their only limit there keep it. The Console's max-input field is removed accordingly.

  • Model-list conversions keep display names. Conversions toward Claude and Gemini previously fell back to the model id as the display name because the OpenAI model object had nowhere to carry one. They now use the real name when the source provides it, and carry thinking support across openaiclaude and openaigemini.

  • Kimi Code routes natively. The managed Kimi API serves OpenAI Chat Completions, OpenAI Responses and Anthropic Messages directly, so those surfaces now pass through instead of being transformed down to Chat Completions, and Claude-shaped requests use Anthropic auth. Token counting routes to the Claude counter rather than the local estimator. The Kimi API channel's advertised capabilities are corrected to include model retrieval, Responses, embeddings and image generation.

  • Cline credentials are API keys. The request credential is an API key; device login is just one way to obtain one, and may retain refresh fields alongside it (as OpenCode Zen/Go already do). Existing Cline credentials stored as oauth_tokens are reclassified by migration.

Fixed

  • Claude stream block indices no longer collide. Output content-block indices are now allocated independently of the upstream indices they came from, and tracked per source block. Streams that reuse or interleave source indices previously emitted overlapping content_block_start/delta indices, corrupting the assembled message.

  • Console time range is explicit. The rolling 1h/24h/7d and 7d/30d preset buttons across the usage explorer, audit filters, dashboard chart and portal usage page are replaced by a shared range picker with start/end inputs and calendar-aligned quick fills. The old buttons reverse-derived the active preset by comparing at_from against "now" with a 60s tolerance, so any precise range silently displayed as "All". Charts also pick rollup granularity from the span (≤3d hourly, else daily), so short custom ranges no longer collapse to a single point.

  • DeepSeek adaptive thinking. The model list now reports thinking_adaptive_supported as true.

Removed

  • DeepSeek beta Chat Completions switch. The enable_beta provider setting and its Console toggle are gone, and DeepSeek Chat Completions always uses the stable /v1/chat/completions path. Providers that still need the beta surface can point endpoints.openai_chat_completions at https://api.deepseek.com/beta/chat/completions in the provider's endpoint editor — an exact endpoint URL has always taken precedence over the switch, so the resulting upstream call is identical. A leftover enable_beta key is dropped from settings_json the next time the provider is saved.

简体中文

新增

  • Codex 模型元数据。 Codex 模型目录此前会把上游每个条目压平为 {id, created, object, owned_by},导致该渠道完全不暴露上下文窗口。现在会透传 display_namecontext_windowmax_context_windowmax_output_tokensthinking_supportedcontext_window 优先取 max_context_window:上游将其定义为配置覆盖可将窗口提升到的上限,而代理并不施加客户端默认预算。GPT-5.6 系列报告 272k 默认值与 872k 上限 —— 该数值仅存在于线上端点,内置目录中没有。

  • 自动更新检查开关。 新增实例设置 enable_auto_update_check,并在 Console 的更新通道卡片上提供开关,控制实例是否轮询新版本;更新横幅会遵循该设置。

变更

  • max_input_tokens 归并进 context_window OpenAI 没有独立的输入上限 —— 上下文窗口本身就是可接受的输入大小 —— 同时保留两者只会让它们互相矛盾。将二者分开命名的对端(Claude 的 max_input_tokens、Gemini 的 inputTokenLimit)现在在边界处映射到 context_window,各自 wire 上仍保留自己的字段。删除该列前会先回填已有数据,因此仅在该列保存过限额的 Claude 与 Gemini 模型不会丢失限额。Console 对应的「最大输入 Token」字段一并移除。

  • 模型列表转换保留显示名。 面向 Claude 与 Gemini 的转换此前因 OpenAI 模型对象无处承载显示名而回退使用模型 id。现在源端提供真实名称时即采用之,并在 openaiclaudeopenaigemini 之间传递 thinking 支持信息。

  • Kimi Code 原生路由。 托管的 Kimi API 直接提供 OpenAI Chat Completions、OpenAI Responses 与 Anthropic Messages,因此这些接口改为直通,不再降级转换为 Chat Completions;Claude 形态的请求使用 Anthropic 鉴权。Token 计数改走 Claude 计数接口而非本地估算。Kimi API 渠道对外声明的能力也修正为包含模型详情、Responses、embeddings 与图像生成。

  • Cline 凭据归类为 API key。 请求所用凭据本就是 API key,设备登录只是获取它的一种方式,并可能同时保留 refresh 字段(与 OpenCode Zen/Go 一致)。已存为 oauth_tokens 的 Cline 凭据由迁移重新归类。

修复

  • Claude 流式内容块索引不再冲突。 输出的 content block 索引现在独立于上游来源索引分配,并按来源块分别跟踪。此前当上游流复用或交错使用来源索引时,会产生重叠的 content_block_start / delta 索引,导致拼装出的消息损坏。

  • Console 时间范围改为显式起止。 用量浏览、审计筛选、仪表盘图表与门户用量页中的 1h/24h/7d 与 7d/30d 滚动预设按钮,统一替换为带起止输入与自然日历快捷填充的范围选择器。旧按钮通过把 at_from 与「现在」做 60 秒容差比较来反推当前预设,任何精确范围都会被静默显示为「全部」。图表还会依据跨度选择汇总粒度(≤3 天按小时,否则按天),短自定义范围不再塌缩成单个点。

  • DeepSeek 自适应思考。 模型列表现在将 thinking_adaptive_supported 报告为 true。

移除

  • DeepSeek Beta Chat Completions 开关。 移除 enable_beta provider 设置及其 Console 开关,DeepSeek Chat Completions 固定走正式的 /v1/chat/completions。仍需要 Beta 接口的 provider,可在该 provider 的 endpoint 编辑中把 endpoints.openai_chat_completions 指向 https://api.deepseek.com/beta/chat/completions —— 精确 endpoint URL 一直优先于该开关,发往上游的请求完全一致。残留的 enable_beta 键会在下次保存 provider 时清除。