1.8 KiB
1.8 KiB
约束与待决事项(Constraints & Open Points)
技术约束(当前代码库既定)
- Python 3.12 + FastAPI 0.109:异步栈;
requirements.txt固定大部分版本。 - SQLAlchemy 2.0(async)+ aiomysql;同步连接供 Alembic 风格脚本(pymysql)。
- MySQL 5.7.5+ / 生产镜像 MySQL 8.0,utf8mb4。
- Redis:Token 缓存、会话状态、通知等。
- JWT(python-jose HS256)+ bcrypt(passlib)。
- 前端 React 18 + Vite 5 + Ant Design 5 + Tailwind + Zustand;路由 React Router v6。
- Whoosh3(全文)+ ZVec(向量)+ jieba(中文分词)。
- WeasyPrint(PDF 导出)、pdfjs-dist/react-pdf(前端 PDF 预览)、react-virtuoso/react-window(虚拟列表)。
- 部署:Docker Compose v2 + Engine ≥ 25(ADR-0008)。
约束来源
- 依赖锁定:
backend/requirements.txt、frontend/package.json。 - 配置默认:
backend/app/core/config.py、.env.example、docker-compose.yml。
待决事项(Open Points)
| 编号 | 事项 | 现状 | 建议 |
|---|---|---|---|
| OP-1 | Alembic vs 幂等 ALTER | 采用幂等 ALTER(migrations.py) |
评估引入 Alembic 以支撑大规模结构变更 |
| OP-2 | 敏感日志 | security.py/deps.py 记录 SECRET_KEY 前缀/JWT 载荷 |
脱敏,见 OI-1 |
| OP-3 | Compose v2 官方化 | deploy.sh 探测 v2 但根文档仍提及 v1 | 统一 v2 路径,见 OI-2 |
| OP-4 | 测试覆盖 | 仅 3 个后端单测 | 增加集成/E2E,见 OI-3 |
| OP-5 | 实时协同编辑 | 明确不在此版本做(vision 边界) | 另立项评估 OT/CRDT |
| OP-6 | 多实例/高可用 | 单机部署,无状态服务仅后端(Redis/DB 独立) | 若需要再评估 |
约束的规格化引用
- 以上条目若成为刚性承诺,须固化为 ADR 并登记到
decisions/README.md。