# 账号编辑与流量控制:本地修复结果 已按本地审查报告修复问题,并采用分区编辑方案。此次没有连接服务器、没有部署、没有访问实际业务数据库或调用真实上游。服务器仍是之前发布的版本,本地修复尚未上线。 ## 账号编辑的新组织方式 账号信息摘要位于顶部,下面分为“基本信息”“连接与模型”“保护与流量”“计费与高级”。切换分区只切换显示,不销毁草稿。诊断策略默认折叠,当前正在使用的诊断策略仍可见;策略按钮与说明不再挤在同一横排中。 固定并发、完整性检查、RPM、自适应并发集中在“保护与流量”。固定并发仍由管理员自由设置,所有策略都不再以 4 / 8 / 16 锁定上限。建议参数只填入,管理员可以继续修改。 RPM、自适应与并发随底部的账号保存一次提交,不再在账号编辑中使用第二个独立保存按钮。策略预览、应用、保护开关和还原保留独立立即生效的操作,界面明确说明其影响;应用策略会保留未保存的并发等编辑草稿。 ## 审查问题的处理 | 问题 | 本地处理结果 | | --- | --- | | R01 旧流量配置回写 | 移除跨编辑会话保留的 `savedTrafficPolicy` 覆盖对象;重新打开按账号快照初始化草稿 | | R02 两套保存竞争 | 账号编辑统一提交;保存期间禁止重复提交和策略修改,输入控件禁用 | | R03 普通保存丢流量草稿 | 流量修改随账号提交;脏表单显示未保存提示,取消时先确认 | | R04 策略切换覆盖并发输入 | 只在并发没有被手动修改时回填服务端值;脏表单不会被同账号刷新整体覆盖 | | R05 隐藏输入阻塞 / 无法关闭 | 独立组件模式隔离表单归属;停用时规范化隐藏的非法数值;统一编辑时校验失败会切到对应分区 | | R06 旧刷新覆盖新状态 | 保存和刷新使用递增请求版本及取消机制;旧请求不能覆盖已保存的新状态,刷新有进行中标识 | | R07 Esc 连关父子弹窗 | 新增共享弹窗栈,仅最上层响应 Esc,补充焦点循环和唯一标题 ID | | R08 子弹窗解除背景滚动锁 | 滚动锁按仍打开的弹窗统一维护,不由单个子弹窗直接清除 | | R09 纯观察旧计划被拒绝 | Redis 明确区分当前策略是否执行硬限制;新旧都为观察时跳过旧观测,不阻断业务;新策略开启硬限制时仍拒绝旧计划 | | R10 结束事件漏计 429 | HTTP SSE 与 WebSocket 共用终止事件分类,读取嵌套失败原因;429、5xx、取消、不完整和成功分别处理 | | R11 调低 RPM 后等待偏短 | 按需要退出窗口的请求数量选取时间边界;示例已从错误的 30 秒修正为 50 秒 | | R12 实时语音计数口径缺口 | 采用明确拒绝不支持组合的方案,详见下一节;不把按连接统计冒充逐轮硬限制 | 关闭保护的提示已修正为“还原身份与传输,保留管理员并发”。完整性选项使用与界面一致的策略名称说明默认行为。 另外补修了两处相关问题:本地流量拒绝不再报告为账号调度健康失败;Grok 实时语音的握手超时上下文与会话生命周期分开,结束握手不会取消仍在运行的纯观察会话。普通账号保存也会同步流量控制的缓存版本。 ## Grok 实时语音的明确限制 当前代码无法保证在 Grok 自动语音生成的每个轮次开始前执行原子准入。因此,账号开启严格 RPM 或自动并发时,实时语音入口会在拨号前返回明确的配置不兼容错误;不会将其归为账号故障。 管理员可使用 HTTP 语音接口,或将该账号设为仅观察(关闭严格 RPM 和自动并发)。仅观察的实时语音仍按会话统计。对应提示已经放在 Grok 账号的流量设置中。这是功能限制的显式处理,尚未实现自动语音逐轮硬限制。 ## 验证结果 | 验证 | 结果 | | --- | --- | | 前端全量 Vitest | 2,072 项通过,0 失败 | | 后端全量 `go test -tags=unit ./...` | 19,410 个测试及子测试通过,0 失败,29 跳过 | | Vue 类型检查 | 通过 | | 前端 ESLint | 通过 | | 前端生产构建 | 通过,输出到本机临时目录 | | 后端构建 | 通过,输出到本机临时目录 | 新回归测试进入正常用例目录,覆盖统一提交、重复保存、重新打开、并发草稿、草稿关闭确认、状态乱序、表单归属、弹窗栈、观察配置切换、调低 RPM、结束事件分类和 Grok 不支持组合拒绝。对已经移除的独立保存操作,用“一次提交完成且没有第二次写入”的断言替代旧复现。 原审查中失败的日志和 overlay 用例保留为历史证据。关闭功能时的处理选择了前端规范化,因此没有为通过历史的后端断言而放宽所有配置校验;观察模式也不会对任意拒绝无条件放行。应以本次常规回归结果判断修复状态。 本轮未重复执行实际 PostgreSQL 专项,因为没有新增表结构或迁移;数据库依赖测试在全量 unit 中的跳过不能算作通过。前端构建仍有既有的包体积与浏览器兼容数据提醒,不影响构建成功。 ## 验收边界与下一步 浏览器工具返回 `Codex auth token is unavailable`,无法取得本地浏览器会话。本次没有完成多分辨率目视验收,不能用组件测试替代截图验收。该问题来自浏览器工具认证,不是项目登录或服务器故障,也没有因此连接服务器排查。 本地修改涉及共享弹窗组件,虽然全量前端测试通过,仍应在浏览器可用时检查账号编辑、嵌套确认、深色模式和窄屏布局。没有修改默认“初代兼容”、B 方案评分口径和鹈鹕图片展示逻辑。 产物: - 前端:`C:/Users/30214/AppData/Local/Temp/sub2-ui-repairs-20260915` - 后端:`C:/Users/30214/AppData/Local/Temp/sub2-ui-repairs-20260915.exe` - 前端全量证据:`verification/latest-review-20260915/fix-frontend-full.json` - 原审查:`LATEST_REVIEW_2026-09-15.md` 这些是本地修复和验证产物,未上传或替换服务器程序。