本文件记录上一轮默认模式调整。后续修复与最终验证见 本地修复结果。
日期:2026-09-14。本次按用户要求将默认模式改为“初代兼容”,并修复与默认启停直接相关的配置还原和模式解析问题。只修改本地源码,未连接/部署服务器、未执行数据库迁移、未批量修改任何现有账号。
前两轮是审查与复现,没有修复业务代码。以下列出的“已完成”才是本轮实际修改并验证的内容。
mode=legacy。OpenAI OAuth/Setup Token 使用 session 指纹、nodejs24 TLS 模板;Anthropic OAuth/Setup Token 使用 nodejs24 TLS,保留原身份机制。并发保持原有更低限制,否则上限 16。随机代理、影子账号、API Key 及其他不适用类型继续使用通用并发保护。400 / UNKNOWN_PROTECTION_STRATEGY,不会自动应用默认策略。只有省略模式才使用新默认值。说明:TLS 模板配置仍受全局 TLS 开关和插件传输控制。本次没有开启服务器的全局开关,也没有证明真实上游握手或模型效果。如果历史缺陷已经删除了某账号的原始模板信息,本次修复不能凭空恢复丢失的数据,需依据此前备份核对。
| 问题 | 当前状态与下一步 |
|---|---|
| 原生 WSS 身份不一致 | 仍可复现,包括初代兼容。 mode1 的头/体设备 ID 不同;legacy/mode2 未完整应用声明身份。需要统一 HTTP/WSS/测试出站的身份计划并覆盖首帧及后续帧。默认值修改不能替代此修复。 |
| 策略切换非原子 | 仍可复现。 先提交还原再提交新策略;第二步失败会留下保护关闭状态。需要单事务及版本冲突检查,缓存只发布最终状态。 |
| 无标记旧快照覆盖新保护 | 仍可复现。 最终合并函数依据传入对象跳过读取已启用策略。需要以锁定后的数据库状态为准。 |
| mode2 与批量保存保护不统一 | mode2 普通编辑仍可复现;SQL 批量遗漏为源码已确认。 需要统一全部策略的受管字段集合。 |
| 平台适用条件未强制执行 | 仍可复现。 最小兼容等显式策略仍能应用到不支持的平台。此次未知模式已拒绝,但不等于完整资格校验已完成。 |
| TLS 预览不显示全局覆盖原因 | 可观测性缺口仍在。 账号预览可以显示 nodejs24,实际因全局关闭而走标准传输。需区分配置目标、有效计划和实际观测。 |
| 智能测试缺少执行策略快照 | 仍只保存保护布尔值和题目配置,不能完整重现实际策略/TLS/代理/并发。初代身份在智能测试入口的接入范围也需要进一步统一验收。 |
此外,项目总审查中的普通管理员系统操作权限、管理账号资源权限、定制站更新源、Live 零费用结算、缺失安全检查脚本及 CI 数据库覆盖问题,本轮均未修复。前次全量测试中与本任务无关的失败也不宣称已经解决。
-tags=unit 执行通过。go vet 通过;go build ./cmd/server 通过,输出到本机临时目录。vue-tsc --noEmit、改动文件 ESLint、Vite 生产构建通过,构建用时 18.27 秒,输出到本机临时目录。backend/internal/service/account_protection.go:默认创建/启用策略改为 legacy,保留不适用类型的通用保护。backend/internal/service/account_anti_degrade.go:默认选择常量、持久态与请求默认值分离、未知值拒绝、完整快照及兼容旧快照的还原。backend/internal/service/anti_degrade_strategies.go:初代兼容默认描述与非诊断默认定位。frontend/src/utils/accountProtection.ts:前端共享默认模式常量。frontend/src/api/admin/accounts.ts、frontend/src/components/account/EditAccountModal.vue:API 默认值、预选、排序及默认标注。现有 Git 仓库尚无提交,本次没有创建提交、发布包或服务器版本。后续如要部署,应先处理上述高优先级问题并完成独立数据库和真实调用验收。