0.4.0 convex及界面修改

This commit is contained in:
liaibo
2026-02-01 08:47:40 +08:00
parent d1f055f51a
commit af92c4b149
636 changed files with 7522 additions and 1815 deletions
+172
View File
@@ -0,0 +1,172 @@
# MNOTE 项目介绍(PPT 大纲草稿)
> 使用建议:每个 `---` 作为一页 PPT;标题为页面标题;要点为页面内容。
> 说明:当前项目数据主链路以 **Convex** 为准;仓库中出现的 **Supabase** 相关内容按“历史遗留/兼容残留”处理。
---
## 0. 标题页
- 项目:MNOTE(知识管理系统)
- 形态:Web + 桌面端(Electron
- 关键词:块编辑器 / 思维导图 / AI 工具型 Agent / Convex 数据层
---
## 1. 目录
1. 架构
2. 已实现功能
3. 优点/特点
4. 缺点
---
## 2. 架构总览(分层)
- UI/交互层:Next.jsApp Router+ React(前端)
- 业务与数据层:Convex(数据读写、鉴权与权限、文件存储)
- 辅助能力层:FastAPI + CeleryOCR / OnlyOffice / 其他集成)
- 桌面封装层:Electron(内嵌 Next.js standalone
- 测试与运维:Playwright E2E、Convex 自托管(Docker Compose
---
## 3. 架构图(逻辑关系)
```text
┌──────────────────────────┐
│ Desktop / Web │
│ Electron(可选) + Next.js │
└─────────────┬────────────┘
│ 页面渲染 / 交互
v
┌──────────────────────────┐
│ Next.js App Router UI │
│ - 页面:/documents /mindmap│
│ - BFF/api/* route handler│
└───────┬───────────┬───────┘
│ │
│ 读写/权限 │ 集成/重计算(按需)
v v
┌─────────────────┐ ┌──────────────────────┐
│ Convex Backend │ │ FastAPI + Celery │
│ - 数据/鉴权/权限 │ │ - OCR / OnlyOffice 等 │
│ - Files 存储 │ │ - 可对接 MinerU/RAG │
└─────────────────┘ └──────────────────────┘
```
---
## 4. 核心目录与职责(落地到仓库)
- `wolai-frontend/`:主前端(Next.js),源码在 `wolai-frontend/src/`
- `wolai-frontend/convex/`Convex functionsschema / query / mutation / action
- `infra/convex/`Convex 自托管(Docker Compose + Dashboard
- `wolai-backend/`FastAPI + Celery(辅助能力与集成服务)
- `desktop-electron/`Electron 桌面端包装
- `services/`:配套服务/集成点(如 `services/mineru`、LightRAG 等)
- `pw-tests/`:端到端测试(Playwright
---
## 5. 数据流(典型请求)
- 登录/鉴权:前端挂载 Convex Auth Provider;由 Convex 负责身份与权限主线
- 数据读写:页面/组件通过 Convex 或 Next.js `/api/*`BFF)访问业务数据
- 文件与附件:通过 Convex Files(或 BFF 代理)管理上传/下载与元信息
- 重计算/集成:需要 OCR、OnlyOffice、RAG 时走 FastAPI(可异步由 Celery 承载)
---
## 6. 已实现功能(概览)
- 文档系统:文档页、块编辑器外壳、基础读写链路
- 思维导图:导图页面/全屏、导图数据模型与读写、导图相关 API
- 协作与权限:工作区、群组/成员、分享(Share/Invite/Star/Recent 等数据模型)
- 媒体与引用:媒体资源、引用(references)、图片/附件 OCR 文本读取入口
- AI 能力:工具型 Agent 框架 + 内置工具集(含读/写工具与确认机制)
- OnlyOffice:前端页面与 BFF 代理接口(用于嵌入/代理访问)
- 桌面端:Electron 运行、热启动脚本、Windows 打包配置
- 运维/开发:Convex 自托管方案、开发脚本、E2E 测试脚本
---
## 7. 已实现功能(按模块细化:前端)
- 路由页面(示例)
- 登录/鉴权:`/(auth)/login``/(auth)/auth`
- 文档:`/(app)/documents/[id]`
- 思维导图:`/mindmap/[docId]/[mindmapId]`
- OnlyOffice`/onlyoffice/*`,以及 `onlyoffice-server` 相关代理路由
- 本地模式入口:`/local/*`
- 表格:`/tables/[tableId]`
- 调试:`/dev/*`AI Agent / Mindmap
- BFF API(示例)
- 文档:`/api/documents/*`
- 思维导图:`/api/mindmap/**``/api/mindmap-ai/*`
- 媒体:`/api/media/*`
- AI Agent`/api/ai-agent/run`
- OnlyOffice`/api/onlyoffice/proxy`
---
## 8. 已实现功能(按模块细化:Convex)
- 业务数据与能力(按 functions 文件归类)
- 文档:`documents.ts``comments.ts``recents.ts``documentStars.ts`
- 分享与权限:`documentShares.ts``documentGroupShares.ts``groups.ts``groupMembers.ts``groupInvitations.ts`
- 思维导图:`mindmaps.ts`
- 媒体与附件:`mediaAssets.ts`
- 引用:`references.ts`
- 表格:`tables.ts`
- 工作区与用户:`workspaces.ts``users.ts`
- 异步任务骨架:`jobs.ts`
---
## 9. 已实现功能(按模块细化:后端/服务)
- FastAPI(阶段 0 骨架)
- 健康检查:`/health`
- 任务占位:`/api/v1/tasks/ocr``/api/v1/tasks/{id}`
- SSE 占位:`/api/v1/chat`
- 其他:`luckysheet_ws` WebSocket 路由(表格/协作相关)
- 预留集成点
- MinerUOCR 服务(位于 `services/mineru`
- LightRAG:RAG 检索/生成(仓库内有集成点与相关依赖)
---
## 10. 优点/特点(产品与体验)
- “文档 + 思维导图”一体化:导图是一等公民,可与文档块/附件/引用形成闭环
- 兼容 Web 与桌面端:同一套前端代码在不同运行环境复用
- AI 以“工具系统”落地:读写工具分级、写入前确认,便于可控扩展
- 具备本地/内网部署可能:Convex 支持自托管,适合内网或私有化场景
---
## 11. 优点/特点(工程与架构)
- 主链路清晰:Convex 统一承担数据 + 鉴权/权限 + 文件存储
- BFF 模式:Next.js Route Handlers 统一对外 API 形态,便于前端联调与权限收口
- 多能力可插拔:OCR / OnlyOffice / RAG 等通过后端服务或工具接口渐进接入
- 自动化基础较全:热启动脚本 + E2E(Playwright)脚本为联调与回归提供支撑
---
## 12. 缺点(架构复杂度与运维)
- 组件较多:Next.js + Convex + FastAPI/Celery + Electron(学习与排障成本高)
- 部署面更广:Convex 自托管 + 后端服务 +(可选)OCR/RAG 服务,运维链路更长
- 桌面端成本:Electron 体积与打包/升级链路带来额外维护负担
---
## 13. 缺点(技术债与一致性风险)
- Supabase 相关依赖/目录仍在仓库中,容易造成新同学误用或逻辑分叉(需要持续收敛)
- 后端多项能力仍为“阶段 0 占位”,与前端能力深度集成仍需补齐(OCR/RAG/SSE 等)
- 多运行模式(Web/桌面/本地)对配置与数据一致性提出更高要求(需要清晰的环境与开关策略)