Skip to content

gproxy v2.2.3

Choose a tag to compare

@LeenHawk LeenHawk released this 03 Aug 04:20

v2.2.3

Expands end-to-end observability and the Usage Explorer, restores v1-style routed Console workspaces, adds recurring spend quotas, and improves Google CLI channel compatibility and legacy file-backend adoption.

English

Added

  • Expanded observability. Structured events now cover the request pipeline, failover, admin API, cache backends, and edge runtime. Auxiliary upstream HTTP calls — OAuth refresh and login, usage and model fetches, settlement CountTokens fallback, Realtime handshakes, connectivity checks, self-update, and tokenizer downloads — are persisted as one row per call under purpose-grouped request IDs, using the existing upstream-log, body-capture, and redaction settings. Redaction now also covers form-encoded OAuth fields and JSON camelCase secrets. Realtime sessions write a minimal zero-token usage row when they close, providing session visibility without claiming frame-level accounting.
  • Recurring spend quotas. Organizations, teams, users, and keys can set optional daily, weekly, and monthly spend limits alongside the existing total limit; the Console and portal expose each active window's current spend.

Changed

  • Usage Explorer and billing. Endpoint badges, cache-hit percentage, and locally persisted column visibility make usage easier to scan. compact_content now participates in pending-cost estimation, usage settlement, billing, and quota reconciliation like other provider-shaped operations. Logs-list queries exclude captured headers and bodies at the database projection by default to avoid loading very large payloads, while per-request details remain available. The drawer displays at most 512 KiB per body, but Copy still uses the complete captured value.
  • Console workspaces. Providers, users, organizations, routes, and rule sets now use v1-style routed master-detail workspaces with deep-linkable details. Entity states autosave inline; route-member tier and weight values are editable in place; provider summaries show exact credential counts and provider-scoped health; and pricing exposes exact-versus-contains matching plus hideable price columns. Both the global navigation sidebar and each workspace master pane are resizable and remember their widths.
  • Google CLI channels. Refreshes Gemini CLI and Antigravity Code Assist integration details, including Antigravity's current host and model-quota source, server-advertised tier handling, and subscription metadata. Antigravity OAuth can also accept an optional user-defined GCP project when automatic discovery is unavailable.
  • Legacy file-backend adoption. On boot, an otherwise unconfigured database can make a one-shot import of legacy 2.0.x JSON-table control-plane configuration from the data directory. Successfully consumed files are retained as .json.filebak, and the hidden --persistence file alias directs old launch commands to the default SQLite target. This temporary compatibility bridge is documented for removal in v2.3; usage history, logs, metrics, statuses, and caches are not imported.

Fixed

  • Claude Web cleanup visibility. Transport failures while deleting temporary conversations now emit a redacted warning instead of being silently discarded.
  • Routing-rule state. Inline routing-rule updates preserve the stored enabled value instead of forcing it to true.
  • Organization editing. Restores the organization profile editor in the routed Console workspace.

简体中文

新增

  • 扩展可观测性。 结构化事件现覆盖 request pipeline、failover、Admin API、cache backend 与 edge runtime。OAuth refresh / login、usage / model 获取、结算阶段的 CountTokens fallback、Realtime 握手、连通性检查、自更新与 tokenizer 下载等辅助上游 HTTP 调用,会按用途分组 request ID,并以每次调用一行的方式持久化;它们沿用现有的 upstream log、body capture 与 redaction 设置。脱敏现也覆盖 form-encoded OAuth 字段和 JSON camelCase secret。Realtime 会话关闭时会写入一条最小的零 Token usage 记录,用于展示会话,但不声称具备 frame 级用量统计。
  • 周期消费配额。 Organization、team、user 与 key 除现有总额限制外,还可设置可选的每日、每周和每月消费限额;Console 与 portal 会展示每个生效窗口的当前消费。

调整

  • Usage Explorer 与计费。 新增 endpoint badge、Cache Hit 百分比和本地持久化的列可见性设置,便于浏览用量。compact_content 现与其他 provider-shaped operation 一样参与预估成本、usage 结算、计费和配额对账。日志列表查询默认在数据库投影阶段排除捕获的 header 与 body,避免加载超大 payload;按 request 查看详情仍可获得这些内容。抽屉中每个 body 最多显示 512 KiB,但复制操作仍使用完整捕获值。
  • Console Workspace。 Provider、user、organization、route 与 rule set 现使用 v1 风格、可路由的 master-detail workspace,并支持详情深链接。Entity 状态可行内自动保存;route member 的 tier 与 weight 可直接编辑;provider 摘要展示准确的 credential 数量及 provider 范围健康状态;价格表展示 exact / contains 匹配语义,并可隐藏各价格列。全局导航侧栏与各 workspace 的 master pane 均可调整宽度并记住设置。
  • Google CLI Channel。 更新 Gemini CLI 与 Antigravity 的 Code Assist 集成细节,包括 Antigravity 当前使用的 host 与模型配额来源、服务端声明的 tier 处理及订阅元数据。自动发现不可用时,Antigravity OAuth 也可接受可选的用户自定义 GCP project。
  • 旧 File Backend 接管。 启动时,尚未配置的数据库可一次性导入 data directory 中旧版 2.0.x JSON table 的 control-plane 配置;成功消费的文件会保留为 .json.filebak,隐藏的 --persistence file alias 会将旧启动命令导向默认 SQLite。该临时兼容桥接已注明将在 v2.3 移除;usage 历史、日志、指标、状态和 cache 不会导入。

修复

  • Claude Web 清理可见性。 删除临时 conversation 时的 transport failure 现会输出经过脱敏的 warning,不再被静默丢弃。
  • Routing Rule 状态。 行内更新 routing rule 时会保留数据库中的 enabled 值,不再强制写为 true
  • Organization 编辑。 在路由化 Console workspace 中恢复 organization profile 编辑器。