Skip to content

gproxy v4.1.10

Choose a tag to compare

@github-actions github-actions released this 25 Oct 05:07

v4.1.10

OrcaTerm support, complete coding-agent tool continuations, and unified credential initialization.

新增 OrcaTerm 支持,打通编程客户端工具续轮,并统一凭证初始化。

English

Added

  • Add the OrcaTerm channel with browser OAuth, China/international endpoints, dynamic model discovery and account quota queries.
  • Support OrcaTerm text/image conversations and model-specific thinking settings. Resize/compress oversized static images and reuse fresh uploads within the same credential.
  • Bind supported client terminal, file-editing and web-fetch tools to OrcaTerm's native review/reportToolResult flow. Standalone web requests return actual server search/fetch results.

Fixed

  • Persist upstream session-token rotation and refreshed public metadata so later requests use the current credential.
  • Accept OrcaTerm streams that end without a final line terminator, wait for committed Agent answers, and expose JSON rate-limit responses as HTTP 429.
  • Preserve namespaced custom tools, including patch tools, across function-only protocol conversion. Retain Gemini function results carried in model-role messages and valid file ranges across consecutive edits.
  • Move large stream conversion state off the caller's stack to prevent debug-server stack overflow.
  • Localize the OrcaTerm account-address and OAuth-provider fields, offer OAuth providers as a dropdown, and show the channel-declared account-address default.
  • Align Claude model metadata with upstream references, including between_tools, compaction capabilities, lifecycle dates and nullable capability/token-limit fields. Model conversions preserve unknown values and report metadata that the target cannot represent.
  • Accept system messages that omit content and preserve their control updates when converting generation and token-count requests.
  • Accept legacy native Claude Messages and token-count payloads, including streamed request bodies, and adapt removed sampling fields, assistant documents and user-text citations before upstream dispatch. Preserve provider extensions and tool inputs; fallback-credit replays retain their bound payload. Removed sampling controls are ignored, not emulated.
  • Upgrade Claude protocol and channel defaults to API 2026-10-21, including Vertex and Bedrock request bodies. Remove sampling parameters from the declared Claude schema and omit them during cross-protocol conversion; move direct assistant documents into user messages and remove citations from user text.
  • Restore distinct credential selection behavior: sticky deterministically maps a stable session and provider to the eligible credential set, while round_robin_affinity rotates assignments for new sessions and reuses each session's successful eligible credential. SDK preselection and Core selection now use the same sticky mapping. Both strategies fall back to round-robin without a stable session.
  • Prevent model variant editors and preset pickers from overflowing on narrow screens; allow long suggested model names to wrap.

Changed

  • Bedrock workloads using legacy ARN-versioned Claude models must move to a model that supports API 2026-10-21; those legacy models can return 400 with the new default. There is no automatic version fallback.
  • Remove the separate provider session_affinity switch. Session affinity is now controlled by credential_strategy; existing session_affinity values no longer override it. Choose round_robin_affinity for round-robin assignment with session reuse, or sticky for deterministic session mapping.
  • Unify credential initialization with the normal refresh flow. Existing-cookie imports now use ordinary credential creation/update; remove the separate /admin/api/credential-login/cookie/exchange endpoint and its SDK method. Clients using that endpoint must update their integration.
  • Mark OrcaTerm token counts as local character estimates and partial usage; account quota remains an AI-question count.
  • Refresh Rust, Console and documentation dependencies. Pin the affected Cloudflare deployment dependency to patched Undici 7.30.1.
  • Update Android version code to 4001010.

简体中文

新增

  • 新增 OrcaTerm 渠道,支持浏览器 OAuth、中国站/国际站端点、动态模型发现和账号额度查询。
  • 支持 OrcaTerm 图文对话及模型专属思考参数。过大的静态图片自动缩放压缩,同一凭证复用仍有效的上传结果。
  • 将支持的客户端终端、文件编辑和网页抓取工具接入 OrcaTerm 原生 review/reportToolResult 流程。独立网络请求返回服务端实际搜索/抓取结果。

修复

  • 持久化上游轮换的会话 token 和刷新的公开元数据,后续请求使用最新凭证。
  • 接受 OrcaTerm 在最后一行没有换行符时结束的流,等待 Agent 确认最终回答,并将 JSON 限流响应转换为 HTTP 429。
  • 在仅支持函数工具的协议转换中保留带命名空间的自定义工具,包括补丁工具;保留 Gemini 放在 model 角色消息中的工具结果,以及连续编辑时仍有效的文件行范围。
  • 将大型流转换状态移至堆上,避免调试服务栈溢出。
  • 补齐 OrcaTerm 账号地址和 OAuth 登录方式的翻译,登录方式改为下拉选择,并显示渠道声明的账号地址默认值。
  • 根据上游参考文档补齐 Claude 模型元数据,包括 between_tools、compaction 能力、生命周期日期以及可空的能力和 token 上限。模型转换保留未知状态,并报告目标协议无法表达的元数据。
  • 支持省略 content 的 system 消息,在生成和 token 计数转换中保留其控制字段更新。
  • 兼容旧客户端的原生 Claude Messages 和 token 计数请求(包括流式请求体),在上游转发前适配已移除的采样字段、assistant 文档和 user 文本引用。保留供应商扩展字段和工具输入;携带 fallback credit 的重放请求保持绑定的原始载荷。已移除的采样控制会被忽略。
  • Claude 协议和渠道默认版本全面升级至 API 2026-10-21,包括 Vertex、Bedrock 的请求体版本。Claude 声明类型移除采样参数,跨协议转换不再发送这些参数;将 assistant 消息直属文档移入 user 消息,移除 user 文本上的引用。
  • 恢复不同凭证选择策略各自的行为:sticky 根据稳定会话和供应商,将请求确定性映射到可用凭证集合;round_robin_affinity 为新会话轮询分配凭证,后续复用该会话成功使用且仍可用的凭证。SDK 预筛选与 Core 选择使用相同的 sticky 映射。两种策略在没有稳定会话时都回退到普通轮询。
  • 修复窄屏下模型变体编辑器与预设选择器溢出,较长的建议模型名称可以自动换行。

调整

  • 使用 Bedrock 旧 ARN 版本 Claude 模型的工作负载需切换到支持 API 2026-10-21 的模型;旧模型在新默认版本下可能返回 400,不会自动回退 API 版本。
  • 移除供应商独立的 session_affinity 开关,会话亲和性统一由 credential_strategy 控制;已有 session_affinity 配置值不再覆盖策略行为。需要轮询分配并复用会话凭证时,选择 round_robin_affinity;需要确定性会话映射时,选择 sticky。
  • 凭证初始化统一沿用刷新流程。现有 Cookie 导入改走普通凭证创建/更新,移除独立的 /admin/api/credential-login/cookie/exchange 接口及对应 SDK 方法;调用旧接口的客户端需调整接入方式。
  • OrcaTerm token 数量标记为本地字符估算和非完整用量,账号额度仍为 AI 问答次数。
  • 刷新 Rust、Console 和文档依赖,并将 Cloudflare 部署中受影响的 Undici 依赖固定到已修补的 7.30.1。
  • Android 版本代码更新为 4001010。

Built once by GitHub Actions. CLI (gproxy-*) and Application (gproxy-tauri-*) packages are separate.