Files
Fabric/PLAN.md

3.6 KiB
Raw Blame History

Fabric 项目规划 v0.1

1. 项目目标

Fabric:一个可自部署的类 Discord 聊天系统,核心目标是提供稳定、低摩擦的沟通渠道。

MVP 成功标准

  • 支持多人频道聊天 + 私聊
  • 支持基础权限与审计日志
  • 提供 Docker Compose 一键部署
  • 单机可稳定服务 50~200 并发在线MVP 目标)

2. 项目定位(一句话)

一个可自部署、类 Discord 的实时聊天系统;本体保持平台中立,通过插件生态对接外部系统。

3. MVP 必要功能

  1. 账号与组织
    • 用户注册/登录
    • 工作区Workspace对标 Discord Guild
  2. 聊天模型(明确范围)
    • Guild工作区
    • Channel公开/私有频道)
    • DM1v1 私聊)
    • 消息回复、编辑、删除、@提及
    • 不做 Thread明确排除
  3. 实时通信
    • WebSocket 实时消息推送
    • 在线状态、输入中、消息同步
  4. 插件友好设计(本体中立)
    • 本体不内置 OpenClaw 专属逻辑
    • 提供稳定事件模型(消息创建/编辑/删除、成员事件、权限变更)
    • 提供清晰 API 边界(鉴权、幂等、分页、速率限制、错误码)
    • 为外部插件保留扩展点Webhook、Bot Token、Outbound 回调)
  5. 权限与审计
    • 基础角色admin/member
    • 审计日志(关键操作留痕)

4. 建议技术栈v0.1

  • APINestJSREST + WS
  • RealtimeWebSocket Gateway
  • DBPostgreSQL
  • Cache/QueueRedis会话态 + 异步任务)
  • StorageMinIO附件MVP 可选)
  • DeployDocker Composeapp + pg + redis + minio

5. 模块拆分(对应仓库)

  • Fabric.Backend
    • Auth/WorkspaceGuild
    • Chat CoreChannel、DM、消息不含 Thread
    • Integration SurfaceWebhook、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
  • 本文件为第一版规划,后续按里程碑持续细化