merge: usage 用量 + 广告解锁 [tsk_1taxhtV2k3RP]
# Conflicts: # server/internal/apierr/apierr.go
This commit is contained in:
+309
-9
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "doc — 项目 TODO",
|
||||
"updated_at": "2026-06-11T15:48:46.142Z"
|
||||
"updated_at": "2026-06-11T16:33:27.008Z"
|
||||
},
|
||||
"seq": 18,
|
||||
"items": [
|
||||
@@ -15,11 +15,77 @@
|
||||
"后端",
|
||||
"数据库"
|
||||
],
|
||||
"status": "open",
|
||||
"status": "doing",
|
||||
"created_at": "2026-06-11T15:48:05.656Z",
|
||||
"done": false,
|
||||
"completed_at": null,
|
||||
"version": null
|
||||
"version": null,
|
||||
"subtasks": [
|
||||
{
|
||||
"sid": "1A",
|
||||
"title": "Go 模块骨架 + 工具链(go.mod/tools.go/Makefile)",
|
||||
"tier": 1,
|
||||
"deps": [],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:18.892Z"
|
||||
},
|
||||
{
|
||||
"sid": "1B",
|
||||
"title": "MySQL migration 7 文件 + plans seed",
|
||||
"tier": 1,
|
||||
"deps": [],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:18.952Z"
|
||||
},
|
||||
{
|
||||
"sid": "1C",
|
||||
"title": "openapi.yaml 契约(13 操作 + 全量 schema)",
|
||||
"tier": 1,
|
||||
"deps": [],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:19.013Z"
|
||||
},
|
||||
{
|
||||
"sid": "1D",
|
||||
"title": "oapi-codegen 接线 + 生成代码入库",
|
||||
"tier": 1,
|
||||
"deps": [
|
||||
"1A",
|
||||
"1C"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:19.070Z"
|
||||
},
|
||||
{
|
||||
"sid": "1E",
|
||||
"title": "config + store(UTC DSN) + 自动迁移",
|
||||
"tier": 1,
|
||||
"deps": [
|
||||
"1A",
|
||||
"1B"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:19.125Z"
|
||||
},
|
||||
{
|
||||
"sid": "1F",
|
||||
"title": "apierr + idgen + CONVENTIONS.md",
|
||||
"tier": 2,
|
||||
"deps": [
|
||||
"1A"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:19.182Z"
|
||||
}
|
||||
],
|
||||
"gate": {
|
||||
"kind": "plan",
|
||||
"note": "openapi.yaml 13 端点 + MySQL 12 表 migration + plans seed;golang-migrate/oapi-codegen/chi;connect 返回 sing-box 凭证",
|
||||
"ref": "doc/plans/01-openapi-mysql.md",
|
||||
"approval": "pending",
|
||||
"proposed_at": "2026-06-11T16:33:26.856Z",
|
||||
"approved_at": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
@@ -75,11 +141,68 @@
|
||||
"tags": [
|
||||
"后端"
|
||||
],
|
||||
"status": "open",
|
||||
"status": "doing",
|
||||
"created_at": "2026-06-11T15:48:05.872Z",
|
||||
"done": false,
|
||||
"completed_at": null,
|
||||
"version": null
|
||||
"version": null,
|
||||
"subtasks": [
|
||||
{
|
||||
"sid": "5A",
|
||||
"title": "proto 契约 + buf 工具链(最先冻结)",
|
||||
"tier": 1,
|
||||
"deps": [],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:19.245Z"
|
||||
},
|
||||
{
|
||||
"sid": "5B",
|
||||
"title": "mTLS/CA + 引导 token 框架",
|
||||
"tier": 1,
|
||||
"deps": [],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:19.299Z"
|
||||
},
|
||||
{
|
||||
"sid": "5C",
|
||||
"title": "gRPC server + hub + 跨实例 pub/sub",
|
||||
"tier": 1,
|
||||
"deps": [
|
||||
"5A",
|
||||
"5B"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:19.356Z"
|
||||
},
|
||||
{
|
||||
"sid": "5D",
|
||||
"title": "目录灰度 + connect/disconnect + 凭证编排",
|
||||
"tier": 1,
|
||||
"deps": [
|
||||
"5C"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:19.415Z"
|
||||
},
|
||||
{
|
||||
"sid": "5E",
|
||||
"title": "生命周期状态机接口(供 #15)",
|
||||
"tier": 1,
|
||||
"deps": [
|
||||
"5C"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:19.471Z"
|
||||
}
|
||||
],
|
||||
"gate": {
|
||||
"kind": "plan",
|
||||
"note": "agent gRPC proto(buf) + 控制面 nodes 模块;agent 主动拨号、下发服务端流、mTLS 内部CA、目录 version 灰度",
|
||||
"ref": "doc/plans/05-nodes-grpc.md",
|
||||
"approval": "pending",
|
||||
"proposed_at": "2026-06-11T16:33:26.908Z",
|
||||
"approved_at": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
@@ -174,11 +297,99 @@
|
||||
"mac",
|
||||
"Windows"
|
||||
],
|
||||
"status": "open",
|
||||
"status": "doing",
|
||||
"created_at": "2026-06-11T15:48:25.745Z",
|
||||
"done": false,
|
||||
"completed_at": null,
|
||||
"version": null
|
||||
"version": null,
|
||||
"subtasks": [
|
||||
{
|
||||
"sid": "11A",
|
||||
"title": "数据面定稿 + 修订 ARCHITECTURE.md connect 契约",
|
||||
"tier": 1,
|
||||
"deps": [],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:37.334Z"
|
||||
},
|
||||
{
|
||||
"sid": "11B",
|
||||
"title": "app/kernel 构建管线(AAR/XCFramework/桌面二进制)",
|
||||
"tier": 1,
|
||||
"deps": [],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:37.389Z"
|
||||
},
|
||||
{
|
||||
"sid": "11C",
|
||||
"title": "桥接 API 面(Channel 契约 + 三端原生骨架)",
|
||||
"tier": 1,
|
||||
"deps": [],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:37.447Z"
|
||||
},
|
||||
{
|
||||
"sid": "11D",
|
||||
"title": "桌面端 PoC M1(首发打通)",
|
||||
"tier": 1,
|
||||
"deps": [
|
||||
"11A",
|
||||
"11B",
|
||||
"11C"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:37.504Z"
|
||||
},
|
||||
{
|
||||
"sid": "11E",
|
||||
"title": "Android 端 PoC M2",
|
||||
"tier": 1,
|
||||
"deps": [
|
||||
"11B",
|
||||
"11C"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:37.561Z"
|
||||
},
|
||||
{
|
||||
"sid": "11F",
|
||||
"title": "iOS 端 PoC M3 + entitlement 申请",
|
||||
"tier": 1,
|
||||
"deps": [
|
||||
"11B",
|
||||
"11C"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:37.616Z"
|
||||
},
|
||||
{
|
||||
"sid": "11G",
|
||||
"title": "URLTest + Kill-switch + 弹性重连 M4/M5",
|
||||
"tier": 2,
|
||||
"deps": [
|
||||
"11D"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:37.672Z"
|
||||
},
|
||||
{
|
||||
"sid": "11H",
|
||||
"title": "控制面联调 M6",
|
||||
"tier": 2,
|
||||
"deps": [
|
||||
"11A"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:37.731Z"
|
||||
}
|
||||
],
|
||||
"gate": {
|
||||
"kind": "plan",
|
||||
"note": "gomobile libbox + Platform Channel + 三端壳;首发桌面→Android→iOS;含数据面定稿 11A",
|
||||
"ref": "doc/plans/11-libbox-bridge.md",
|
||||
"approval": "pending",
|
||||
"proposed_at": "2026-06-11T16:33:26.957Z",
|
||||
"approved_at": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
@@ -237,11 +448,100 @@
|
||||
"tags": [
|
||||
"后端"
|
||||
],
|
||||
"status": "open",
|
||||
"status": "doing",
|
||||
"created_at": "2026-06-11T15:48:45.987Z",
|
||||
"done": false,
|
||||
"completed_at": null,
|
||||
"version": null
|
||||
"version": null,
|
||||
"subtasks": [
|
||||
{
|
||||
"sid": "15A",
|
||||
"title": "探针汇聚入口 + Redis 探针存储",
|
||||
"tier": 1,
|
||||
"deps": [],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:37.789Z"
|
||||
},
|
||||
{
|
||||
"sid": "15B",
|
||||
"title": "轻量探针客户端 L1/L2/L3",
|
||||
"tier": 1,
|
||||
"deps": [
|
||||
"15A"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:37.845Z"
|
||||
},
|
||||
{
|
||||
"sid": "15C",
|
||||
"title": "第三方拨测 API 适配",
|
||||
"tier": 2,
|
||||
"deps": [
|
||||
"15A"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:37.900Z"
|
||||
},
|
||||
{
|
||||
"sid": "15D",
|
||||
"title": "判定引擎 signals+rules+streak",
|
||||
"tier": 1,
|
||||
"deps": [
|
||||
"15A"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:37.959Z"
|
||||
},
|
||||
{
|
||||
"sid": "15E",
|
||||
"title": "自动更换编排 + 养机灰度",
|
||||
"tier": 1,
|
||||
"deps": [
|
||||
"15D"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:38.015Z"
|
||||
},
|
||||
{
|
||||
"sid": "15F",
|
||||
"title": "容量水位 + 熔断器",
|
||||
"tier": 2,
|
||||
"deps": [
|
||||
"15E"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:38.072Z"
|
||||
},
|
||||
{
|
||||
"sid": "15G",
|
||||
"title": "告警出口 TG bot + runbook",
|
||||
"tier": 2,
|
||||
"deps": [
|
||||
"15D"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:38.130Z"
|
||||
},
|
||||
{
|
||||
"sid": "15H",
|
||||
"title": "scheduler 装配 + 选主 + 优雅退出",
|
||||
"tier": 1,
|
||||
"deps": [
|
||||
"15D",
|
||||
"15E"
|
||||
],
|
||||
"status": "open",
|
||||
"created_at": "2026-06-11T16:14:38.187Z"
|
||||
}
|
||||
],
|
||||
"gate": {
|
||||
"kind": "plan",
|
||||
"note": "探针汇聚入口 + 三路互证判定引擎 + make-before-break 自动更换 + 熔断;Go 单体 goroutine + Redis 选主",
|
||||
"ref": "doc/plans/15-probe-scheduler.md",
|
||||
"approval": "pending",
|
||||
"proposed_at": "2026-06-11T16:33:27.007Z",
|
||||
"approved_at": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
|
||||
Reference in New Issue
Block a user