mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-07 16:48:45 +08:00
根因:prompt audit 是共享 TOTP_ENCRYPTION_KEY 加密器的功能中唯一不校验 EncryptionKeyConfigured 的落点。未配置固定密钥的部署每次重启自动生成新 密钥,v162 保存的节点 Token 密文在升级重启后永久无法解密,Reload 中 ActiveFromStorage 整体失败导致快照永远装不上:管理端 GET 回退默认 v1 (v166 起为 503),而保存路径直读数据库做 CAS 版本对比,必然冲突—— 配置既看不见也改不掉。PR #4893 仅改变了报错形态,未修复根因。 修复: - ActiveFromStorage 对单节点解密失败降级容忍:该节点运行时禁用并标记 TokenInvalid,配置整体照常激活;管理端恢复显示真实版本号,重新输入 Token 即可自愈(密文保留,密钥恢复后自动复原) - blocking 意图下零可用节点时 evaluator 仍返回 unavailable,请求照旧 被拒,fail-closed 语义不回归;async 意图下 enqueue 直接 drop 并告警 - Save 在未配置固定加密密钥时拒绝保存新 Token(与 TOTP/Ollama/备份 一致的门控),错误码 prompt_audit_encryption_key_required - token_status 新增 invalid 状态,前端凭据列与编辑框提示重新输入 - 新增 config_token_invalid 告警日志(集合变化时记录一次,不随 5s 刷新刷屏)