# doc — 项目 TODO

重要度
状态
改动等级
平台 / 标签
📋 待开始 14 ▴ 收起

- OpenAPI 契约 + MySQL migration 基线
  待开始 高优 · 紧急 一级
  依据 doc/02、doc/03：openapi.yaml 展开全部 /v1 契约（connect 返回 sing-box 凭证而非 WG peer）；MySQL 8 全量 DDL（users/devices/plans/subscriptions/codes/usage_daily/audit_log + providers/node_events/directory_version）。后端各模块的共同前置。
- nodes 模块 + agent gRPC 协议设计
  待开始 高优 · 紧急 一级
  proto 定义（注册/心跳/凭证下发与回收/用量上报，mTLS 双向）、节点目录 version 灰度（if_version 304）、connect/disconnect 下发 REALITY/Hy2 参数、free 凭证 TTL。依赖 #1。
- Flutter 客户端工程搭建（演示态跑通）
  待开始 高优 · 紧急 二级
  用 design/flutter/ 起步包建工程：pubspec 覆盖、theme/widgets/main 拷入、字体配置，flutter run 出登录→引导→主框架演示态。前端线起点，可与后端完全并行。
- sing-box libbox 桥接 PoC（三端隧道）
  待开始 高优 · 紧急 一级
  gomobile AAR/XCFramework + iOS NetworkExtension / Android VpnService / 桌面 TUN 子进程；URLTest 智能选线、Kill-switch。全项目最大技术风险，应尽早并行启动。
- 探针判封 + 自动更换 scheduler
  待开始 高优 · 紧急 一级
  境内多 ISP 拨测 + 境外对照 + 流量骤降三路互证；blocked_suspect/confirmed 状态机、阈值与熔断、池水位告警、自动补新。依赖 #5、#14。
- auth 模块（验证码/注册/登录/JWT）
  待开始 重要 二级
  邮箱验证码限频、注册自动 7 天 PRO 试用、argon2id、JWT RS256（access 15min + refresh 30d）、Redis 滑窗限流。依赖 #1。
- codes 激活码模块
  待开始 重要 二级
  批量生成（Crockford Base32 + 校验位，库存 hash）、发卡店 webhook（HMAC）、兑换幂等 + 订阅顺延叠加、失败锁定、audit_log。依赖 #1。
- devices + 订阅校验中间件
  待开始 重要 二级
  设备登记/移除（同步回收节点侧凭证）、套餐/到期/设备数校验中间件。依赖 #1、#2。
- 节点 agent 实现
  待开始 重要 二级
  轻量 agent：mTLS 自注册、心跳、sing-box 用户表增删（凭证下发/回收/TTL）、负载上报 Redis；cloud-init 一段式安装。依赖 #5 的 proto。
- usage 用量 + 广告解锁
  待开始 重要 二级
  usage_daily 聚合（仅字节/分钟，无日志口径）、/v1/ads/unlock 验广告 SDK 回执、free 用户 connect 额度校验。依赖 #1。
- Flutter 逐屏还原 + iPad 断点
  待开始 重要 二级
  对照 ui_kits/mobile + tablet 逐屏补齐：智能选择推荐卡、免费额度卡+看广告解锁、Tab 滑动切换、宽度 ≥900 切侧栏分栏（连接页双栏/节点双列网格）；四态验证（明暗×中英）。依赖 #9。
- 官网 Astro 迁移
  待开始 重要 二级
  ui_kits/website → Astro SSG + Cloudflare Pages 多镜像；保留 i18n 单显、响应式断点、全部脱敏文案。完全独立可并行。
- Web 用户中心（Next.js）
  待开始 重要 二级
  ui_kits/usercenter React 组件直接复用；先 mock 数据，后接 me/redeem/devices；TOTP 2FA。UI 部分独立并行，接口联调依赖 #2。
- 弹性节点基建：Terraform + 一键更换
  待开始 重要 二级
  多厂商 API 适配层（providers 池）、cloud-init 模板、replace 一键更换（make-before-break）与全量滚动轮换、换 IP 不换机。依赖 #6 的 agent。
- 域名池 + CDN 前置 + 签名端点分发
  待开始 重要 二级
  四组域名隔离与冷备池、源站隐藏（回源鉴权）、Ed25519 签名端点更新与公告 JSON 多镜像、客户端 DoH/IP 直连兜底联动。可独立并行。
- 备份与灾备演练
  待开始 重要 三级
  xtrabackup 每日全量 + binlog 15min 增量、age 加密异地（独立身份账号）、月度恢复演练脚本、RPO≤15min/RTO≤4h 验证。
- 管理端最小后台
  待开始 一般 / 优化 二级
  码批次生成导出、节点操作（replace/draining）、audit_log 查看；独立监听 + 内网白名单 + 2FA。依赖 #1。
- CI 流水线
  待开始 一般 / 优化 三级
  lint + 单测 + OpenAPI 同步校验 + 脱敏红线词扫描（UI 文案资源）+ 容器镜像构建。

🔨 开发中 4 ▴ 收起

- OpenAPI 契约 + MySQL migration 基线
  开发中 高优 · 紧急 一级 0/6 子任务
  依据 doc/02、doc/03：openapi.yaml 展开全部 /v1 契约（connect 返回 sing-box 凭证而非 WG peer）；MySQL 8 全量 DDL（users/devices/plans/subscriptions/codes/usage_daily/audit_log + providers/node_events/directory_version）。后端各模块的共同前置。
  ⏸ 待确认 一级方案规划 · 确认后方可继续开发
  openapi.yaml 13 端点 + MySQL 12 表 migration + plans seed；golang-migrate/oapi-codegen/chi；connect 返回 sing-box 凭证
  📄 详见 `doc/plans/01-openapi-mysql.md`
  在终端运行：
  `/todo approve 1`
  子任务 0 / 6 完成
  - ○ 1A Go 模块骨架 + 工具链(go.mod/tools.go/Makefile)
    一级待开始
  - ○ 1B MySQL migration 7 文件 + plans seed
    一级待开始
  - ○ 1C openapi.yaml 契约(13 操作 + 全量 schema)
    一级待开始
  - ○ 1D oapi-codegen 接线 + 生成代码入库
    一级待开始依赖:1A1C
  - ○ 1E config + store(UTC DSN) + 自动迁移
    一级待开始依赖:1A1B
  - ○ 1F apierr + idgen + CONVENTIONS.md
    二级待开始依赖:1A
- nodes 模块 + agent gRPC 协议设计
  开发中 高优 · 紧急 一级 0/5 子任务
  proto 定义（注册/心跳/凭证下发与回收/用量上报，mTLS 双向）、节点目录 version 灰度（if_version 304）、connect/disconnect 下发 REALITY/Hy2 参数、free 凭证 TTL。依赖 #1。
  ⏸ 待确认 一级方案规划 · 确认后方可继续开发
  agent gRPC proto(buf) + 控制面 nodes 模块；agent 主动拨号、下发服务端流、mTLS 内部CA、目录 version 灰度
  📄 详见 `doc/plans/05-nodes-grpc.md`
  在终端运行：
  `/todo approve 5`
  子任务 0 / 5 完成
  - ○ 5A proto 契约 + buf 工具链(最先冻结)
    一级待开始
  - ○ 5B mTLS/CA + 引导 token 框架
    一级待开始
  - ○ 5C gRPC server + hub + 跨实例 pub/sub
    一级待开始依赖:5A5B
  - ○ 5D 目录灰度 + connect/disconnect + 凭证编排
    一级待开始依赖:5C
  - ○ 5E 生命周期状态机接口(供 #15)
    一级待开始依赖:5C
- sing-box libbox 桥接 PoC（三端隧道）
  开发中 高优 · 紧急 一级 0/8 子任务
  gomobile AAR/XCFramework + iOS NetworkExtension / Android VpnService / 桌面 TUN 子进程；URLTest 智能选线、Kill-switch。全项目最大技术风险，应尽早并行启动。
  ⏸ 待确认 一级方案规划 · 确认后方可继续开发
  gomobile libbox + Platform Channel + 三端壳；首发桌面→Android→iOS；含数据面定稿 11A
  📄 详见 `doc/plans/11-libbox-bridge.md`
  在终端运行：
  `/todo approve 11`
  子任务 0 / 8 完成
  - ○ 11A 数据面定稿 + 修订 ARCHITECTURE.md connect 契约
    一级待开始
  - ○ 11B app/kernel 构建管线(AAR/XCFramework/桌面二进制)
    一级待开始
  - ○ 11C 桥接 API 面(Channel 契约 + 三端原生骨架)
    一级待开始
  - ○ 11D 桌面端 PoC M1(首发打通)
    一级待开始依赖:11A11B11C
  - ○ 11E Android 端 PoC M2
    一级待开始依赖:11B11C
  - ○ 11F iOS 端 PoC M3 + entitlement 申请
    一级待开始依赖:11B11C
  - ○ 11G URLTest + Kill-switch + 弹性重连 M4/M5
    二级待开始依赖:11D
  - ○ 11H 控制面联调 M6
    二级待开始依赖:11A
- 探针判封 + 自动更换 scheduler
  开发中 高优 · 紧急 一级 0/8 子任务
  境内多 ISP 拨测 + 境外对照 + 流量骤降三路互证；blocked_suspect/confirmed 状态机、阈值与熔断、池水位告警、自动补新。依赖 #5、#14。
  ⏸ 待确认 一级方案规划 · 确认后方可继续开发
  探针汇聚入口 + 三路互证判定引擎 + make-before-break 自动更换 + 熔断；Go 单体 goroutine + Redis 选主
  📄 详见 `doc/plans/15-probe-scheduler.md`
  在终端运行：
  `/todo approve 15`
  子任务 0 / 8 完成
  - ○ 15A 探针汇聚入口 + Redis 探针存储
    一级待开始
  - ○ 15B 轻量探针客户端 L1/L2/L3
    一级待开始依赖:15A
  - ○ 15C 第三方拨测 API 适配
    二级待开始依赖:15A
  - ○ 15D 判定引擎 signals+rules+streak
    一级待开始依赖:15A
  - ○ 15E 自动更换编排 + 养机灰度
    一级待开始依赖:15D
  - ○ 15F 容量水位 + 熔断器
    二级待开始依赖:15E
  - ○ 15G 告警出口 TG bot + runbook
    二级待开始依赖:15D
  - ○ 15H scheduler 装配 + 选主 + 优雅退出
    一级待开始依赖:15D15E

🔍 待验收 1 ▴ 收起

- Flutter 逐屏还原+iPad断点: l10n/Riverpod/三态连接/推荐卡/额度卡/Tab滑动/≥900分栏/golden/CI红线
  待验收 重要

✅ 已验收 0 ▾ 展开

暂无条目

### 拒绝验收

拒绝原因*
请填写拒绝原因
在终端运行以下命令：
``