104 lines
3.1 KiB
Markdown
104 lines
3.1 KiB
Markdown
# Fabric 项目规划 v0.1
|
||
|
||
## 1. 项目目标
|
||
**Fabric**:一个可自部署的类 Discord 聊天系统,核心目标是提供稳定、低摩擦的 **Agent 沟通渠道**,并对 OpenClaw 友好。
|
||
|
||
### MVP 成功标准
|
||
- 支持多人频道聊天 + 私聊
|
||
- 支持接入 OpenClaw Agent 并在频道内对话
|
||
- 支持基础权限与审计日志
|
||
- 提供 Docker Compose 一键部署
|
||
- 单机可稳定服务 50~200 并发在线(MVP 目标)
|
||
|
||
## 2. 项目定位(一句话)
|
||
> 一个可自部署、类 Discord 的实时聊天系统,原生支持 OpenClaw/Agent 双向协作。
|
||
|
||
## 3. MVP 必要功能
|
||
1. **账号与组织**
|
||
- 用户注册/登录
|
||
- 工作区(Workspace)
|
||
2. **聊天模型**
|
||
- 频道(公开/私有)
|
||
- 私聊(1v1)
|
||
- 消息回复、编辑、删除、@提及
|
||
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
|
||
- Chat Core(频道、私聊、消息)
|
||
- 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`
|
||
- 本文件为第一版规划,后续按里程碑持续细化
|