Skip to content

Releases: zhang2580384/sub2api-state-kit

STATE Kit 4.7.0

Choose a tag to compare

@zhang2580384 zhang2580384 released this 25 Sep 08:38

STATE Kit 4.7.0

适用宿主:官方 Sub2API v0.2.8。

重大变更

  • 正式配置只维护 Cookie + 780 滚动票据,292/332 运行模式已删除。
  • 旧配置里的 ticket_mode=legacy 或空值会在保存时迁移为 cookie,allow_state_780=false 会迁移为强制启用。
  • 配置页删除运行方式、独立 780 开关、旧票据有效期和账号级旧出口控件。

可用性

  • 质量探针支持 strict_fallback / strict / off。
  • strict_fallback 在没有旧票时先发布“可用 · 未通过质量”的临时票保活,后台继续寻找严格合格票。
  • 临时票发布后,并发的 403/429 不会把任务打成冷却;整轮结束后仍无临时票时才进入冷却。
  • 严格合格票找到后直接替换临时票,严格票和临时票在状态页明确区分。
  • 支持 1..3 路并发打票,多个 worker 共享“每轮最多尝试”总预算。

验证

  • 本机 go test ./... -count=1 和 go vet ./... 通过。
  • Linux CGO_ENABLED=1 go test -race ./... -count=1 通过。
  • UI 测试 33/33 通过。
  • 官方 Sub2API v0.2.8 提交 fd80b08c90b55edcad5b00171b53f08721d30da1 宿主契约测试通过。

安装包

Linux amd64 专用:

sub2api-state-kit_plugin_v4.7.0_linux_amd64.s2plugin

通用包(Linux amd64、Linux arm64、macOS arm64):

sub2api-state-kit_plugin_v4.7.0.s2plugin

首次安装先合并 Release 中的 trusted-publisher.yaml,重启 Sub2API 后再上传插件包。已安装旧版可直接升级,配置会迁移并保留。

STATE Kit 4.6.1

Choose a tag to compare

@zhang2580384 zhang2580384 released this 25 Sep 06:35

STATE Kit 4.6.1

适用宿主:官方 Sub2API v0.2.8。

修复

  • 诊断日志改为宿主内全屏独立工作区,只保留一个纵向滚动区,不再使用可拖动窗口、横向表格或嵌套滚动条。
  • 诊断事件改为纵向卡片,代理链、出口 IP、票据状态、质量探针、响应、结果和耗时无需横向滚动即可阅读。
  • 删除混合口径的“出现、通过、通过率”,改为按网关显示采集成功、复验通过、质量通过、质量未通过和其他失败。
  • 面板明确提示:同一张票会经过多个阶段,各阶段计数不能相加为总通过率。
  • 质量探针结果本地化为“质量通过 / 质量未通过”,并说明返回新的 780 只代表会话滚动,不能单独判定降智。
  • 本版不修改打票、复验、质量探针、备用票或网关判定逻辑。

判定口径

  • 只有质量探针答案命中配置值的新票才会发布。
  • 探针失败或超时会继续重打,当前仍可用的旧票继续服务。
  • “回答正确但没有返回新票”和“返回新票但回答错误”都可能发生,不能用是否返回新票判断是否降智。

安装包

Linux amd64 专用:

sub2api-state-kit_plugin_v4.6.1_linux_amd64.s2plugin

通用包(Linux amd64、Linux arm64、macOS arm64):

sub2api-state-kit_plugin_v4.6.1.s2plugin

已安装 4.6.0 可直接升级,配置会保留。签名公钥 ID 不变:state-kit-local-v1。

验证

  • node --test plugin/ui-tests/app.test.cjs plugin/ui-tests/bridge.test.cjs:36/36 通过。
  • node --check plugin/ui/assets/app.js:通过。
  • 完整 Go 测试和官方 Sub2API v0.2.8 宿主契约测试在构建后执行。

STATE Kit 4.6.0

Choose a tag to compare

@zhang2580384 zhang2580384 released this 25 Sep 06:03

STATE Kit 4.6.0

适用宿主:官方 Sub2API v0.2.8。

新增

  • 新增默认关闭的“票据质量探针”,可为新票配置一条提示词和最多 8 个通过答案。
  • 新票完成原有同出口复验、网关和会话检查后,再执行一次质量请求;答案不区分大小写按包含关系匹配。
  • 质量未通过时记录 quality_mismatch 并继续重打,当前仍可用的旧票不会被替换。
  • 质量请求返回的新 STATE 和 Cookie 只有在通过网关及会话完整性检查后才滚动保存。
  • 诊断新增“质量探针”阶段、匹配结果和脱敏输出指纹。

验证结论

  • 80 个独立出口、177 个样本事件中,有效回答为 173 个,15 / 16 / 17 分别为 71 / 68 / 34。
  • 全部样本事件的 17 命中率为 34 / 177 = 19.21%,有效回答命中率为 34 / 173 = 19.65%。
  • 17 出现在多个网关;固定出口、固定 Cookie 和响应头都不能形成长期的“不降智白名单”。
  • 质量探针用于新票发布前验收,不承诺上游质量永久不变。

安装包

Linux amd64 专用:

sub2api-state-kit_plugin_v4.6.0_linux_amd64.s2plugin

通用包(Linux amd64、Linux arm64、macOS arm64):

sub2api-state-kit_plugin_v4.6.0.s2plugin

已安装旧版可直接升级,配置会保留。签名公钥 ID 不变:state-kit-local-v1。

宿主契约

已在官方 Sub2API v0.2.8(提交 fd80b08c90b55edcad5b00171b53f08721d30da1)通过签名安装、不受信发布者拒绝、payload/签名篡改拒绝、插件进程握手、HostService 反向 gRPC、SSE 流式转发、请求取消、配置校验、受限 localhost 代理失败和杀进程重启测试。

STATE Kit 4.5.2 - 路由 Cookie 完整性修复

Choose a tag to compare

@zhang2580384 zhang2580384 released this 24 Sep 18:21

STATE Kit 4.5.2

适用宿主:官方 Sub2API v0.2.8。

修复

  • 780 票据必须同时携带非空 __cflb 和 __oailb。
  • 缺少任一路由 Cookie 时返回 gateway_unavailable,不进入业务出口复验,立即丢弃并重新打票。
  • gateway_policy=any 现在只取消网关白/黑名单判断,仍然执行完整路由 Cookie 校验。
  • 内存票据、备用票恢复和持久化恢复统一使用相同完整性规则。
  • 增加分别缺少 __cflb、缺少 __oailb 的规则测试与引擎测试。

安装

Linux amd64:

sub2api-state-kit_plugin_v4.5.2_linux_amd64.s2plugin

通用包:

sub2api-state-kit_plugin_v4.5.2.s2plugin

已安装旧版可直接升级,配置会保留。插件签名公钥 ID 不变:state-kit-local-v1。

STATE Kit v4.5.1

Choose a tag to compare

@zhang2580384 zhang2580384 released this 24 Sep 15:51

STATE Kit 4.5.1

适用宿主:官方 Sub2API v0.2.8。

本次改进

  • 780 目标网关支持 allow、deny、any 三种策略。
  • 默认使用 allow,候选网关为 unified-15,unified-88,unified-180,不再把 unified-88 当成唯一正确值。
  • 旧配置会自动迁移:原白名单迁移为 allow,原 any、* 或空列表迁移为 any。
  • allow/deny 下缺少 __cflb/__oailb 路由 Cookie 或无法识别网关时,候选票仍会被拒绝。
  • 上一轮路由 Cookie 只在符合当前策略且未过期时复用。
  • 诊断面板改为固定大尺寸窗口,标题栏可拖动,事件表格和网关统计区独立滚动。
  • 诊断事件仅保存在插件内存中,保留最近 5 小时并设置 5000 条硬上限;面板最多读取最新 2000 条。
  • 关闭诊断面板不会清空历史,插件重启后清空。
  • 网关统计显示出现、通过、模型不符、拒绝次数和通过率。

安装

Linux amd64:

sub2api-state-kit_plugin_v4.5.1_linux_amd64.s2plugin

通用包:

sub2api-state-kit_plugin_v4.5.1.s2plugin

已安装旧版可直接升级,配置会保留。首次安装先合并 trusted-publisher.yaml 到宿主现有配置,重启一次 Sub2API,再上传插件包。

验收重点

打开实时诊断后,先观察网关分布,再按实际线路调整策略:

  • state_length=780
  • gateway=unified-N
  • session_bound=true
  • ticket_age_seconds < 240
  • response_model 与请求模型一致

同一网关号内仍可能同时出现正常和不正常输出。网关号用于筛选和缩小测试范围,不能单独证明不存在隐性降智。

STATE Kit v4.5.0

Choose a tag to compare

@zhang2580384 zhang2580384 released this 24 Sep 14:51

STATE Kit 4.5.0

适用宿主:官方 Sub2API v0.2.8。

本次改进

  • 780 目标网关从单一固定值改为可多选白名单。
  • 支持输入 88,180,15、unified-88,unified-180,unified-15 等格式。
  • 默认候选网关为 unified-15,unified-88,unified-180,不再把 unified-88 当成唯一正确值。
  • 上一轮路由 Cookie 只在仍然命中当前白名单时复用。
  • 诊断面板新增网关分布汇总,显示每个网关的出现、通过、模型不符和拒绝次数。
  • 配置指纹升级,安装后旧票会自动重取。

安装

Linux amd64:

sub2api-state-kit_plugin_v4.5.0_linux_amd64.s2plugin

通用包:

sub2api-state-kit_plugin_v4.5.0.s2plugin

已安装旧版可直接升级,配置会保留。首次安装先合并 trusted-publisher.yaml 到宿主现有配置,重启一次 Sub2API,再上传插件包。

验收重点

打开实时诊断后,先观察网关分布,再按实际线路调整白名单:

  • state_length=780
  • gateway=unified-N
  • session_bound=true
  • ticket_age_seconds < 240
  • response_model 与请求模型一致

同一网关号内可能同时出现正常和不正常输出。网关号用于缩小测试范围,不能单独证明不存在隐性降智。

STATE Kit v4.4.0

Choose a tag to compare

@zhang2580384 zhang2580384 released this 24 Sep 14:12

STATE Kit 4.4.0

适用宿主:官方 Sub2API v0.2.8。

本次改进

  • 780 STATE 按 Fernet 兼容负载内的签发时间计算持续期,默认约 240 秒,不再沿用旧票剩余时间。
  • 新增目标网关验收,默认 unified-88。打票必须返回完整、未过期且命中目标网关的 __cflb/__oailb 路由 Cookie。
  • 新增上一轮网关 Cookie 复用,只复用同一账号、仍在有效期内且命中目标网关的路由对。
  • 新增打票指纹收敛,统一为参考实现验证过的 codex-tui/0.154.0 请求形态、低推理参数和工具参数。
  • 780 业务请求绑定 session_id、Cookie,并兼容 session-id 命名。
  • 业务响应中的新 STATE 和 Cookie 仅在目标网关仍匹配时滚动更新。
  • 诊断新增票龄、STATE 指纹、Cookie 指纹、目标网关和会话绑定状态,不输出原始票据或 Cookie。

安装

Linux amd64:

sub2api-state-kit_plugin_v4.4.0_linux_amd64.s2plugin

通用包:

sub2api-state-kit_plugin_v4.4.0.s2plugin

首次安装先合并 trusted-publisher.yaml 到宿主现有 config.yaml,重启一次 Sub2API,再上传插件包。已安装旧版可直接升级,配置会保留。

验收重点

安装后用实际模型请求检查诊断事件:

  • state_length=780
  • gateway=unified-88
  • session_bound=true
  • ticket_age_seconds 小于 240
  • 响应模型与请求模型一致

票长、网关和模型声明只能证明格式、路由与会话一致性,不能单独证明不存在隐性降智。若上游网关编号变化,可检查诊断中的 gateway,调整目标网关或暂时设为 any。

v4.3.3 - 实时诊断监听修复

Choose a tag to compare

@zhang2580384 zhang2580384 released this 24 Sep 09:27

v4.3.3 - 实时诊断监听修复

修复打开“实时诊断监听”后长期停留在“正在建立实时监听…”的问题。

主要变化:

  • 三次监听状态信号改为并行发送,避免宿主单次状态响应较慢时错过监听窗口;
  • 诊断面板正确显示 780 票据类别;
  • 监听建立失败时直接显示宿主错误;
  • 780 滚动票据兼容保持 4.3.2 行为不变。

安装后打开诊断面板,再发起一次实际模型请求或等待票据续期,面板才会显示新事件。

验证:Go 测试、race、vet、UI 33/33、官方 Sub2API 0.2.8 宿主契约和 Ed25519 验签均通过。

v4.3.2 - 780 滚动票据兼容

Choose a tag to compare

@zhang2580384 zhang2580384 released this 24 Sep 08:56

v4.3.2 - 780 滚动票据兼容

本版参考已实际成功运行的 cookie unified 流程,支持滚动保存上游新返回的 780 STATE 与 __cf_bm Cookie,不再要求始终取得固定 292。

主要变化:

  • 新增实验开关“兼容新版 780 状态”,默认关闭;
  • 780 仍必须通过业务出口复验,复验返回 312、模型不一致或请求失败时丢弃;
  • 保存复验响应返回的新 780,并滚动更新后续业务响应中的 STATE 和 Cookie;
  • 提供 Linux amd64 专用签名包,体积约 5.7 MB,适用于当前 amd 主机安装失败场景。

推荐下载:Linux amd64 主机使用 sub2api-state-kit_plugin_v4.3.2_linux_amd64.s2plugin。

验证:Go 测试、race、vet、UI 32/32、官方 Sub2API 0.2.8 宿主契约和 Ed25519 验签均通过。

STATE Kit v4.3.1

Choose a tag to compare

@zhang2580384 zhang2580384 released this 24 Sep 08:10

修复官方 Sub2API v0.2.8 配置页等待 20 秒后报错的问题。

  • 移除官方 0.2.8 UI Bridge 不支持的 proxies.list 和 accounts.list 调用。
  • 第一层 S5/HTTP 代理改为直接粘贴完整 http、https、socks5 或 socks5h 地址。
  • 已发现账号下拉只提供账号 ID,名称、邮箱、到期时间和额度可在添加后填写。
  • 保存时统一使用 upstream_proxy_id=0 和 upstream_proxy_url,代理链及票据逻辑不变。
  • 已通过 Node UI 测试、Go 单元测试、race、vet、三平台构建和官方 v0.2.8 宿主契约测试。

下载 sub2api-state-kit_plugin_v4.3.1.s2plugin 安装或升级。