# Fabric 项目规划 v0.1 ## 1. 项目目标 **Fabric**:一个可自部署的类 Discord 聊天系统,核心目标是提供稳定、低摩擦的 **Agent 沟通渠道**,并对 OpenClaw 友好。 ### MVP 成功标准 - 支持多人频道聊天 + 私聊 - 支持接入 OpenClaw Agent 并在频道内对话 - 支持基础权限与审计日志 - 提供 Docker Compose 一键部署 - 单机可稳定服务 50~200 并发在线(MVP 目标) ## 2. 项目定位(一句话) > 一个可自部署、类 Discord 的实时聊天系统,原生支持 OpenClaw/Agent 双向协作。 ## 3. MVP 必要功能 1. **账号与组织** - 用户注册/登录 - 工作区(Workspace,对标 Discord Guild) 2. **聊天模型(明确范围)** - Guild(工作区) - Channel(公开/私有频道) - DM(1v1 私聊) - 消息回复、编辑、删除、@提及 - **不做 Thread(明确排除)** 3. **实时通信** - WebSocket 实时消息推送 - 在线状态、输入中、消息同步 4. **OpenClaw 集成(核心差异化)** - Agent 绑定与配置 - 可配置路由:频道消息 -> OpenClaw session - 消息回写与工具状态展示 - “工具调用卡片”与审批流(approve/reject) - Webhook + Gateway 双模式(MVP 先做 Webhook) 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) - OpenClaw Integration(Webhook/Gateway、session 路由、回写) - Permission & Audit - `Fabric.Frontend` - 工作区/频道 UI - 消息流、输入框、回复/编辑/删除/@ - Agent 状态与工具卡片展示 - `Fabric.OpenclawPlugin` - OpenClaw 侧适配与路由配置 - 会话映射、回执状态、错误处理 - `Fabric.Desktop` - Desktop 客户端壳(后续) - `Fabric.Android` - Android 客户端壳(后续) ## 6. 里程碑(6 周参考) ### Week 1:需求冻结 + 架构设计 - PRD 冻结 - 架构图、数据模型、接口草案 ### Week 2:基础业务 API - 登录注册、工作区、频道、消息 REST API - 基础前端页面(频道列表 + 消息流) ### Week 3:实时通信 - WebSocket 推送 - 在线状态、输入中、消息同步 ### Week 4:OpenClaw 集成 - Agent 绑定配置 - 消息路由与回写 - 工具状态卡片(running/success/error) ### 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` - 本文件为第一版规划,后续按里程碑持续细化