使用说明

上传文件

通用鉴权与 Base URL 见 HTTP API 总览
上传前需已有空间 kb_id,见 空间(创建 / 列表 / 详情)

支持两种方式:

  1. 二进制文件(PDF / Word 等):走 TUS 可断点续传/v1/uploads
  2. Markdown 笔记:直接创建笔记接口(无需 TUS)

TUS 上传(PDF、Office、图片等)

协议版本:Tus-Resumable: 1.0.0
单文件上限:100 MB
允许扩展名:.pdf .pptx .ppt .docx .doc .png .jpg .jpeg .webp .gif .xlsx .xls .csv .html .htm

1. 创建上传会话

POST /v1/uploads
Authorization: Bearer <token>
Tus-Resumable: 1.0.0
Upload-Length: <文件字节数>
Upload-Metadata: filename <base64(文件名)>,knowledge_base_id <base64(空间UUID)>

说明:

  • Upload-Metadata 为 TUS 标准:键值用逗号分隔,值为 Base64 编码的 UTF-8 字符串
  • 必须提供 filenameknowledge_base_id
  • 空间必须属于当前登录用户,否则 403

成功201,响应头 Location: /v1/uploads/{upload_id}

查询服务能力(可选):

OPTIONS /v1/uploads

2. 分片上传内容

PATCH /v1/uploads/{upload_id}
Authorization: Bearer <token>
Tus-Resumable: 1.0.0
Content-Type: application/offset+octet-stream
Upload-Offset: <已上传字节偏移,从 0 开始>

请求体为原始二进制分片。可多次 PATCH,直到偏移等于 Upload-Length

成功204,响应头含最新 Upload-Offset
全部传完后,服务端落库并触发解析,响应头额外返回:

  • X-Document-Id:新建文档的 UUID

文档初始 statuspending,解析完成后变为 ready(失败见文档字段 error_message)。

3. 查询进度(可选)

HEAD /v1/uploads/{upload_id}
Authorization: Bearer <token>

响应头:Upload-OffsetUpload-Length


创建 Markdown 笔记

无需上传二进制,直接写入文本:

POST /v1/knowledge-bases/{kb_id}/documents/note
Authorization: Bearer <token>
Content-Type: application/json

{
  "filename": "notes.md",
  "path": "/",
  "content": "# 标题\n正文…"
}
字段说明
filename文件名(建议 .md
path目录,默认 "/";编译层可用 "/wiki/"
contentMarkdown 正文;可含 YAML frontmatter(title / tags

成功201,返回文档对象;内容会立刻分块入库,可供检索。


相关