检索特定用户和可选会话的聊天对话历史记录。返回用户与 AI agent 之间交换的所有消息。
所有对话的聊天历史记录都会自动持久化到数据库中。会话(Sessions)可用于组织相关的对话。
请求参数
被查询数据的用户 ID(用于帮助询问功能)。默认为 user_id。
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_id | string | 唯一消息标识符 |
role | string | user 或 assistant |
content | string | 消息文本内容 |
timestamp | string | ISO 8601 时间戳 |
session_id | string | 会话标识符 |
file_list | array | 附加文件(仅限用户消息) |
agent | string | 使用的 Agent(仅限助手消息) |
provider | string | LLM 提供商(仅限助手消息) |
model | string | 模型名称(仅限助手消息) |
tool_calls | array | 调用的 MCP 工具(仅限助手消息) |
其他端点
对于共享会话(帮助询问功能),请使用 /api/history_by_person 端点检索您帮助其他用户的对话。