docs: capture architecture and MVP decisions from latest discussion
This commit is contained in:
25
PLAN.md
25
PLAN.md
@@ -14,34 +14,46 @@
|
||||
|
||||
## 3. MVP 必要功能
|
||||
1. **账号与组织**
|
||||
- 用户注册/登录
|
||||
- 工作区(Workspace,对标 Discord Guild)
|
||||
- 用户注册/登录(由中心服务负责)
|
||||
- Guild 归属到某个中心服务(非全局单体)
|
||||
2. **聊天模型(明确范围)**
|
||||
- Guild(工作区)
|
||||
- Channel(公开/私有频道)
|
||||
- DM(1v1 私聊)
|
||||
- 消息回复、编辑、删除、@提及
|
||||
- 附件、表情、引用
|
||||
- **不做 Thread(明确排除)**
|
||||
- **不做已读回执(明确排除)**
|
||||
3. **实时通信**
|
||||
- WebSocket 实时消息推送
|
||||
- 在线状态、输入中、消息同步
|
||||
- 客户端检测到消息序号断片时,通过 API 按 range 回补
|
||||
4. **插件友好设计(本体中立)**
|
||||
- 本体不内置 OpenClaw 专属逻辑
|
||||
- 提供稳定事件模型(消息创建/编辑/删除、成员事件、权限变更)
|
||||
- 提供清晰 API 边界(鉴权、幂等、分页、速率限制、错误码)
|
||||
- 为外部插件保留扩展点(Webhook、Bot Token、Outbound 回调)
|
||||
5. **权限与审计**
|
||||
- 基础角色(admin/member)
|
||||
- 审计日志(关键操作留痕)
|
||||
- 当前策略:所有用户无权限差别,均可增删改查 guild/channel/dm/聊天记录
|
||||
- 审计日志保留时间/大小由每个 guild 自行配置
|
||||
|
||||
## 4. 建议技术栈(v0.1)
|
||||
- **API**:NestJS(REST + WS)
|
||||
- **Realtime**:WebSocket Gateway
|
||||
- **DB**:PostgreSQL
|
||||
- **Cache/Queue**:Redis(会话态 + 异步任务)
|
||||
- **Storage**:MinIO(附件,MVP 可选)
|
||||
- **Storage**:MinIO(附件)
|
||||
- **Deploy**:Docker Compose(app + pg + redis + minio)
|
||||
|
||||
## 4.1 部署与边界模型(新增决策)
|
||||
- 采用“两套后端”模型:
|
||||
- **中心服务(Identity Hub)**:管理用户身份与登录态
|
||||
- **Guild 服务(Guild Node)**:管理 Guild/Channel/DM/消息数据
|
||||
- 一个中心服务可挂载多个 Guild 服务
|
||||
- 不同中心服务彼此完全独立(A 的用户无法登录 B)
|
||||
- 一个 Guild 服务只能注册到一个中心服务
|
||||
- Guild 服务注册时需证明持有中心服务 secret(共享密钥握手)
|
||||
|
||||
## 5. 模块拆分(对应仓库)
|
||||
- `Fabric.Backend`
|
||||
- Auth/Workspace(Guild)
|
||||
@@ -63,6 +75,7 @@
|
||||
- Android 客户端壳(后续)
|
||||
|
||||
## 6. 里程碑(6 周参考)
|
||||
> 注:OpenClaw 集成能力仅在 `Fabric.OpenclawPlugin` 实现,Fabric 本体不承担 OpenClaw 专属逻辑。
|
||||
### Week 1:需求冻结 + 架构设计
|
||||
- PRD 冻结
|
||||
- 架构图、数据模型、接口草案
|
||||
@@ -105,4 +118,6 @@
|
||||
- `Fabric.*` 已作为子模块挂载到 `Fabric`
|
||||
- 本体保持平台中立:不包含 OpenClaw 专属业务逻辑
|
||||
- OpenClaw 相关能力集中在 `Fabric.OpenclawPlugin`
|
||||
- 已确定:Guild 可分布在不同服务器;中心服务/ Guild 服务双层架构
|
||||
- 待定:消息顺序一致性细则、插件扩展契约 v1 细节
|
||||
- 本文件为第一版规划,后续按里程碑持续细化
|
||||
|
||||
Reference in New Issue
Block a user