v3接口restful风格,规范化接口;添加mcp服务器;新增log模块

This commit is contained in:
2026-01-19 23:54:29 +08:00
parent 389c13a2a7
commit 7c99e67a7f
14 changed files with 780 additions and 376 deletions

38
backend/schemas/v3.py Normal file
View File

@@ -0,0 +1,38 @@
from pydantic import BaseModel, Field
from typing import List, Optional, Dict, Any
# --- 通用响应 ---
class ResponseBase(BaseModel):
code: int = Field(..., description="1: 成功, 0: 失败")
msg: str
data: Optional[Any] = None
# --- [POST] 创建任务 ---
class TaskCreateRequest(BaseModel):
url: str = Field(..., description="目标网站根URL", example="https://docs.firecrawl.dev")
# --- [POST] 执行任务 ---
class TaskExecuteRequest(BaseModel):
batch_size: int = Field(10, ge=1, le=50, description="并发线程数/批次大小")
# --- [GET] 监控数据 ---
class TaskStatusData(BaseModel):
root_url: str
stats: Dict[str, int] = Field(..., description="数据库统计: pending/processing/completed")
active_threads: List[str] = Field(..., description="内存实时: 当前正在爬取的URL列表")
active_thread_count: int
# --- [POST] 搜索 ---
class SearchRequest(BaseModel):
query: str
task_id: Optional[int] = None
return_num: int = Field(5, description="返回结果数量")
class SearchResultItem(BaseModel):
task_id: int
source_url: str
title: Optional[str] = None
content: str
score: float
meta_info: Dict = {}
reranked: Optional[bool] = False