0.5 缩减重构

This commit is contained in:
lix-2026
2026-04-13 19:21:42 +08:00
parent af92c4b149
commit 71fb1aee7e
2023 changed files with 21113 additions and 394493 deletions
+50 -27
View File
@@ -1,34 +1,57 @@
# 仓库协作指南(AGENTS
## 关键事实(防止误判)
- **当前已使用 Convex 完全替换 Supabase**:任何新功能/修复都应以 Convex 为唯一数据源与鉴权/权限基础。
- 仓库内可能仍存在 `supabase/``supabase.md``wolai-frontend/src/lib/supabase/``@supabase/*` 依赖等**历史遗留**:除非任务明确要求清理,否则不要基于它们继续扩展实现。
## 当前主线事实
## 项目结构与模块组织
- `wolai-frontend/`:主前端(Next.js),源码在 `wolai-frontend/src/`,静态资源在 `wolai-frontend/public/`
- `wolai-frontend/convex/`Convex functionsschema / query / mutation / action 等)
- `infra/convex/`Convex 自托管(Docker Compose + README + 本地 `.env`
- `wolai-backend/`:后端(FastAPI + Celery),主要用于辅助能力(如 OCR、OnlyOffice/集成类服务等)
- `services/`:配套服务与集成点(如 `services/mineru/` OCR、RAG 相关服务等)
- `pw-tests/`:端到端测试(Playwright + Python),脚本在 `pw-tests/scripts/`,产物在 `pw-tests/artifacts/`
- 根目录 `src/`:Next.js 相关代码与共享模块(可能为历史/镜像目录;优先改 `wolai-frontend/src/`)。
- 当前仓库已经做过精简,旧设计稿已移动到 `/mnt/Data1T/mnote/recycle/design/`
- 当前主前端在 `/mnt/Data1T/mnote/wolai-frontend/`,这是默认优先修改的位置
- 当前辅助后端在 `/mnt/Data1T/mnote/wolai-backend/`
- 当前 Convex 自托管配置在 `/mnt/Data1T/mnote/infra/convex/`
- 根目录历史 `/mnt/Data1T/mnote/src/` 已只保留 `/mnt/Data1T/mnote/src/components/onlyoffice/`,这里仍然属于运行相关资源,不要误删
- `/mnt/Data1T/mnote/ARCHITECTURE.md` 是当前仓库结构与嵌入关系的最新说明,涉及 BlockNote、Mindmap、OnlyOffice 时优先参考它
## 构建、测试与本地开发命令
- 一键热启动(推荐):在仓库根目录执行 `npm run desktop:hot`(启动 `wolai-frontend` + `wolai-backend`Redis 可用时自动启动 Celery)。
- 前端:`cd wolai-frontend && pnpm dev|build|start`;质量检查:`pnpm lint`;单测:`pnpm test`
- 后端:`cd wolai-backend && pip install -r requirements.txt`;运行:`uvicorn app.main:app --reload --port 8000`Worker`celery -A app.workers.celery_app worker --loglevel=info`
- E2E`cd pw-tests/scripts && python e2e_mindmap_sync.py`(更多脚本见 `pw-tests/README.md`)。
- Convex(自托管)启动:见 `infra/convex/README.md`
## 目录约定
## 编码风格与命名约定
- 文件编码:统一使用 UTF-8;缩进建议:TS/TSX 2 空格,Python 4 空格
- 命名示例:组件 `PascalCase.tsx`hooks `useXxx.ts`,测试文件 `*.test.ts(x)`Vitest 配置包含 `src/**/*.test.ts(x)`)。
- 优先遵循现有 ESLint/Vitest 配置(见 `eslint.config.mjs``vitest.config.ts`
- `/mnt/Data1T/mnote/wolai-frontend/src/`
当前前端主源码目录
- `/mnt/Data1T/mnote/wolai-frontend/convex/`
当前 Convex functions 目录
- `/mnt/Data1T/mnote/wolai-backend/app/`
当前后端主源码目录。
- `/mnt/Data1T/mnote/src/components/onlyoffice/`
当前保留的 OnlyOffice 静态资源、插件与相关数据目录。
- `/mnt/Data1T/mnote/recycle/`
已废弃或已下线内容的回收区,默认不要基于这里继续扩展实现。
## 协作边界(重要)
- 仅修改与目标相关的文件;遇到与任务无关的改动保持不动;若认为会影响任务,先与维护者确认。
- 严禁自行还原、覆盖或丢弃他人/用户已有改动(包括未提交文件)。如需清理或回滚,必须先得到明确同意。
- 不需要进行任何 git 操作(由维护者手动确认与提交)。
## 开发优先级
## 代码索引
- 更细的前后端代码层级索引见 `CODE_INDEX.md`(按路由/API/模块/职责整理)
1. 涉及页面、编辑器、块系统、思维导图、OnlyOffice 页面时,优先检查 `/mnt/Data1T/mnote/wolai-frontend/src/`
2. 涉及数据模型、查询、动作、任务编排时,优先检查 `/mnt/Data1T/mnote/wolai-frontend/convex/`
3. 涉及辅助服务、接口配合、异步处理时,检查 `/mnt/Data1T/mnote/wolai-backend/app/`
4. 只有在处理 OnlyOffice 静态资源、插件或兼容问题时,才进入根目录 `/mnt/Data1T/mnote/src/components/onlyoffice/`
## 关键架构认知
- `BlockNote` 是当前文档页主编辑器内核。
- `Mindmap` 是 BlockNote 的自定义 block,同时支持内嵌和独立全屏页,两者共用同一核心组件。
- `OnlyOffice` 是独立页面型编辑器,不直接嵌入 BlockNote 编辑画布;正文中通常通过附件块跳转进入。
## 协作边界
- 仅修改与当前任务直接相关的文件。
- 不要擅自恢复、覆盖、删除用户已有改动。
- 看到 `/mnt/Data1T/mnote/recycle/` 中的内容时,默认视为历史资料,不作为当前实现依据,除非任务明确要求。
- 若任务涉及架构判断,优先以当前代码与 `/mnt/Data1T/mnote/ARCHITECTURE.md` 为准,不要依赖旧文档记忆。
## 常用开发命令
- 根目录热启动:`npm run desktop:hot`
- 前端开发:`cd /mnt/Data1T/mnote/wolai-frontend && pnpm dev`
- 前端检查:`cd /mnt/Data1T/mnote/wolai-frontend && pnpm lint && pnpm test`
- 后端开发:`cd /mnt/Data1T/mnote/wolai-backend && uvicorn app.main:app --reload --port 8000`
- Convex 自托管:参考 `/mnt/Data1T/mnote/infra/convex/README.md`
## 文件编码与风格
- 所有新增或修改文件统一使用 UTF-8。
- TS/TSX 默认 2 空格缩进,Python 默认 4 空格缩进。
- 注释使用简体中文。