Repository navigation
gproxy v4.1.10
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
contentand 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:
stickydeterministically maps a stable session and provider to the eligible credential set, whileround_robin_affinityrotates 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_affinityswitch. Session affinity is now controlled bycredential_strategy; existingsession_affinityvalues no longer override it. Chooseround_robin_affinityfor round-robin assignment with session reuse, orstickyfor 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/exchangeendpoint 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.