Files
Fabric/PLAN.md

106 lines
3.3 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.
# 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公开/私有频道)
- DM1v1 私聊)
- 消息回复、编辑、删除、@提及
- **不做 Thread明确排除**
3. **实时通信**
- WebSocket 实时消息推送
- 在线状态、输入中、消息同步
4. **OpenClaw 集成(核心差异化)**
- Agent 绑定与配置
- 可配置路由:频道消息 -> OpenClaw session
- 消息回写与工具状态展示
- “工具调用卡片”与审批流approve/reject
- Webhook + Gateway 双模式MVP 先做 Webhook
5. **权限与审计**
- 基础角色admin/member
- 审计日志(关键操作留痕)
## 4. 建议技术栈v0.1
- **API**NestJSREST + WS
- **Realtime**WebSocket Gateway
- **DB**PostgreSQL
- **Cache/Queue**Redis会话态 + 异步任务)
- **Storage**MinIO附件MVP 可选)
- **Deploy**Docker Composeapp + pg + redis + minio
## 5. 模块拆分(对应仓库)
- `Fabric.Backend`
- Auth/WorkspaceGuild
- Chat CoreChannel、DM、消息不含 Thread
- OpenClaw IntegrationWebhook/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 4OpenClaw 集成
- 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`
- 本文件为第一版规划,后续按里程碑持续细化