feat: 前端页面优化与入库任务重试/删除

- 概览与检索合并为单一概览页
- 类目/文档管理/入库整合为树形目录知识库页(Library),支持文档搜索
- 入库进度改为右侧 Drawer,支持任务详情、重试、删除
- 后端新增任务重试与删除接口
This commit is contained in:
2026-08-04 12:58:11 +08:00
parent f0fc20a9b6
commit 35b7decd49
16 changed files with 1630 additions and 1432 deletions
+22
View File
@@ -335,6 +335,28 @@ async def get_ingest_task(task_id: str) -> dict[str, Any]:
return ok(task)
@router.post("/documents/tasks/{task_id}/retry")
async def retry_ingest_task(
task_id: str, user: UserRecord = Depends(get_current_user)
) -> JSONResponse:
"""重试入库任务:用原 source 重新提交一个新任务,返回新 task_id"""
new_task_id = await _get_task_manager().retry(task_id)
if new_task_id is None:
raise ApiError(1004, "任务不存在或缺少重试所需的源信息")
return JSONResponse(
status_code=202, content=ok({"task_id": new_task_id, "status": "pending"})
)
@router.delete("/documents/tasks/{task_id}")
async def delete_ingest_task(
task_id: str, user: UserRecord = Depends(get_current_user)
) -> dict[str, Any]:
"""删除入库任务(内存注册表 + Redis 镜像),幂等"""
deleted = await _get_task_manager().delete(task_id)
return ok({"task_id": task_id, "deleted": deleted})
@router.get("/documents")
async def list_documents(
limit: int = Query(default=20, ge=1, le=100),