之前知识只能"存",不能"找"。这一版把链路补上:切片 → 向量 → 打分 → 带来源返回。 - chunk 表 + 迁移 0006:正文按标题归段切、代码块整块保留、超长按句切、 相邻片重叠 80 字;RLS 与 GRANT 与其它租户表一致 - 向量提供方做成协议:内置 hash(字符二元组,零依赖可复现,作为基线) 与 OpenAI 兼容端点两种,换实现不动业务代码 - 检索是混合打分:向量 0.6 + pg_trgm 0.4。专有编号、单号这类必须原样命中的词 靠词法兜,换个说法表达的同一件事靠向量兜 - 三条纪律:只搜 published(过滤写在 SQL 里)、低于阈值宁可不返回、 每条命中都带来源标题与 item_id - 发布时自动建索引,改完正文用 POST /knowledge/{id}/reindex 重建 - Web 知识页加检索框与命中卡片;新增 e2e/retrieval.mjs 6 项 为什么不是 pgvector:本机 Docker 起不来、fnsvr-01 没有该扩展且明确不动。 先用 real[] + SQL 余弦把链路跑通,将来换列类型与索引即可,接口不变。 后端 79 passed,e2e smoke/knowledge/richtext/retrieval 全绿。