# TODO - Backend Center/Guild 开发任务分解 ## 0. 基础工程(本周) - [x] Backend 拆分:Center / Guild - [x] NestJS skeleton 初始化(Center/Guild) - [x] MySQL + TypeORM 接入 - [x] Dockerfile(Center/Guild) - [x] docker-compose(center/guild + mysql) - [x] 增加 `.env.example`(Center/Guild) - [x] 增加统一 lint/format 配置(eslint + prettier) - [x] 增加基础 CI(build + lint) --- ## 1. Fabric.Backend.Center(Identity 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.Guild(Guild 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) - [ ] 结构化日志 + request id - [ ] 基础监控指标(QPS、延迟、错误率) - [ ] 备份与恢复流程文档 --- ## 7. 推荐执行顺序(建议) 1. Center Auth 完整闭环 2. Guild 消息链路 + DB 原子 seq 3. Center-Guild 握手协议固定 4. WebSocket 实时层 5. 插件扩展面 + 回调重试 6. 测试、压测、发布文档 --- ## 8. Definition of Done(MVP) - [ ] 用户可注册登录 - [ ] Guild/Channel/DM 可创建并发消息 - [ ] 消息 seq 连续可回补 - [ ] WebSocket 可实时收发 - [ ] 插件可通过 Bot Token 写入消息并接收 webhook - [ ] docker-compose 一键部署可用