API-AI-082: 新增手动触发 Source 解析接口 #243

Open
opened 2026-06-18 21:48:15 +08:00 by wangdl · 1 comment
Owner

描述

当前 Source 创建后 DocumentImport 自动入队,但如果解析失败(parseStatus=failed),用户没有接口可以触发重新解析。

改动

新增 POST /knowledge-bases/:id/sources/:sourceId/parse:

  • 检查 source 当前 parseStatus
  • 如果 status 是 failed 或 pending,创建新的 DocumentImport 任务
  • 返回 DocumentImport 任务 ID,前端可轮询状态

涉及文件

  • src/modules/knowledge-source/knowledge-source.controller.ts
  • src/modules/knowledge-source/knowledge-source.service.ts
## 描述 当前 Source 创建后 DocumentImport 自动入队,但如果解析失败(parseStatus=failed),用户没有接口可以触发重新解析。 ## 改动 新增 POST /knowledge-bases/:id/sources/:sourceId/parse: - 检查 source 当前 parseStatus - 如果 status 是 failed 或 pending,创建新的 DocumentImport 任务 - 返回 DocumentImport 任务 ID,前端可轮询状态 ## 涉及文件 - src/modules/knowledge-source/knowledge-source.controller.ts - src/modules/knowledge-source/knowledge-source.service.ts
Author
Owner

开发完成评论

完成内容

  • 新增 POST /knowledge-bases/:kbId/sources/:id/parse 端点
  • KnowledgeSourceService.triggerParse(): 验证 source 存在 → 创建 DocumentImport → Redis 状态 → 入队
  • 返回 { jobId, status: "queued" } 供前端轮询

修改文件

  • src/modules/knowledge-source/knowledge-source.controller.ts
  • src/modules/knowledge-source/knowledge-source.service.ts

代码证据

  • knowledge-source.controller.ts:37-44: @Post(":id/parse") 路由定义
  • knowledge-source.service.ts:53-82: triggerParse() 完整入队逻辑

测试情况

  • 已运行: npx tsc --noEmit
  • 结果: 通过(无新增编译错误)

是否建议进入 Review

## 开发完成评论 ### 完成内容 - 新增 `POST /knowledge-bases/:kbId/sources/:id/parse` 端点 - `KnowledgeSourceService.triggerParse()`: 验证 source 存在 → 创建 DocumentImport → Redis 状态 → 入队 - 返回 `{ jobId, status: "queued" }` 供前端轮询 ### 修改文件 - `src/modules/knowledge-source/knowledge-source.controller.ts` - `src/modules/knowledge-source/knowledge-source.service.ts` ### 代码证据 - `knowledge-source.controller.ts:37-44`: `@Post(":id/parse")` 路由定义 - `knowledge-source.service.ts:53-82`: `triggerParse()` 完整入队逻辑 ### 测试情况 - 已运行: `npx tsc --noEmit` - 结果: 通过(无新增编译错误) ### 是否建议进入 Review - 是
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/api-server#243
No description provided.