# Fabric 项目规划 v0.1 ## 1. 项目目标 **Fabric**:一个可自部署的类 Discord 聊天系统,核心目标是提供稳定、低摩擦的沟通渠道。 ### MVP 成功标准 - 支持多人频道聊天 + 私聊 - 支持基础权限与审计日志 - 提供 Docker Compose 一键部署 - 单机可稳定服务 50~200 并发在线(MVP 目标) ## 2. 项目定位(一句话) > 一个可自部署、类 Discord 的实时聊天系统;本体保持平台中立,通过插件生态对接外部系统。 ## 3. MVP 必要功能 1. **账号与组织** - 用户注册/登录 - 工作区(Workspace,对标 Discord Guild) 2. **聊天模型(明确范围)** - Guild(工作区) - Channel(公开/私有频道) - DM(1v1 私聊) - 消息回复、编辑、删除、@提及 - **不做 Thread(明确排除)** 3. **实时通信** - WebSocket 实时消息推送 - 在线状态、输入中、消息同步 4. **插件友好设计(本体中立)** - 本体不内置 OpenClaw 专属逻辑 - 提供稳定事件模型(消息创建/编辑/删除、成员事件、权限变更) - 提供清晰 API 边界(鉴权、幂等、分页、速率限制、错误码) - 为外部插件保留扩展点(Webhook、Bot Token、Outbound 回调) 5. **权限与审计** - 基础角色(admin/member) - 审计日志(关键操作留痕) ## 4. 建议技术栈(v0.1) - **API**:NestJS(REST + WS) - **Realtime**:WebSocket Gateway - **DB**:PostgreSQL - **Cache/Queue**:Redis(会话态 + 异步任务) - **Storage**:MinIO(附件,MVP 可选) - **Deploy**:Docker Compose(app + pg + redis + minio) ## 5. 模块拆分(对应仓库) - `Fabric.Backend` - Auth/Workspace(Guild) - Chat Core(Channel、DM、消息;不含 Thread) - Integration Surface(Webhook、Bot Token、扩展回调) - Permission & Audit - `Fabric.Frontend` - 工作区/频道 UI - 消息流、输入框、回复/编辑/删除/@ - 平台中立 UI(不内置 OpenClaw 专属交互) - `Fabric.OpenclawPlugin` - OpenClaw 侧适配与路由配置 - 会话映射、回执状态、错误处理 - 工具调用卡片与审批流(approve/reject) - Webhook + Gateway 双模式(MVP 先做 Webhook) - `Fabric.Desktop` - Desktop 客户端壳(后续) - `Fabric.Android` - Android 客户端壳(后续) ## 6. 里程碑(6 周参考) ### Week 1:需求冻结 + 架构设计 - PRD 冻结 - 架构图、数据模型、接口草案 ### Week 2:基础业务 API - 登录注册、工作区、频道、消息 REST API - 基础前端页面(频道列表 + 消息流) ### Week 3:实时通信 - WebSocket 推送 - 在线状态、输入中、消息同步 ### Week 4:插件集成(在 `Fabric.OpenclawPlugin`) - Agent 绑定配置 - 消息路由与回写 - 工具状态卡片(running/success/error) - approve/reject 审批流 ### Week 5:权限与运维 - 角色权限(admin/member) - 审计日志 - 健康检查、日志聚合、Compose 完善 ### Week 6:稳定性与发布 - 压测与性能调优 - Bug 修复 - MVP 发布文档与部署指南 ## 7. 仓库组织 - `Fabric`(主仓库) - 挂载子模块: - `Fabric.OpenclawPlugin` - `Fabric.Backend` - `Fabric.Frontend` - `Fabric.Desktop` - `Fabric.Android` ## 8. 当前状态 - 所有仓库已创建为 Public - `Fabric.*` 已作为子模块挂载到 `Fabric` - 本体保持平台中立:不包含 OpenClaw 专属业务逻辑 - OpenClaw 相关能力集中在 `Fabric.OpenclawPlugin` - 本文件为第一版规划,后续按里程碑持续细化