Repository navigation
Releases: zhang2580384/sub2api-state-kit
Release list
STATE Kit 4.7.0
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
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
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 完整性修复
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
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=780gateway=unified-Nsession_bound=trueticket_age_seconds < 240response_model与请求模型一致
同一网关号内仍可能同时出现正常和不正常输出。网关号用于筛选和缩小测试范围,不能单独证明不存在隐性降智。
STATE Kit v4.5.0
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=780gateway=unified-Nsession_bound=trueticket_age_seconds < 240response_model与请求模型一致
同一网关号内可能同时出现正常和不正常输出。网关号用于缩小测试范围,不能单独证明不存在隐性降智。
STATE Kit v4.4.0
STATE Kit 4.4.0
适用宿主:官方 Sub2API v0.2.8。
本次改进
780STATE 按 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=780gateway=unified-88session_bound=trueticket_age_seconds小于240- 响应模型与请求模型一致
票长、网关和模型声明只能证明格式、路由与会话一致性,不能单独证明不存在隐性降智。若上游网关编号变化,可检查诊断中的 gateway,调整目标网关或暂时设为 any。
v4.3.3 - 实时诊断监听修复
v4.3.3 - 实时诊断监听修复
修复打开“实时诊断监听”后长期停留在“正在建立实时监听…”的问题。
主要变化:
- 三次监听状态信号改为并行发送,避免宿主单次状态响应较慢时错过监听窗口;
- 诊断面板正确显示
780票据类别; - 监听建立失败时直接显示宿主错误;
780滚动票据兼容保持4.3.2行为不变。
安装后打开诊断面板,再发起一次实际模型请求或等待票据续期,面板才会显示新事件。
验证:Go 测试、race、vet、UI 33/33、官方 Sub2API 0.2.8 宿主契约和 Ed25519 验签均通过。
v4.3.2 - 780 滚动票据兼容
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
修复官方 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 安装或升级。