docs(accounts): record p3-t2 remote verification

This commit is contained in:
phamnazage-jpg
2026-05-29 16:02:26 +08:00
parent d8d9e6e170
commit ad94feab72

View File

@@ -438,6 +438,68 @@
- 插件侧已经具备“帐号库存列表 + 人工启停状态”的最小资产闭环
- 首版语义仍然是“插件库存状态”,不是“宿主账号状态联动”
- `P3-T2` 可以直接继续做帐号资产页和 route / shadow group 归属展示
- 2026-05-29 已完成 Phase 3 / `P3-T2 帐号资产页与归属展示`
- 提交:
- `c982c595 feat(accounts): add provider account admin view`
- `d8d9e6e1 fix(accounts): tolerate ambiguous shadow bindings`
- 新增管理页:
- `deploy/tksea-portal/admin/accounts.html`
- 公网地址:`https://sub.tksea.top/portal/admin/accounts.html`
- 当前页面能力:
- 列出 `provider_accounts`
-`host_id / provider_id / logical_group_id / route_id / shadow_group_id / account_status / q` 过滤
- 详情区展示:
- `provider`
- `host`
- `logical_group`
- `route`
- `shadow_group`
- `shadow_host`
- `upstream_base_url_hint`
- `last_probe_status`
- 直接触发:
- `POST /api/provider-accounts/{account_id}/enable`
- `POST /api/provider-accounts/{account_id}/disable`
- `POST /api/provider-accounts/{account_id}/retire`
- 后端归属补齐规则已收口:
-`shadow_host_id + shadow_group_id` 只命中一条 `logical_group_route`,则自动回填 `route_id`
- 若命中多条 route则不再返回 `500`;改为保留 `shadow_group`,并把 `route / logical_group` 显式留空,等待后续运营整理
- 本地门禁已通过:
- `gofmt -l .`
- `go vet ./...`
- `go test -cover ./internal/...`
- `go test ./tests/integration/... -count=1`
- `bash ./scripts/test/test_tksea_portal_assets.sh`
- `bash ./scripts/test/test_real_host_scripts.sh`
- remote43 已原位升级到:
- `repo HEAD = d8d9e6e1`
- CRM 活跃监听 PID`2015702`
- `http://127.0.0.1:18173/healthz` 返回 `ok`
- portal 已重新发布,`https://sub.tksea.top/portal/admin/accounts.html` 返回 `200`
- remote43 真实验证已通过:
- 页面回读:
- `page_title=Provider Accounts Admin`
- `page_nav=/portal/admin/accounts.html`
- `GET /api/provider-accounts`
- 返回样本:
- `id=1`
- `provider_id=gpt-asxs-shadow-lab`
- `account_status=active`
- `shadow_group_id=9`
- `shadow_host=proxy-real-host-1780026133`
- 同一条样本的启停动作:
- `disable -> list` 保持 `disabled`
- `enable -> list` 恢复 `active`
- `retire -> list` 保持 `deprecated`
- 验证完成后已恢复为 `active`
- 当前 remote43 真相:
- 这条现网样本的 `logical_group / route` 当前仍为空
- 根因不是列表页丢字段,而是 remote43 上有多条 `logical_group_route` 复用同一 `shadow_host_id + shadow_group_id`
- 当前系统已把这种情况从“500 致命错误”降级成“可读但未归属”的显式状态
- 当前结论:
- 管理员已经能通过统一页面查看帐号资产、筛选 `shadow_group`、执行人工启停
- `route / logical_group` 归属在唯一 shadow binding 下会自动补齐;在歧义 shadow binding 下会显式显示未归属
- `P3-T3` 可以继续做“帐号资产与 route 的显式整理动作”或更完整的运营看板
- 2026-05-28 已完成 Phase 1 / `P1-T1 SQLite schema foundation`
- 提交:`7f75d8a6 feat(routing): add logical group schema foundation`
- 新 migration`internal/store/migrations/0010_logical_groups_and_routes.sql`