跳转到主要内容

端点

GET /api/history

概览

检索特定用户和可选会话的聊天对话历史记录。返回用户与 AI agent 之间交换的所有消息。
所有对话的聊天历史记录都会自动持久化到数据库中。会话(Sessions)可用于组织相关的对话。

请求参数

user_id
string
必填
要检索其历史记录的用户的唯一标识符
query_user_id
string
被查询数据的用户 ID(用于帮助询问功能)。默认为 user_id
session_id
string
可选的会话 ID,用于按特定对话线程进行筛选
limit
integer
默认值:"50"
返回消息的最大数量(最大值:100)
offset
integer
默认值:"0"
跳过的消息数量(用于分页)
curl "http://localhost:18080/api/history?user_id=user_123&session_id=session_abc&limit=20" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

响应格式

{
  "code": 0,
  "msg": "ok",
  "data": {
    "messages": [
      {
        "msg_id": "q_550e8400-e29b-41d4-a716-446655440000",
        "role": "user",
        "content": "我昨天走了多少步?",
        "timestamp": "2024-01-15T10:30:00.123Z",
        "session_id": "session_abc",
        "file_list": []
      },
      {
        "msg_id": "a_660e8400-e29b-41d4-a716-446655440001",
        "role": "assistant",
        "content": "根据您的 Garmin 数据,您昨天走了 10,543 步。这比您的每日平均步数多出约 200 步!",
        "timestamp": "2024-01-15T10:30:02.456Z",
        "session_id": "session_abc",
        "agent": "deep",
        "provider": "openrouter",
        "model": "anthropic/claude-3.5-sonnet",
        "tool_calls": [
          {
            "tool_name": "get_health_data",
            "arguments": "{\"indicator\": \"steps\", \"date\": \"2024-01-14\"}",
            "result": "{\"value\": 10543, \"unit\": \"steps\"}"
          }
        ]
      }
    ],
    "total": 2,
    "session_id": "session_abc"
  }
}

消息对象

字段类型描述
msg_idstring唯一消息标识符
rolestringuserassistant
contentstring消息文本内容
timestampstringISO 8601 时间戳
session_idstring会话标识符
file_listarray附加文件(仅限用户消息)
agentstring使用的 Agent(仅限助手消息)
providerstringLLM 提供商(仅限助手消息)
modelstring模型名称(仅限助手消息)
tool_callsarray调用的 MCP 工具(仅限助手消息)

其他端点

获取会话列表

GET /api/session
返回用户的所有会话及摘要

删除历史记录

POST /api/history/delete
删除特定消息或整个会话
对于共享会话(帮助询问功能),请使用 /api/history_by_person 端点检索您帮助其他用户的对话。