Skip to content

Releases: LuckyKuang/sub2api-plus

Sub2API Plus 0.2.17+custom.001

Choose a tag to compare

@github-actions github-actions released this 19 Oct 04:29
8df0363

Sub2API Plus AI API Gateway Platform - 将 AI 订阅配额分发和管理

Highlights

  • Add Gemini explicit context caching for AI Studio, Vertex AI and self-hosted gateway upstreams: POST/GET/PATCH/DELETE /v1beta/cachedContents bind every cache to the owning account so a cache reference only routes to the account that created it. Storage is billed from configured or built-in per-token-per-hour prices, mutations are serialized with a lease, and failed mutations roll back.
  • Support Vertex AI accounts authenticated with an API Key (including AQ. AI Studio keys), let service accounts sync their upstream model catalog, and expose Gemini model list/detail for Agent Platform (Vertex) accounts.
  • Ship Gemini 4 Argon model catalogs and billing, forward thinking levels on the Gemini compatibility endpoint and stream the thinking summary back, and correct the 3.6 Flash fallback price.
  • Extend Antigravity support: Gemini 4 Argon, preserved tool-result images, native Gemini functionCall/thoughtSignature, composite /v1beta routing, isolated image-model rate limits, and Claude 5.5 tier IDs billed at base rates.
  • Adapt Claude Haiku 5.5 across the gateway and wire it into the Responses bridge.
  • Retire GPT-5.5 for ChatGPT upstreams, evaluated after public alias projection so aliased catalog entries cannot bypass it, and emulate web_search on /v1/messages for OpenAI API Key accounts while excluding OAuth accounts.
  • Always emit created_at on gateway-produced Responses objects, fixing clients such as grok-build that reject a Response without it.
  • Make the minimum output-token floor configurable through gateway.min_output_tokens.

Changed

  • Isolate Codex imports by workspace so accounts that share a user identifier across workspaces are no longer merged, and surface the backend reason when upstream model sync fails.
  • Honor Anthropic protocol base URLs for accounts that do not use the official endpoint.
  • Reject composite routes whose OAuth accounts make the target platform ambiguous instead of letting an unclassified request fall into the default Anthropic pipeline.
  • Evaluate explicit model-level 401 rules at the gateway failover entry and hand the actual upstream model to error handling on count-token, Bedrock and retry-exhaustion paths.
  • Restore the inline account filters on the admin accounts page: type, privacy and group stay visible instead of collapsing behind a "More filters" panel.
  • Payments: query and confirm EasyPay notifications before crediting, query Alipay refund status, treat refund query errors as pending, finalize failed pending refunds atomically, keep refund deductions while a refund is pending, validate order types, and load the Stripe client secret from the local order snapshot.
  • Fix the Zhipu GLM coding-plan 5-hour and weekly window ordering and recognize the international coding quota endpoints.
  • Classify gateway-local errors on Gemini native routes by error type in ops diagnostics.
  • Preserve Plus outbound identity on Gemini cache writes and native model discovery, including Vertex token acquisition/pagination and cache cleanup after client cancellation.

Compatibility and migration

Upgrade from v0.2.15+custom.003 applies the forward-only migrations 287_gemini_cached_contents.sql, 288_gemini_cached_contents_channel_usage.sql and 289_gemini_cached_contents_mutation_lease.sql. Official numbers these 243–245; Plus already uses those prefixes, so the same SQL lands at 287–289 and existing migration files and checksums stay immutable. The new tables are additive with no backfill; installations that never create an explicit cache see no data change. Plus migrations 246–286 are unchanged from v0.2.15+custom.003.

Antigravity outbound identity adopts the official antigravity/hub/ client family at version 2.23.0 while keeping the Plus-pinned linux/amd64 system fingerprint. A custom Antigravity User-Agent saved in the retired antigravity/<version> form is now an invalid candidate: it falls back atomically to the next identity source and the management API rejects it until it is re-saved as antigravity/hub/<version> … or cleared. No data migration is required.

New configuration: gateway.min_output_tokens defaults to 128 and must be at least 16; gemini_cached_content_max_ttl_seconds caps explicit-cache TTL and treats a non-positive value as 86400. Gemini cache storage prices default to the built-in official rates and may be overridden per model. The admin account filter revert keeps existing saved filter values; only the collapsing panel is removed.

Plus retains its vendored SheetJS xlsx 0.20.3 artifact and lockfile pin from the previous Plus baseline. The official v0.2.17 revert to npm xlsx ^0.18.5 is not imported; the previous SheetJS security exceptions remain removed.

Official tag v0.2.17 still embeds VERSION=0.2.16 upstream (its version-sync commit landed after the tag). Plus identifies this tree as 0.2.17+custom.001, and v0.2.16 is included because it is an ancestor of v0.2.17; no separate v0.2.16+custom release exists.

Known issues

A Gemini explicit cache is rejected with POST /v1beta/cachedContents when the model has neither a configured cache_storage_cost_per_token_per_hour nor a built-in official storage price.

Antigravity MODEL_CAPACITY_EXHAUSTED is shared across accounts for the same model: the gateway returns the upstream 503 immediately instead of retrying the same account or switching accounts, while ordinary RATE_LIMIT_EXCEEDED waiting and account switching are unchanged.

An account or global profile that pins a custom Antigravity User-Agent in the old antigravity/<version> form silently falls through to the next identity source after the upgrade until it is re-saved; only the version import from antigravity_user_agent_version is automatic.

Upstream baseline

Official release: v0.2.17
Official commit: 060d016


📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/luckykuang/sub2api-plus:v0.2.17-custom.001

One-line install (Linux):

curl -sSL https://raw.githubusercontent.com/LuckyKuang/sub2api-plus/v0.2.17+custom.001/deploy/install.sh | sudo bash -s -- install -v v0.2.17+custom.001

Manual download:
Download the appropriate archive for your platform from the assets below.

📚 Documentation

Sub2API Plus 0.2.15+custom.003

Choose a tag to compare

@github-actions github-actions released this 13 Oct 03:11
6031fd0

Sub2API Plus AI API Gateway Platform - 将 AI 订阅配额分发和管理

Highlights

  • Integrates the official main snapshot through ab80abc while preserving Plus billing, outbound identity, security audit, provider routing and UI contracts.
  • Adds optional group name/description translations across administrator editing and user catalogs, keys, subscriptions, usage, redemption and checkout. Language changes refresh display data while preserving drafts and payment selections.
  • Updates GPT-6.1 Sol's default context window to 500k and exempts subscription credentials from the model's built-in long-context surcharge. API-key pricing, custom operator intervals and Plus auto-review/response-model billing protections remain supported.
  • Fixes hosted image-tool injection on non-OpenAI platforms, moderation scope cleanup when deleting groups, stale RPM requests, payment countdown drift and account-name refresh in operations details.
  • Includes Plus changes since custom.002: independent first-byte timing, V3 current observations and administrator request/response service-tier snapshots.

Compatibility and migration

  • Startup applies forward-only migrations 284/285/286 when upgrading from custom.002. Migration 286 adds an empty group translation map; existing names, quotas, reset sources, prices and history remain intact. Back up the database before upgrading.
  • The upstream translation migration is numbered 286 in Plus to avoid historical migration 242. Existing migration filenames and checksums are unchanged.
  • Missing translations fall back to original fields. User responses omit translation maps; administrator responses retain them. Model Plaza appends Vary: Accept-Language while preserving CORS variation.
  • Plus native selectors, integrated searchable/multi-select controls, default-off monitoring refresh, identity source precedence and ingress audit ordering remain unchanged.
  • Docker image tags use v0.2.15-custom.003; Git/GitHub tags use v0.2.15+custom.003.

Known issues

  • Group translations are display-only and must be configured by an administrator; logs and group identity retain original names.
  • GPT-6.1 Sol's 500k window is a default only; explicit official account metadata takes precedence. Subscription surcharge exemption does not override operator-defined pricing intervals.
  • Database migrations are forward-only; application rollback does not reverse schema changes.

Upstream baseline

Official release: v0.2.15
Official commit: ab80abc
Tagged baseline commit: f2669c8

The official commit is the integrated main snapshot after the v0.2.15 release.
Plus custom behavior takes precedence over conflicting upstream defaults.


📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/luckykuang/sub2api-plus:v0.2.15-custom.003

One-line install (Linux):

curl -sSL https://raw.githubusercontent.com/LuckyKuang/sub2api-plus/v0.2.15+custom.003/deploy/install.sh | sudo bash -s -- install -v v0.2.15+custom.003

Manual download:
Download the appropriate archive for your platform from the assets below.

📚 Documentation

Sub2API Plus 0.2.15+custom.002

Choose a tag to compare

@github-actions github-actions released this 11 Oct 19:12
f3a784d

Sub2API Plus AI API Gateway Platform - 将 AI 订阅配额分发和管理

Highlights

  • Combine optional V1 active probes with V3 service status. Probe outcomes participate directly in V3 state and incident decisions while users see only the V3 monitor; the separate V1 user monitor remains available only in V1 mode. Probe requests follow the same credential-owner outbound identity contract as platform requests.
  • Show deduplicated model status within each platform, without group or monitor names in the user-facing model and incident views. Healthy traffic cannot hide a failed probe.
  • Improve the available-channel catalog with at most five cards per row, wider spacing and rounder corners. Service tiers such as Fast/priority, Flex and Ultrafast are collapsed by default and can be expanded independently.
  • Add an optional external redeem-code purchase entry in payment settings. Recharge/subscription selection pages show its card at the bottom, with a right-aligned purchase action; operators choose an embedded page or a new tab. The built-in payment switch still controls recharge/subscription navigation.
  • Let administrators opt balance and subscription redeem codes into order creation. Redemption atomically grants the benefit and creates a completed order, with separate payment/redemption source labels and filters and the existing balance/subscription order types.

Changed

  • Balance redemption-order currencies are CNY and USD, defaulting to CNY, with no exchange-rate conversion: a face value of 100 and CNY order currency credits 100 USD and records a 100 CNY order.
  • Subscription redemption codes freeze the selected plan's price, currency, name, group and duration when generated. Later plan price changes or deletion do not rewrite those snapshots.
  • Payment and redemption orders share order management and statistics; totals remain separate per currency. Redemption orders have no provider payment, recharge promotion, fee or refund, including forced administrator refunds.
  • New-tab purchases use opener isolation. Embedded purchases use a protected, sandboxed page and the configured origin in CSP, without adding application credentials or user identifiers to the third-party URL.

Fixed

  • Align the purchase button beside the purchase-card title and description, and label it "Go to purchase" / "前往购买".
  • Use the shared plan-duration formatter in subscription administration so translated day/week/month labels replace raw translation keys.
  • Preserve the disabled purchase entry and default new-tab mode in admin settings when payment configuration is unavailable.
  • Invalidate subscription entitlement caches only after the redemption transaction commits; failed order or audit writes leave the code and benefits unchanged.

Compatibility and migration

Upgrade applies forward-only migrations 282_redeem_order_snapshots.sql and 283_channel_monitor_v3_probe_sources.sql. Existing redeem codes default to no order, existing payment orders retain their payment source and currency resolution, and existing V3 observations keep their history and incident IDs as request observations.

Extra V1 probes in V3 and the external purchase entry default to disabled. Existing monitoring mode and the built-in payment navigation gate are preserved. Only balance and subscription codes support optional order creation; internal payment-fulfillment codes remain opted out. Redemption orders are non-refundable and receive no recharge promotions.

Known issues

Third-party sites can prevent iframe embedding through their own browser security policies; the embedded purchase page provides a new-tab option.

V3 treats a missing probe or one older than five minutes as unknown, so longer probe intervals can leave unknown gaps. A probe targeting this application's gateway can also produce a request observation; the two sources are combined for status, without claiming deduplicated business-request counts across sources.

Upstream baseline

Official release: v0.2.15
Official commit: f2669c8


📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/luckykuang/sub2api-plus:v0.2.15-custom.002

One-line install (Linux):

curl -sSL https://raw.githubusercontent.com/LuckyKuang/sub2api-plus/v0.2.15+custom.002/deploy/install.sh | sudo bash -s -- install -v v0.2.15+custom.002

Manual download:
Download the appropriate archive for your platform from the assets below.

📚 Documentation

Sub2API Plus 0.2.15+custom.001

Choose a tag to compare

@github-actions github-actions released this 10 Oct 07:14
4803d99

Sub2API Plus AI API Gateway Platform - 将 AI 订阅配额分发和管理

Highlights

  • 同步官方 v0.2.15,并保留 Plus 的出站身份优先级、统一入口安全审计、国内供应商与 OAuth、Grok、StepFun、用量计时及选择控件交互。
  • 新增 Cline、Command Code 兼容供应商接入及用量探测,统一前后端平台目录、模型与协议路由,并补充对应身份、额度和调度回归覆盖。
  • 运维输出 TPS 分布采用与 Plus 用量表一致的非媒体单请求平均速率,提供样本数、平均值以及 P5/P10/P50。

Changed

  • 改进模型目录、可用模型展示、兼容协议转换和路由;同步拒绝响应、历史函数调用、开发者角色、工具选择、思考签名及 OAuth 历史搜索内容处理。
  • 修正 OpenAI WebSocket 逐轮分组计价及图像用量处理,并同步多处管理界面、异步状态及对话框交互修复。
  • 单请求平均 TPS = (output_tokens - image_output_tokens - audio_output_tokens) * 1000 / duration_ms。分母为总请求/轮次耗时,包含首 token 等待,不表示纯解码速率。
  • 运维分布对符合条件的请求等权统计:avg = sum(单请求 TPS) / N;P5/P10/P50 使用整个选定窗口内未舍入速率的连续百分位。已有流量吞吐量 tps 保持独立定义。Live 汇总不计入该分布;已知媒体/压缩首输出需要严格观察到后续非媒体 token。

Fixed

  • 发布文档生成器在 Windows 上保留 LF 换行,并识别、修复内容相同但换行为 CRLF 的部署模板,确保 Unix 安装脚本正确读取空的初始凭据字段。
  • Cline 无效余额不再被当成零余额或写入额度快照;有效零余额及负余额仍按原有规则处理。
  • Cline 畸形已知额度窗口、非空且仅包含未知窗口的探测结果不再被误判为无订阅或清除已有额度/冷却;有效空列表及 404 仍表示无订阅。
  • Command Code 拒绝 NaN、Infinity 及溢出额度,避免异常数值改变额度快照或错误解除冷却。
  • Cline 和 Command Code 控制接口检查响应读取错误,并拒绝超过 256 KiB 的响应,避免接受不完整数据或超限响应的 JSON 前缀。

Compatibility and migration

  • 数据库迁移 281_drop_platform_check_constraints.sql 在启动时自动执行,移除平台额度与组合路由的旧平台白名单 CHECK。API、服务、仓储和 Ent 继续通过统一平台目录拒绝未注册平台;渠道监控的能力约束保留。
  • 升级前备份数据库。迁移为 forward-only;切回旧镜像不会恢复已移除的 CHECK。需要恢复原数据库状态时使用经核验的备份或新的补偿迁移,不修改已应用的历史 SQL。
  • TPS 分布的统计口径变化可能影响既有仪表盘数值对比,不应将其解释为供应商推理性能变化。空样本返回样本数 0 和空速率;分布查询超时返回不可用。
  • Git/GitHub tag 为 v0.2.15+custom.001;应用版本为 0.2.15+custom.001;镜像为 ghcr.io/luckykuang/sub2api-plus:v0.2.15-custom.001。

Known issues

  • 开发工具链依赖 js-yaml 与 baseline-browser-mapping 仍有 Dependabot 安全告警;自动安全更新任务返回 security_update_not_possible,未能解出修复版本。固定依赖树检查确认两者仅存在于开发依赖范围;本次生产依赖审计和前后端 Security Scan 均通过,审计例外清单保持为空。开发工具链告警需要后续独立依赖升级处理。
  • 当前审查未发现尚未修复的发布阻断问题。依赖真实供应商凭据、外部抓包端点、S3、显式审计服务或嵌套 Docker API 的集成场景仍需满足各自前提;本地和 CI 验证不代表生产流量或所有真实供应商账号均已验收。

Upstream baseline

Official release: v0.2.15
Official commit: f2669c8

Plus retains its documented identity, ingress-audit, billing and usage-timing contracts where they intentionally differ from upstream.


📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/luckykuang/sub2api-plus:v0.2.15-custom.001

One-line install (Linux):

curl -sSL https://raw.githubusercontent.com/LuckyKuang/sub2api-plus/v0.2.15+custom.001/deploy/install.sh | sudo bash -s -- install -v v0.2.15+custom.001

Manual download:
Download the appropriate archive for your platform from the assets below.

📚 Documentation

Sub2API Plus 0.2.14+custom.004

Choose a tag to compare

@github-actions github-actions released this 10 Oct 01:16
0fc324b

Sub2API Plus AI API Gateway Platform - 将 AI 订阅配额分发和管理

Highlights

  • Reduce release preparation overhead by verifying provenance in the same prepared container environment before any application build.
  • Reuse the matching default-branch frontend dependency cache while retaining frozen installation, internationalization checks, type checking and the production build.

Changed

  • Preserve exact main-commit CI and Security Scan evidence, immutable source/tooling bindings, five independent build targets and the protected publication Environment.
  • Retain read-only branch and historical-tag rehearsals, archive/OCI integrity checks and immutable pricing publication.

Compatibility and migration

No application API, database schema or deployment configuration changes. Existing Plus behavior and the local full-validation requirement remain unchanged. Rollback release: v0.2.14+custom.003.

Known issues

Release duration varies with runner scheduling, container-image restoration and dependency-cache availability. Read-only rehearsal timings do not establish a guaranteed formal-publication duration.

Upstream baseline

Official release: v0.2.14
Official commit: 0363b8c


📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/luckykuang/sub2api-plus:v0.2.14-custom.004

One-line install (Linux):

curl -sSL https://raw.githubusercontent.com/LuckyKuang/sub2api-plus/v0.2.14+custom.004/deploy/install.sh | sudo bash -s -- install -v v0.2.14+custom.004

Manual download:
Download the appropriate archive for your platform from the assets below.

📚 Documentation

Sub2API Plus 0.2.14+custom.003

Choose a tag to compare

@github-actions github-actions released this 09 Oct 17:38
ba6e074

Sub2API Plus AI API Gateway Platform - 将 AI 订阅配额分发和管理

Highlights

  • Upgrade Go to 1.27.2 and golang.org/x/net to v0.60.0 (with required Go module updates) to fix reachable standard-library and HTTP/2 vulnerabilities found by the release-candidate security gate. Migrate outbound HTTP/2 PING configuration to the native API while preserving protocol fallback and timeout behavior.
  • Build the frontend once and compile five release targets on independent native amd64/arm64 runners. Verify archive bytes, binary build metadata and checksums before publication.
  • Use the same pinned container checks for local submission and GitHub CI, with full frontend coverage, native backend unit matrices and isolated integration checks.
  • Serialize memory-intensive local Go checks and frontend production builds within the prescribed 8 GiB validation container, retaining every check.
  • Add read-only branch and historical-tag packaging rehearsals with OCI and immutable pricing verification.
  • Complete release metadata finalization through protected auto-merge and verify CI and Security Scan at the actual merged-main commit, including safe resume after merge.
  • Refresh the Plus logo and reconcile release, deployment and repository skill documentation.

Compatibility and migration

No database or application configuration migration is required. Plus version metadata remains in Git tags, archives and embedded application versions. GHCR uses the corresponding OCI-compatible tag v0.2.14-custom.003; the registry and five supported binary targets are unchanged.

Known issues

CI-only submission is not enabled: exclusive trusted CI producer prerequisites are not configured, so the full local submission gate remains required. Read-only rehearsals do not prove publication credentials or registry availability. Publication of GHCR images and GitHub Release assets is not atomic; published tags and assets must never be overwritten during recovery. Release performance targets are budgets until measured against the completed publication workflow.

Upstream baseline

Official release: v0.2.14
Official commit: 0363b8c

Intentional Plus identity, ingress audit, release and deployment contracts remain in effect.


📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/luckykuang/sub2api-plus:v0.2.14-custom.003

One-line install (Linux):

curl -sSL https://raw.githubusercontent.com/LuckyKuang/sub2api-plus/v0.2.14+custom.003/deploy/install.sh | sudo bash -s -- install -v v0.2.14+custom.003

Manual download:
Download the appropriate archive for your platform from the assets below.

📚 Documentation

Sub2API Plus 0.2.14+custom.002

Choose a tag to compare

@github-actions github-actions released this 08 Oct 14:11
a7749f5

Sub2API Plus AI API Gateway Platform - 将 AI 订阅配额分发和管理

Highlights

Fix outbound requests to relay domains containing sub2api and align Grok outbound protocol declarations with the official grok-build client.

Fixed

  • Permit sub2api in routing Host/authority while preserving URL security checks, signatures and the prohibition in other outbound headers.
  • Separate Grok cache keys, conversation/session associations and root groups; preserve parent caching for auxiliary calls.
  • Use the official Imagine media client UA with the selected identity version, and apply endpoint-specific headers.
  • Attribute outbound header-policy rejections to the local gateway without provider cooldown or account failover.

Changed

  • Remove the custom Grok tool-cache switch/header semantics, automatic search-tool injection and name-based function conversion.
  • Remove automatic CLI 403 replay to the public xAI API; preserve normal protocol error handling.
  • Align Grok HTTP/2 keepalive and idle pool defaults with the official source.

Compatibility and migration

Migration 280 removes the retired Grok tool-cache account setting while preserving credentials and other account settings. Configured X-Grok-Client-Tool-Cache extras are ordinary headers; incoming values no longer control routing. Existing account identity priority and the Ubuntu baseline remain intact. CLI denials no longer retry the same request against the public API.

Known issues

Removing automatic search-tool injection can reduce Free OAuth prompt-cache hits. Corrected session associations may cause a cache cold start. Signed video CDN downloads retain the trusted gateway identity instead of using the official headerless download client. The Go TLS ClientHello and idle-triggered health PING are not byte-identical to the official Rustls/reqwest transport.

Upstream baseline

Official release: v0.2.14
Official commit: 0363b8c
Grok protocol reference: local grok-build 2bdd1d6a, client 1.0.45.


📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/luckykuang/sub2api-plus:v0.2.14-custom.002

One-line install (Linux):

curl -sSL https://raw.githubusercontent.com/LuckyKuang/sub2api-plus/v0.2.14+custom.002/deploy/install.sh | sudo bash -s -- install -v v0.2.14+custom.002

Manual download:
Download the appropriate archive for your platform from the assets below.

📚 Documentation

Sub2API Plus 0.2.14+custom.001

Choose a tag to compare

@github-actions github-actions released this 08 Oct 10:55
539b568

Sub2API Plus AI API Gateway Platform - 将 AI 订阅配额分发和管理

Highlights

  • Unify trusted outbound identities for DeepSeek, Kimi Code, MiniMax Code, GLM ZCode and StepFun Step-Code, with provider-specific OAuth and API Key support.
  • Add DeepSeek, Kimi and MiniMax OAuth login entries, GLM ZCode account linking, and StepFun OAuth/API Key account onboarding.
  • Complete StepFun model restrictions, supported-model discovery and default pricing.
  • Add V3 channel-monitor platform controls and clearer error-request diagnostics.
  • Integrate official v0.2.14 while preserving Plus identity, ingress-audit, pricing and scheduling contracts.

Changed

  • Domestic identity presets default to Ubuntu 24.04 with a neutral device name, provider-defined language/timezone options and no outbound identity header containing the project name.
  • Simplify account default identity mapping while preserving credential-owner precedence and the existing Codex identity contract.
  • Enforce requirement-based test design in repository rules and contributor documentation.

Fixed

  • Align default-platform quota and authentication-source quota-override tables.
  • Attribute trusted local security-audit refusals separately from provider errors; preserve measured account-pool and exclusion diagnostics.
  • Recover explicit OpenAI encrypted-history failures at most once on the same credential owner before semantic output; retain usable summaries, tools and continuation state.
  • Log sanitized body-read failure stages and byte counts, and preserve observed TTFT and replay-suppression details after partial stream failures.
  • Reject OAuth refresh results after their deadline even when cancellation notification is delayed, without attributing caller/cycle expiry to the account.
  • Include upstream bootstrap hardening, EasyPay callback-forgery fixes, remote API Key model discovery and frontend dependency security fixes.

Compatibility and migration

  • Database migrations are forward-only and run automatically on upgrade. Back up persistent data before upgrading from v0.2.13+custom.001.
  • Migration 279 corrects only reliably identifiable historical local security-audit refusals; ambiguous and provider records, response bodies, timestamps and SLA flags remain unchanged.
  • Identity settings migrate to the official provider presets and neutral environment defaults. OAuth and API Key accounts keep their provider-specific authentication flows; incompatible legacy identity mappings are removed.
  • Existing Codex identity precedence and ingress security-audit admission ordering are preserved. Unknown historical timing remains unset.
  • OCI image: ghcr.io/luckykuang/sub2api-plus:v0.2.14-custom.001.

Known issues

  • Official OAuth login requires the corresponding provider account and authorization; live verification for every provider credential is not included in the automated regression suite.
  • Generic upstream 502 responses, remote WebSocket 1012 closes and failures after semantic output retain their existing handling and are not automatically replayed.

Upstream baseline

Official release: v0.2.14
Official commit: 0363b8c


📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/luckykuang/sub2api-plus:v0.2.14-custom.001

One-line install (Linux):

curl -sSL https://raw.githubusercontent.com/LuckyKuang/sub2api-plus/v0.2.14+custom.001/deploy/install.sh | sudo bash -s -- install -v v0.2.14+custom.001

Manual download:
Download the appropriate archive for your platform from the assets below.

📚 Documentation

Sub2API Plus 0.2.13+custom.001

Choose a tag to compare

@github-actions github-actions released this 02 Oct 17:38
eef29a4

Sub2API Plus AI API Gateway Platform - 将 AI 订阅配额分发和管理

Highlights

  • 同步官方 Sub2API v0.2.13,包含此前 v0.2.12 的功能与修复,并保留 Plus 的计费、路由、审计与出站身份合同。
  • 修复请求完成前删除 API Key 导致无法正常结算的问题,并验证重试结算的幂等性。
  • 修复管理员进入用户协助只读视图时出现用户公告确认弹框的问题。
  • 渠道状态 V3 与事件记录展示全局请求观测数据。
  • 修复 DeepSeek、Kimi、Zhipu、MiniMax 分组白名单错误显示 Claude 候选的问题,更新官方模型目录并由前后端共用。

Changed

  • DeepSeek 保留独立模型请求名称,包括 deepseek-v4.1-flash、deepseek-v4-flash-0731 和 deepseek-v4-pro-0813;未配置管理员显式映射时原样发送上游。
  • 新增跨平台本机部署工作流,完善 Apple Container 构建资源及部署镜像生命周期说明。
  • 更新前端依赖安全修复,使用官方 SheetJS CE 0.20.3 包,并精简当前维护文档。

Compatibility and migration

  • 沿用仓库的前向数据库迁移;升级前请备份数据库,并遵循 backend/migrations/README.md 中的升级前提。
  • 已保存的模型白名单、通配符、账号自定义模型映射保持不变。此前误保存 Claude 默认候选的国产平台分组,需要管理员重新选择适用模型后保存。
  • 更新候选目录不会自动调整模型价格、能力声明、账号权限或请求参数;原有客户端兼容入口、可信出站身份和入站安全审计规则保持不变。
  • Git/GitHub 版本为 v0.2.13+custom.001,容器镜像版本为 v0.2.13-custom.001。

Known issues

  • 官网当前价格页推荐 deepseek-flash,未单独列出 deepseek-v4.1-flash 这个 API ID;项目支持原样透传,具体支持与版本指向由上游决定。
  • MiniMax-M3.1-Flash-Preview 当前仅通过 M Plan 和 MiniMax Code 提供;Kimi Coding 别名也需要对应会员权限。平台目录可选不代表账号可以调用所有条目。

Upstream baseline

Official release: v0.2.13
Official commit: 3040209


📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/luckykuang/sub2api-plus:v0.2.13-custom.001

One-line install (Linux):

curl -sSL https://raw.githubusercontent.com/LuckyKuang/sub2api-plus/v0.2.13+custom.001/deploy/install.sh | sudo bash -s -- install -v v0.2.13+custom.001

Manual download:
Download the appropriate archive for your platform from the assets below.

📚 Documentation

Sub2API Plus 0.2.11+custom.002

Choose a tag to compare

@github-actions github-actions released this 02 Oct 06:31
a6fd623

Sub2API Plus AI API Gateway Platform - 将 AI 订阅配额分发和管理

Highlights

  • Add administrator read-only user assistance: the ordinary user pages, menus, feature gates and GET handlers are reused for the selected user, every assisted read writes an admin.support.read audit entry, and all mutations plus image submission, redemption and authentication binding stay disabled.
  • Add the request-driven Channel Monitor V3 service status mode. It derives authorized platform and incident states from real user request outcomes in usage_logs and ops_error_logs, sends no probes, and leaves the existing V1 probe and V2 aggregation modes and their saved history untouched.
  • Add the authorized available-channel model catalog: models are aggregated per platform and model ID with effective price ranges and per-group quote details, including context, media, service-tier and dynamic pricing conditions, resolved through the same billing path that preserves explicit zero rates.
  • Change usage throughput to request-average TPS over total duration, excluding image and audio output tokens while keeping the first-token, total-duration and TPS labels and explaining unavailable or incomplete results.
  • Restore integrated searchable, checkbox and rich-option dropdown controls while keeping native selects for plain choices, and repair monitor mode switching, saved-setting synchronization and support-page key status translations.

Changed

  • GET /api/v1/channels/available keeps its legacy channel array; view=catalog selects the new grouped catalog under the same authentication, feature gate and success envelope.
  • Channel monitor keeps V1, V2 and V3 as separate pages with independent configuration; the saved mode is reloaded on entry, on focus and on visibility change, and V1/V2 user visibility and authorization are preserved.
  • Administrator assistance reads are registered explicitly as GET routes under /api/v1/admin/support/users/:user_id. Assisted keys, profile, usage, subscriptions, payments, redeem history, images and monitors reuse the user handlers and DTOs.
  • The assisted /usage/dashboard/api-keys-usage read uses GET query parameters instead of a business POST, and continued ownership checks for the target user's keys.
  • Locale validation now also checks dynamic API enum values and interpolated UI labels for both shipped locales.

Fixed

  • Restore missing API key status translations and previously untranslated user-page labels.
  • Stop stale cached public settings from overwriting the just-saved monitor mode, restore the original V1/V2/V3 mode buttons, and fix key-group layout, monitor status labels and Escape handling.
  • Preserve the administrator's own JWT, refresh token and persisted login profile while assisting a user, and keep internal authentication material out of assisted responses.

Compatibility and migration

Apply SQL migration 272_channel_monitor_v3.sql before starting the new image. It only creates the channel_monitor_v3_config, channel_monitor_v3_facts, channel_monitor_v3_states, channel_monitor_v3_incidents and channel_monitor_v3_watermark tables plus their indexes, and is safe for an existing database; no existing table, column or row is modified. Back up persistent data before upgrading.

The channel monitor feature keeps its previous default mode, so an upgrade does not change monitoring behavior by itself. Selecting V3 is an explicit operator action; V3 does not backfill history from periods when it was disabled, and incident silence never resolves an incident.

Usage tables and exports still read the same stored timestamps, but the throughput column is now a request-average TPS over total duration. Numbers therefore change after the upgrade for the same historical rows; image and audio output tokens no longer count toward it. No stored usage data is rewritten.

Assisted administrator reads are read-only by design: editing dialogs open for inspection with disabled submits, and no endpoint accepts an assisted write. Other gateway, user and administrator APIs, the security-audit boundary and compiled outbound identity fingerprints are unchanged.

Known issues

Channel Monitor V3 only shows terminal outcomes of real requests, so a group without recent traffic, and every model below the configured minimum sample count, remains unknown rather than healthy. Requests whose final outcome was not recorded with a shared request ID are counted per log row instead of being deduplicated.

Completing an assisted read of external embedded sites does not create a user session or forward the administrator's JWT, so those sites keep their own external login state. Assisted images are downloaded with the target user's key ownership checks and are not marked as downloaded.

Upstream baseline

Official release: v0.2.11
Official commit: 96f4c11


📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/luckykuang/sub2api-plus:v0.2.11-custom.002

One-line install (Linux):

curl -sSL https://raw.githubusercontent.com/LuckyKuang/sub2api-plus/v0.2.11+custom.002/deploy/install.sh | sudo bash -s -- install -v v0.2.11+custom.002

Manual download:
Download the appropriate archive for your platform from the assets below.

📚 Documentation