feat: 添加项目发现去重检查 API
新增去重检查功能,避免创建重复的探索任务: API 端点:POST /api/discovery/check-duplicates 功能特性: - 检查 URL 是否已存在 PENDING/IN_PROGRESS 任务 - 检查 URL 是否已存在 COMPLETED/FAILED 任务 - 检查 URL 对应的项目是否已通过 ExternalLink 收录 - 返回每条 URL 的 shouldCreate 判断和建议原因 新增文件: - src/app/api/discovery/check-duplicates/route.ts: 去重检查逻辑 - src/lib/validations.ts: CheckTaskDuplicatesSchema 文档更新: - docs/discovery-workflow.md: 添加步骤 2.5 去重检查文档 - API 调用示例 - 返回结果说明 - 去重逻辑优先级 - n8n 集成建议
This commit is contained in:
@@ -91,6 +91,15 @@ export const GetDiscoveryTasksQuerySchema = z.object({
|
||||
offset: z.coerce.number().int().nonnegative().default(0),
|
||||
})
|
||||
|
||||
/**
|
||||
* 检查任务去重 Schema
|
||||
* 用于在创建任务前检查 URL 是否已存在
|
||||
*/
|
||||
export const CheckTaskDuplicatesSchema = WebhookAuthSchema.extend({
|
||||
urls: z.array(z.string().url().max(2000)).min(1).max(100),
|
||||
sourceType: z.string().max(50).optional(),
|
||||
})
|
||||
|
||||
// ================================
|
||||
// Query Schemas
|
||||
// ================================
|
||||
|
||||
Reference in New Issue
Block a user