feature: 新增支持拆书自选保留章节数,或者整本拆书功能

This commit is contained in:
xiamuceer
2026-04-02 11:03:58 +08:00
parent 099d12a1c9
commit 5968a3d29e
6 changed files with 158 additions and 23 deletions
+8 -1
View File
@@ -9,6 +9,7 @@ TaskStatus = Literal["pending", "running", "completed", "failed", "cancelled"]
ImportMode = Literal["append", "overwrite"]
ExtractLevel = Literal["basic", "standard", "deep"]
WarningLevel = Literal["info", "warning", "error"]
BookImportExtractMode = Literal["tail", "full"]
class BookImportWarning(BaseModel):
@@ -45,6 +46,12 @@ class BookImportOutline(BaseModel):
structure: Optional[dict[str, Any]] = Field(None, description="结构化大纲(与系统大纲生成结构一致)")
class BookImportTaskCreateRequest(BaseModel):
"""创建拆书任务请求"""
extract_mode: BookImportExtractMode = Field(default="tail", description="提取范围:tail=截取末章,full=整本")
tail_chapter_count: int = Field(default=10, ge=5, le=9999, description="当 extract_mode=tail 时,截取末尾章节数;需为5的倍数,超过50将按整本处理")
class BookImportTaskCreateResponse(BaseModel):
"""创建任务响应"""
task_id: str
@@ -89,4 +96,4 @@ class BookImportApplyResponse(BaseModel):
class BookImportRetryRequest(BaseModel):
"""重试失败步骤请求"""
steps: list[str] = Field(..., min_length=1, description="需要重试的步骤名列表,如 world_building / career_system / characters")
steps: list[str] = Field(..., min_length=1, description="需要重试的步骤名列表,如 world_building / career_system / characters")