docs(backend): 记录全面审阅问题与修复方案

按原因、后果、解决思路、落地方案和回归测试复盘 10 类后端问题。

同步更新接口实现状态、Plugin 权限接口、真实 Streaming、Citation 偏移约定、第一阶段 Tool 列表和测试数量。
This commit is contained in:
2026-08-28 09:57:02 +08:00
parent 36bc1022f1
commit 694c1b27c1
5 changed files with 364 additions and 13 deletions
@@ -196,7 +196,7 @@ cd backend
uv run pytest -q
```
当前 26 个用例通过(单元 + 端到端)。测试通过 `tests/conftest.py` 的 autouse fixture 把
当前后端完整测试共 62 个用例通过(单元 + 端到端)。测试通过 `tests/conftest.py` 的 autouse fixture 把
数据目录/DB/Vault 重定向到临时目录,不读写真实 `backend/data`,任何本机状态下结果确定。
## 配置
@@ -205,6 +205,7 @@ uv run pytest -q
APP_DATA_DIR 默认 backend/data
APP_DB_PATH 默认 backend/data/app.db
APP_VAULT_PATH 默认 backend/data/vault
APP_ATTACHMENTS_PATH 默认 backend/data/attachments
```
运行期生成的 `backend/data/*.db*` 已被 `.gitignore` 忽略,vault 下的 Markdown 测试数据会提交。
@@ -223,7 +224,9 @@ rag.search
## 当前限制与下一步
- `move` 接口实现(需确认移动后 `note_id` 是否保持稳定)
- `move` 接口实现,移动文件后保持原 `note_id`,同时原子更新 Block、FTS 和向量索引
- Citation 的 `start_offset` / `end_offset` 使用 UTF-16 code unit,直接兼容浏览器编辑器。
- Markdown 分块会识别 fenced code block,不会把代码中的 `#` 注释误判为标题。
- Embedding / Reranker 为轻量实现,后续替换为真实模型(接口不变)。
- 小语料下 hybrid 检索召回偏宽(向量 Top-K 覆盖全部 block),可加相关性阈值收紧。
- 重建为同步 + 全量,后续接入增量索引与异步任务队列。