Files
Fabric/docs/TODO-backend-center-guild.md

121 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TODO - Backend Center/Guild 开发任务分解
## 0. 基础工程(本周)
- [x] Backend 拆分Center / Guild
- [x] NestJS skeleton 初始化Center/Guild
- [x] MySQL + TypeORM 接入
- [x] DockerfileCenter/Guild
- [x] docker-composecenter/guild + mysql
- [x] 增加 `.env.example`Center/Guild
- [x] 增加统一 lint/format 配置eslint + prettier
- [x] 增加基础 CIbuild + lint
---
## 1. Fabric.Backend.CenterIdentity Hub
### 1.1 Auth
- [x] 用户注册email/password
- [x] 用户登录JWT access + refresh
- [x] token 刷新
- [x] 登出refresh token 失效)
- [x] 密码哈希bcrypt/argon2
- [x] DTO + 参数校验 + 错误码规范
### 1.2 Guild Node 注册与握手
- [x] `POST /nodes/register` shared-secret 校验
- [x] node 唯一性校验nodeId/endpoint
- [x] node 状态模型active/offline/revoked
- [x] `GET /nodes` 列表 + 分页
- [x] node 心跳接口(可选)
### 1.3 Center 运维能力
- [x] 审计日志auth/node 关键操作)
- [x] 健康检查深化DB ready
- [x] 配置校验(启动时必填项检查)
---
## 2. Fabric.Backend.GuildGuild Node
### 2.1 领域模型
- [x] Guild/Channel/DM 实体补全
- [x] Member/Role 基础模型(即使 MVP 权限全开,也先留结构)
- [x] 索引设计channel_id + seq, created_at 等)
### 2.2 消息主链路
- [x] 发送消息content/reply/mentions/attachments 元数据)
- [x] 编辑消息(可编辑窗口策略先简化)
- [x] 删除消息(软删 vs 硬删,先定策略)
- [x] `GET messages` 分页seq 区间 + limit
- [x] seq 分配改为 DB 原子方案(避免并发冲突)
### 2.3 一致性与回补
- [x] 回补接口:`seq_from/seq_to`
- [x] 断片检测辅助响应字段next_expected_seq 等)
- [x] 幂等键支持(写接口)
### 2.4 实时通信MVP 后半)
- [x] WebSocket 网关接入
- [x] message.created/updated/deleted 事件广播
- [x] 在线状态 + typing 事件
---
## 3. Center ↔ Guild 协议层
- [x] 鉴权方案定稿node token / HMAC
- [x] 注册握手协议文档化
- [x] 错误码与重试策略统一
- [x] 版本协商(`X-Fabric-Version`
---
## 4. 插件与扩展面(为 OpenclawPlugin 准备)
- [x] Webhook 事件信封落地event_id/event_type/occurred_at/data
- [x] HMAC 签名与重放防护
- [x] 出站重试队列(指数退避)
- [x] API Key 入站调用鉴权(不区分 Bot/人类)
---
## 5. 测试与质量门禁
### 5.1 自动化测试
- [x] 单元测试auth/service/message/seq
- [x] 集成测试MySQL + API
- [x] 合约测试Center-Guild 协议)
### 5.2 质量门禁
- [x] lint/typecheck/build 全绿
- [x] API 文档OpenAPI/Swagger
- [ ] 关键链路压测(发送/拉取/回补)
---
## 6. 部署与运维
- [x] `docker-compose.prod.yml`(去掉 `DB_SYNC=true`
- [x] DB migration 机制TypeORM migration
- [x] 结构化日志 + request id
- [x] 基础监控指标QPS、延迟、错误率
- [ ] 备份与恢复流程文档
---
## 7. 推荐执行顺序(建议)
1. Center Auth 完整闭环
2. Guild 消息链路 + DB 原子 seq
3. Center-Guild 握手协议固定
4. WebSocket 实时层
5. 插件扩展面 + 回调重试
6. 测试、压测、发布文档
---
## 8. Definition of DoneMVP
- [ ] 用户可注册登录
- [ ] Guild/Channel/DM 可创建并发消息
- [ ] 消息 seq 连续可回补
- [ ] WebSocket 可实时收发
- [ ] 插件可通过 Bot Token 写入消息并接收 webhook
- [ ] docker-compose 一键部署可用