docs: add n8n integration context
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# RAG项目搜索
|
||||
|
||||
- Registry ID: `ai-search`
|
||||
- n8n Workflow ID: `F5cQ06DykBfpeyfqL-pd7`
|
||||
- Status: `confirmed`
|
||||
- 角色: 把用户查询转成向量相似度检索结果,再把候选项目 ID 返回给仓库 API 做二次补全。
|
||||
|
||||
## 触发方式
|
||||
|
||||
- webhook 触发
|
||||
- 已核查 webhook path: `ai-search`
|
||||
|
||||
## 输入契约
|
||||
|
||||
- `desc`
|
||||
- `limit`
|
||||
- `page`
|
||||
- `offset`
|
||||
- `tags`
|
||||
- `domains`
|
||||
- `productForms`
|
||||
|
||||
## 主流程
|
||||
|
||||
1. 仓库 API 接收搜索请求。
|
||||
2. API 把请求转发给 n8n webhook `ai-search`。
|
||||
3. n8n 为查询文本生成 embedding。
|
||||
4. n8n 在 Postgres 中执行向量相似度搜索。
|
||||
5. n8n 返回候选项目 ID 和相似度。
|
||||
6. 仓库 API 再按 ID 回库查询完整项目数据并返回前端。
|
||||
|
||||
## 输出契约
|
||||
|
||||
- `results[].id`
|
||||
- `results[].similarity`
|
||||
- `pagination.total`
|
||||
- `pagination.totalPages`
|
||||
- `pagination.hasMore`
|
||||
|
||||
## 与仓库的关系
|
||||
|
||||
这是当前仓库里最直接可见的 n8n 搜索接点:
|
||||
|
||||
- [route.ts](D:/Code/AI/agent-park/src/app/api/search/ai/route.ts)
|
||||
- [useProjects.ts](D:/Code/AI/agent-park/src/hooks/useProjects.ts)
|
||||
|
||||
## 关键实现边界
|
||||
|
||||
- n8n 负责“召回候选 ID”
|
||||
- 仓库 API 负责“按 ID 补全项目字段”
|
||||
- 前端不直接信任 n8n 返回完整项目对象,而是以仓库数据库为准
|
||||
|
||||
这个分层是正确的,因为它避免把页面展示完全绑死到 n8n 返回结构。
|
||||
|
||||
## 已确认要点
|
||||
|
||||
- 已通过 live n8n MCP 核查 workflow 元数据、webhook path 和返回字段。
|
||||
- 当前搜索依赖 `projects.embedding`,因此和 `项目描述向量化` 强耦合。
|
||||
- 如果 `N8N_AI_SEARCH_WEBHOOK` 缺失或返回结构变化,搜索 API 会直接受影响。
|
||||
|
||||
## 维护要求
|
||||
|
||||
- 搜索输入字段、分页规则、n8n 返回结构变化时,必须同步更新:
|
||||
- [registry.json](D:/Code/AI/agent-park/docs/integrations/n8n/registry.json)
|
||||
- [route.ts](D:/Code/AI/agent-park/src/app/api/search/ai/route.ts)
|
||||
- 如未来增加 rerank 或 hybrid search,也应先更新这里,再调整 API 契约。
|
||||
Reference in New Issue
Block a user