# 会话管理接口

# POST /api/v1/sessions

功能: 创建会话

请求参数:

{
    "title": "会话标题",
    "description": "会话描述"
}

响应示例:

{
    "success": true,
    "data": {
        "id": "1fc13839-00c0-4fe7-93ab-bf50a6fb398f",
        "title": "会话标题",
        "description": "会话描述",
        "tenant_id": 10001,
        "created_at": "2026-03-05T14:32:39.449963696+08:00",
        "updated_at": "2026-03-05T14:32:39.449963755+08:00",
        "deleted_at": null
    }
}

请求参数说明:

参数名 类型 必填 说明
title string 会话标题
description string 会话描述

响应格式说明:

字段名 类型 说明
success boolean 请求是否成功
data object 创建的会话信息
data.id string 会话ID,唯一标识符
data.title string 会话标题
data.description string 会话描述
data.tenant_id integer 租户ID
data.created_at string 创建时间,ISO 8601格式
data.updated_at string 更新时间,ISO 8601格式
data.deleted_at string/null 删除时间,未删除时为null
data.updated_at string 更新时间,ISO 8601格式
data.deleted_at string/null 删除时间,未删除时为null
# GET /api/v1/sessions

功能: 获取租户的会话列表

请求参数:

  • page: 页码,默认为1,最小值为1 (查询参数)
  • page_size: 每页数量,默认为20,最小值为1,最大值为100 (查询参数)

响应示例:

{
  "success": true,
  "data": [
    {
      "id": "411d6b70-9a85-4d03-bb74-aab0fd8bd12f",
      "title": "会话标题",
      "description": "会话描述",
      "tenant_id": 10001,
      "created_at": "2025-08-12T12:26:19.611616+08:00",
      "updated_at": "2025-08-12T12:26:19.611616+08:00",
      "deleted_at": null
    }
  ],
  "total": 2,
  "page": 1,
  "page_size": 1
}

响应格式说明:

字段名 类型 说明
success boolean 请求是否成功
data array 会话列表
data[].id string 会话ID,唯一标识符
data[].title string 会话标题
data[].description string 会话描述
data[].tenant_id integer 租户ID
data[].created_at string 创建时间,ISO 8601格式
data[].updated_at string 更新时间,ISO 8601格式
data[].deleted_at string/null 删除时间,未删除时为null
total integer 总会话数量
page integer 当前页码
page_size integer 每页数量
# PUT /api/v1/sessions/:id

功能: 更新会话

请求参数:

  • id: 会话ID (路径参数)
  • title: 会话标题 (可选)
  • description: 会话描述 (可选)

请求示例:

{
  "title": "更新后的会话标题",
  "description": "更新后的会话描述"
}

响应示例:

{
  "success": true,
  "data": {
    "id": "session_1234567890",
    "title": "更新后的会话标题",
    "description": "更新后的会话描述",
    "tenant_id": 10001,
    "created_at": "2026-03-02T11:00:00+08:00",
    "updated_at": "2026-03-02T12:00:00+08:00",
    "deleted_at": null
  }
}
# DELETE /api/v1/sessions/:id

功能: 删除会话

请求参数:

  • id: 会话ID (路径参数)

响应示例:

{
  "success": true,
  "message": "会话删除成功"
}
# DELETE /api/v1/sessions/batch

功能: 批量删除会话

请求参数:

{
  "ids": [
    "411d6b70-9a85-4d03-bb74-aab0fd8bd12f",
    "ceb9babb-1e30-41d7-817d-fd584954304b"
  ]
}

响应示例:

{
  "message": "Sessions deleted successfully",
  "success": true
}
# POST /api/v1/sessions/:session_id/generate_title

功能: 生成会话标题

请求参数:

  • session_id: 会话ID (路径参数)
  • messages: 消息列表 (可选)

请求示例:

{
  "messages": [
    {
      "role": "user",
      "content": "你好,我想了解关于人工智能的知识"
    },
    {
      "role": "assistant",
      "content": "人工智能是计算机科学的一个分支..."
    }
  ]
}

响应示例:

{
  "data": "模型优化策略",
  "success": true
}
# POST /api/v1/sessions/:session_id/stop

功能: 停止会话

请求参数:

  • session_id: 会话ID (路径参数)
  • message_id: 消息ID (必要,最后未停止的消息id)

请求示例:

{
  "message_id": "ebbf7e53-dfe6-44d5-882f-36a4104910b5"
}

响应示例:

{
  "message": "Session stopped successfully",
  "success": true
}
# GET /api/v1/sessions/continue-stream/:session_id

功能: 继续未完成的会话

请求参数:

  • session_id: 会话ID (路径参数)
  • message_id: 消息ID (查询参数,从消息接口中获取的is_completed为false的消息ID)

响应格式: 服务器端事件流(Server-Sent Events),与知识问答对话接口返回结果一致