- ROADMAP:勾选与实际证据一一对应,未做的写明原因与去向(通知推迟到 M2、子任务与 @人 合并进 item_link) - DEVELOPMENT:新增向量库、e2e、性能实测三节 - API:补批量状态与看板接口,重排小节编号 - deploy:docker-compose.vector.yml + vector-init(独立 PG+pgvector,5434,不碰 fnsvr-01) - .gitignore:注释乱码修正,补 *.tsbuildinfo / e2e 产物
This commit is contained in:
+48
-2
@@ -78,7 +78,53 @@ ruff check . && ruff format --check .
|
||||
|
||||
隔离测试(`tests/test_tenant_isolation.py`)是本仓库最重要的一组用例,改动任何租户表都必须重跑它。
|
||||
|
||||
## 7. 常见坑
|
||||
### 真浏览器 e2e
|
||||
|
||||
需要后端(8100)与前端(5180)都在跑:
|
||||
|
||||
```bash
|
||||
cd web
|
||||
node e2e/smoke.mjs # 登录→建任务→详情保存→看板拖拽→非法流转被拒,7 项断言
|
||||
```
|
||||
|
||||
用本机缓存的 Chromium(`playwright-core`,不下载浏览器),截图落在 `web/e2e/artifacts/`。
|
||||
|
||||
### 1000 条下的首屏耗时
|
||||
|
||||
```bash
|
||||
cd backend && python scripts/bench_views.py # 连开发库,会自己造 1000 条
|
||||
```
|
||||
|
||||
## 7. 知识库向量库(独立实例)
|
||||
|
||||
知识库的语义检索需要一个带 **pgvector** 的 PostgreSQL,它**不是**业务库:
|
||||
|
||||
```bash
|
||||
cd deploy
|
||||
docker-compose -f docker-compose.vector.yml up -d # 127.0.0.1:5434,库名 dadao_knowledge
|
||||
```
|
||||
|
||||
然后在 `backend/.env` 里打开:
|
||||
|
||||
```bash
|
||||
VECTOR_DATABASE_URL=postgresql+asyncpg://dadao_app:dadao_dev_pw@127.0.0.1:5434/dadao_knowledge
|
||||
```
|
||||
|
||||
三条设计约束(别绕):
|
||||
|
||||
1. **不碰 fnsvr-01**。那台 PG 17 没有 pgvector,装扩展要动生产机;向量检索吃内存,
|
||||
和任务库挤一起互相拖累。
|
||||
2. **不配就是没有**。`VECTOR_DATABASE_URL` 为空时,M3 的语义检索直接报"未配置",
|
||||
不许悄悄退化成"全表扫描 + 假装是语义匹配"——那种降级没人能发现。
|
||||
3. **向量表同样开 RLS**。知识库串租户比任务串租户严重得多:等于把别人的文档喂给你的模型。
|
||||
|
||||
`EMBEDDING_DIM` 一旦定下来改起来很痛(要重算全部切片),默认 `1024`(bge-m3)。
|
||||
换模型 = 重建 `chunk` 表 + 重新向量化,写进 M3 的迁移说明。
|
||||
|
||||
> 当前这台机器 Docker 起不来(见下),所以向量库还没真正跑起来,
|
||||
> 上面是配置与脚本,M3 开工前必须先把它跑通。
|
||||
|
||||
## 8. 常见坑
|
||||
|
||||
| 现象 | 原因 | 处理 |
|
||||
|---|---|---|
|
||||
@@ -127,7 +173,7 @@ ruff check . && ruff format --check .
|
||||
- **安装类命令一律写日志文件再 tail**,不要用管道截断输出,否则看不到进度也不知道卡在哪。
|
||||
- `npm install` 要加 `--ignore-scripts`:沙箱不允许 npm 的 lifecycle 脚本派生进程(`EPERM spawn`)。
|
||||
|
||||
## 8. 提交前自检清单
|
||||
## 9. 提交前自检清单
|
||||
|
||||
1. `pytest` 全绿,`ruff` 无告警。
|
||||
2. 新增租户表时:`workspace_id NOT NULL` + RLS 策略 + 跨租户测试,三者齐全。
|
||||
|
||||
Reference in New Issue
Block a user