chore(grok): 从 PR 中移除进度文档与 lockfile 噪音

- 删除 CHANNEL_MONITOR_V2_DESIGN.md(属于其它分支的设计草稿)
- 删除 backend/docs/GROK_INTEGRATION_PROGRESS.md(开发期进度记录,不属于产物)
- 还原 frontend/pnpm-lock.yaml 至 upstream/main(package.json 无变化,
  差异全部来自本地 pnpm install 重解析)
This commit is contained in:
IanShaw027
2026-08-08 10:00:56 +08:00
parent b7863650ec
commit 2e857b20b8
3 changed files with 733 additions and 794 deletions
-37
View File
@@ -1,37 +0,0 @@
# 渠道监控 V2 设计
完整设计稿见 [`docs/channel-monitor-v2-design.md`](docs/channel-monitor-v2-design.md)(若仓库未跟踪 `docs/*`,以本文件 + 代码为准)。
## 核心结论
系统设置 `channel_monitor_enabled` + `channel_monitor_mode`(`v1`|`v2`)互斥选择实现。mode=`v2` 时 V1 scheduler/手动探测不产生上游流量;mode=`v1` 时 V2 分钟聚合不运行。V2 只消费 `usage_logs` 与最终用户错误 `ops_error_logs`,绝不生成上游请求;上游尝试从 `upstream_errors` 单独统计且只返回管理员。错误按 `request_id` 去重,并保留 `cyber_policy` 的 HTTP 200 流式失败语义。
## 实现要点(与代码对齐)
| 项 | 当前实现 |
|----|----------|
| 固定 rollup | 300s / 3600s / 43200s / 86400s(5m / 1h / 12h / 1d) |
| 展示 bucket | 90m→5m,24h→1h,7d→12h,30d→24h |
| 默认 refresh | 300 秒(migration 201;仍可配置 60) |
| 默认 mode 升级 | migration 195 写入 `channel_monitor_mode=v2`(**现网 V1 舰队需在 release note 中说明**) |
| API | snapshot / models / matrix / errors / users / dimensions + admin config |
| 隐私 | 非 admin:绝对量清零;`/errors` **不含 details**;snapshot config 去掉 group_ids / model lists / ignored categories;他人身份匿名 |
| 忽略错误类 | 只下调 `error_rate`(健康分);`success_rate` 仍为真实 success/request |
## 分层保留(storage vs 有效性)
聚合每次 `RecomputeRange` 结束按 **表 + rollup 粒度** 裁剪,不再统一 35 天:
| 数据 | 保留 | 对齐 |
|------|------|------|
| `user_metrics_1m` | **3 天** | 用户维最重;榜单主要靠 user rollup |
| `metrics_1m` / `error_1m` / `hist_1m` | **7 天** | 迟到写入重叠重算 + 近期 rollup 重建 |
| rollup 300s (5m) | **7 天** | 90m 视图 + 近周细趋势 |
| rollup 3600s (1h) | **30 天** | 24h 视图 |
| rollup 43200s (12h) | **45 天** | 7d 视图 |
| rollup 86400s (1d) | **90 天** | 30d 视图 + 略长审计余量 |
| backfill / watermark 上界 | **90 天** | 与最长 1d rollup 一致 |
写入:周期重算最近 ~10 分钟;幂等 delete 窗口 + 再 insert;回填可短时写入 1m 再建 rollup,随后 1m 按 TTL 丢弃。
默认信息层级:概览 KPI → 错误率/TTFT 趋势(矩阵或折线)→ 模型/错误原因/用户排行。空筛选表示全部;模型名单非空时名单外归 `__other__`;健康色由后端阈值计算,样本不足为 unknown。
-52
View File
@@ -1,52 +0,0 @@
# Grok 完整整合进度(单 PR)
分支:`feat/grok-complete-integration`(基准 `upstream/main`)
## 已完成阶段
1. **模型目录与可配置映射** — 默认禁止 gpt/claude→grok-4.5;设置项 `grok_default_text_model` / `grok_cross_client_model_map_enabled`
2. **密码登录 + SSO 校验** — `POST .../oauth/password`、`.../oauth/sso-token`;不落库密码/raw SSO
3. **视频按模型族定价** — `groups.video_model_prices` JSONB;计费顺序:模型×分辨率 → 旧三列 → 官方默认
4. **free 档本地用量软门禁 + 支付失败临时下线** — `gateway.grok.free_quota_*`;仅明确 free 的 OAuth 走调度过滤器;402 / spending-limit 403 tempUnschedule;管理端探测不走门禁
Free 限额按 xAI 的 `rolling 24-hour window` 文案以本地最近 24 小时用量做软门禁;该计数是调度保护和展示用的近似值,不宣称等价于 xAI 未公开的内部 token/usage 计量。上游未提供绝对恢复时间时只做短周期探测,不把 429 到达或探测成功时间伪造为 `now + 24h`。
## 已完成收尾
5. **媒体与 Voice** — image/video/voice 路由、模型与分辨率计价、异步 video status 完成后一次性计费、错误语义与请求参数规范化;custom voices 覆盖创建、列表、详情、更新、删除和参考音频下载。
6. **网关协议** — Grok Responses/chat bridge、tool protocol、cache、web_search、SSE/错误过滤均以 `upstream/main` 实现为底完成;不删除 main 的 compact。
7. **管理端与前端** — OAuth/SSO/密码建号、重新授权、quota probe、调度阈值、模型映射配置和 monitor 入口已对齐。
8. **运行安全** — Redis 跨实例 OAuth 会话与一次性消费、SSO Cookie 域/路径隔离、导入 probe 有界去重队列、媒体资格失败关闭。
## 明确不纳入
- `openai_gateway_grok_active_delta.go`:legacy 的实验性 HTTP 增量优化,依赖独立设置与会话状态存储;其默认开启、强制 store 和多副本一致性风险不满足当前基线。main 的完整请求与 compact 路径保留,故不构成功能回退。
- `openai_grok_timeline.go`:跨平台网关调试时间线基础设施,不是 Grok 协议能力,且 main 无对应依赖。
- `capacity_provider_grok.go`:依赖 legacy 的通用容量预测子系统与迁移,无法独立纳入 Grok PR。
- legacy merge/CI、重复 compact、跨平台大包和删除 main 能力的提交均未搬运。
## personal-dev 覆盖矩阵
| legacy 能力/路径 | 结论 |
|---|---|
| `pkg/xai/models`, OAuth/CLI identity、billing/quota | 已在 PR 按 main 接口重构,并补运行时模型映射配置、官方 CLI 身份和账单绝对金额 |
| `pkg/xai/sso_device`, password/SSO admin flow | 已重构;raw SSO/密码不落库,CookieJar 隔离,token 限长,OAuth 凭证形状统一 |
| `grok_token_provider`, `grok_credential_failure` | main 已有等价刷新和失败分类;PR 补 reauth、模型级 quota block、team cooldown 与刷新竞态保护 |
| `grok_quota_*`, free gate、import probe | 已重构;本地 rolling usage、失败关闭媒体资格、管理探测绕过、有界去重队列均覆盖 |
| `grok_media`, audio/voice、video billing | 已重构;模型族价格、参数规范化、status done 后原子一次性计费和错误语义均覆盖 |
| `openai_gateway_grok*` chat/tools/cache/SSE | 以 main 的 Responses/chat bridge、tool protocol、cache、compact 为准增量增强;未搬运删除 compact 的分叉 |
| web search、admin settings、前端 OAuth/SSO/password/monitor | 已在同一 PR 完成后端路由、计费字段、设置项、入口和回归测试 |
| migration 157/176/181/182/190 | 旧分叉重复编号或清理迁移;main 已有 Grok schema,PR 新字段使用当前迁移序号,不复用旧编号 |
| timeline、capacity provider、HTTP active-delta | 仅这三类明确排除,理由见上节;均非 main 基线功能正确性能力 |
## 原则
以 main 为底重写,不整文件 pick personal-dev;migration 使用新序号(如 217)。
## 验证
- Backend Grok/xAI/redissession、service、repository、admin probe 定向单测通过。
- Frontend `vue-tsc --noEmit`、lint 和全量 Vitest 均通过(211 个文件、1475 个测试)。
- Backend `go test -tags=unit ./...` 通过;custom voices CRUD/audio 路由有注册回归测试。
历史阶段 4–8 的本地实现已在上述收尾阶段合并记录;本文件不再保留“待完成”状态,避免与当前单 PR 内容冲突。
+733 -705
View File
File diff suppressed because it is too large Load Diff