2.6 KiB
API 设计文档
所有接口前缀为 /api/v1,返回 JSON 格式数据。认证暂未启用(单用户环境)。
1. AI 模型管理 (/models)
1.1 创建模型
POST /models
请求体:
{
"name": "GPT-4",
"provider": "openai",
"endpoint": "https://api.openai.com/v1/chat/completions",
"api_key": "sk-...",
"extra_params": {"max_tokens": 1000, "temperature": 0.7},
"is_enabled": true,
"remark": "主模型"
}
响应:返回创建的模型对象(API Key 已加密)。
1.2 获取模型列表
GET /models?enabled=true&page=1&limit=20
响应:分页列表。
1.3 获取模型详情
GET /models/{id}
1.4 更新模型
PUT /models/{id}(字段同创建)
1.5 删除模型
DELETE /models/{id}
1.6 启用/禁用
PATCH /models/{id}/toggle
请求体{"is_enabled": false}
2. 模板管理 (/templates)
2.1 上传模板
POST /templates (multipart/form-data)
字段file (.docx), name (可选)
响应:模板对象(含生成的 HTML 内容)。
2.2 获取模板列表
GET /templates (分页)
2.3 获取模板 HTML 内容
GET /templates/{id}/html
返回{"html_content": "<html>..."}
2.4 更新模板 HTML(编辑后保存)
PUT /templates/{id}/html
请求体{"html_content": "<html>..."}
后端将同步更新对应的 .docx 文件。
2.5 下载最终文档
GET /templates/{id}/download
返回文件流(.docx)。
3. 生成点管理 (/generation-points)
3.1 创建生成点
POST /generation-points
{
"template_id": "uuid",
"position": {"start": 100, "end": 200},
"prompt": "请根据参考文件生成一段总结",
"model_id": "uuid (可选)",
"ref_file": "file (multipart, 可选)"
}
响应:生成点对象。
3.2 获取模板的所有生成点
GET /generation-points?template_id={id}
3.3 更新生成点
PUT /generation-points/{id}(字段同创建)
3.4 删除生成点
DELETE /generation-points/{id}
4. 生成任务 (/tasks)
4.1 触发生成任务
POST /templates/{template_id}/generate
响应:
{
"task_id": "uuid",
"status": "pending"
}
4.2 查询任务状态
GET /tasks/{task_id}
响应:
{
"id": "uuid",
"status": "done",
"result_file_path": "/path/to/result.docx",
"error_msg": null,
"created_at": "...",
"finished_at": "..."
}
4.3 下载生成结果
GET /tasks/{task_id}/download
返回 .docx 文件流。
错误码规范
200: 成功400: 请求参数错误404: 资源不存在500: 服务器内部错误 错误响应格式:
{
"detail": "错误描述"
}