API文档

知识库

知识库管理 API

获取公开知识库列表

GET/knowledge-bases/public

获取所有公开的知识库列表,支持分页。

查询参数:

page
string
页码,从 1 开始
limit
string
每页数量(1-100)

响应数据:

{
  "success": true,
  "message": "操作成功",
  "data": {
    "items": [
      {
        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "name": "白洲梓角色资料",
        "description": "碧蓝档案中白洲梓的背景故事、性格特征与对话风格参考",
        "author": {
          "id": "8ebc8550-6d4b-4dd0-967b-3e1367a4abf1",
          "name": "Alice",
          "avatar": "https://cdn-momohub.hanasaki.tech/avatars/8ebc8550-6d4b-4dd0-967b-3e1367a4abf1.png"
        },
        "isPublic": true,
        "createdAt": "2026-01-01T00:00:00Z",
        "updatedAt": "2026-01-15T08:30:00Z"
      }
    ],
    "total": 10,
    "page": 1,
    "limit": 20,
    "totalPages": 1,
    "hasNext": false,
    "hasPrevious": false
  },
  "timestamp": "2026-01-15T08:30:00Z"
}

响应状态码:

状态码说明
200获取成功
400分页参数无效

搜索公开知识库

GET/knowledge-bases/search

根据关键词搜索知识库名称和描述,支持分页。

查询参数:

q
string
搜索关键词
page
string
页码,从 1 开始
limit
string
每页数量(1-100)

响应状态码:

状态码说明
200搜索成功
400查询参数无效

获取我的知识库列表

GET/knowledge-bases Auth

获取当前用户创建的所有知识库列表,支持分页。

查询参数:

page
string
页码,从 1 开始
limit
string
每页数量(1-100)

响应状态码:

状态码说明
200获取成功
400分页参数无效
401未登录或令牌无效

获取知识库详情

GET/knowledge-bases/{knowledgeBaseId}

获取指定知识库的详细信息。公开知识库无需认证,私有知识库需要是所有者。

响应状态码:

状态码说明
200获取成功
403无权访问该知识库
404知识库不存在

创建知识库

POST/knowledge-bases Auth

创建新的知识库,初始为空。

请求参数:

name
string required
知识库名称
description
string
知识库描述
isPublic
boolean
是否公开,默认 false

响应状态码:

状态码说明
201创建成功
400输入参数无效
401未登录或令牌无效

更新知识库

PUT/knowledge-bases/{knowledgeBaseId} Auth

更新指定知识库的名称、描述或公开状态。

响应状态码:

状态码说明
200更新成功
400输入参数无效
401未登录或令牌无效
403无权修改该知识库
404知识库不存在

删除知识库

DELETE/knowledge-bases/{knowledgeBaseId} Auth

删除指定知识库及其所有关联文件和文档。此操作不可撤销。

响应状态码:

状态码说明
204删除成功
401未登录或令牌无效
403无权删除该知识库
404知识库不存在

获取知识库统计

GET/knowledge-bases/{knowledgeBaseId}/stats

获取知识库的文件数量和文档数量统计。公开知识库无需认证,私有知识库需要是所有者。

响应数据:

{
  "success": true,
  "message": "操作成功",
  "data": {
    "knowledgeBaseId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "fileCount": 15,
    "documentCount": 230
  },
  "timestamp": "2026-01-15T08:30:00Z"
}

响应状态码:

状态码说明
200获取成功
403无权访问该知识库
404知识库不存在

获取知识库文件列表

GET/knowledge-bases/{knowledgeBaseId}/files

获取指定知识库中的所有文件列表。公开知识库无需认证,私有知识库需要是所有者。

响应数据:

{
  "success": true,
  "message": "操作成功",
  "data": [
    {
      "id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
      "knowledgeBaseId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "fileName": "白洲梓角色设定.pdf",
      "fileSize": 2048576,
      "fileType": "application/pdf",
      "status": "COMPLETED",
      "errorMessage": null,
      "createdAt": "2026-01-01T00:00:00Z",
      "updatedAt": "2026-01-01T00:05:00Z"
    }
  ],
  "timestamp": "2026-01-15T08:30:00Z"
}

文件处理状态:PENDING | PROCESSING | COMPLETED | FAILED

响应状态码:

状态码说明
200获取成功
403无权访问该知识库
404知识库不存在

获取文件详情

GET/knowledge-bases/{knowledgeBaseId}/files/{fileId} Auth

获取指定文件的详细信息。

响应状态码:

状态码说明
200获取成功
401未登录或令牌无效
403无权访问该文件
404文件不存在

上传文件

POST/knowledge-bases/{knowledgeBaseId}/files Auth

通过 multipart/form-data 上传文件到指定知识库,文件将被解析并向量化。支持 PDF、DOCX、TXT 等格式。

请求参数:

file
binary required
文件内容

响应状态码:

状态码说明
200上传成功
400输入参数无效或未上传文件
401未登录或令牌无效
403无权修改该知识库
404知识库不存在

删除文件

DELETE/knowledge-bases/{knowledgeBaseId}/files/{fileId} Auth

删除指定文件及其关联的所有文档片段。

响应状态码:

状态码说明
204删除成功
401未登录或令牌无效
403无权删除该文件
404文件不存在

重试失败的文件

POST/knowledge-bases/{knowledgeBaseId}/files/{fileId}/retry Auth

重新处理状态为失败的文件。

响应状态码:

状态码说明
200已加入重试队列
400文件状态不是失败
401未登录或令牌无效
403无权操作该文件
404文件不存在

搜索指定知识库

POST/knowledge-bases/{knowledgeBaseId}/search Auth

在指定知识库中进行向量相似度搜索。

请求参数:

query
string required
搜索查询文本
threshold
number
相似度阈值
limit
integer
返回结果数量

响应状态码:

状态码说明
200搜索成功
401未登录或令牌无效
403无权访问该知识库
404知识库不存在

搜索我的所有知识库

POST/knowledge/search Auth

在用户的所有知识库或指定的多个知识库中进行向量相似度搜索。

请求参数:

query
string required
搜索查询文本
knowledgeBaseIds
string[]
指定要搜索的知识库 ID 列表,不传则搜索所有
threshold
number
相似度阈值
limit
integer
返回结果数量

响应状态码:

状态码说明
200搜索成功
401未登录或令牌无效
403无权访问指定的知识库
404指定知识库不存在

搜索公开知识库

POST/knowledge/search/public

在所有公开的知识库中进行向量相似度搜索。

请求参数:

query
string required
搜索查询文本
knowledgeBaseIds
string[]
指定要搜索的公开知识库 ID 列表,不传则搜索所有公开知识库
threshold
number
相似度阈值
limit
integer
返回结果数量

响应状态码:

状态码说明
200搜索成功