# 获取会话LLM调用轨迹

`GET` `/api/session/trajectory`

根据会话ID或bizKey获取最近一次（或全量）LLM 调用的请求消息序列，用于复现/重放、训练数据导出等场景。bizKey与sessionId二选一，bizKey优先级更高。pruned=true（默认）表示精确还原最后一轮 LLM 调用时的请求（含 Prune+Token Budget 裁切）；pruned=false 表示返回全量历史不裁切。includeLastResponse 仅在 pruned=true 时生效，true（默认）输出完整轨迹（请求+响应），false 仅输出纯 request body，可直接重放。调用方需对会话归属拥有访问权限（用户模式按 user 维度、应用模式按 app 维度校验），无权访问将返回 403。身份说明：当您通过API访问本系统时，请求头中必须传递 X-Principal-Id 以标识操作主体；当您通过页面访问本系统时，无需传递。

## 请求参数

### 请求头参数

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| X-Principal-Id | integer | 否 | 身份主体ID（Long类型）。通过API访问时必须传递以标识操作主体；通过页面访问时无需传递。可通过「身份主体」模块的创建接口获取。 |

### Query 参数

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| sessionId | integer | 否 | 会话ID，与bizKey二选一 |
| bizKey | string | 否 | 业务键，与sessionId二选一，优先级高于sessionId |
| includeIncomplete | boolean | 否 | 是否包含未完成对话轮，默认 false |
| pruned | boolean | 否 | 是否精确还原最后一轮 LLM 调用时的请求（含 Prune+Token Budget 裁切），默认 true |
| includeLastResponse | boolean | 否 | 裁切模式下是否包含最后一轮 LLM 的响应结果（仅在 pruned=true 时生效），默认 true |

## 响应

### 200

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | SessionTrajectoryVO | 响应数据 |
|     sessionId | integer | 会话ID |
|     model | string | 使用的模型名称 |
|     agentId | integer | 关联的智能体ID |
|     agentName | string | 智能体名称 |
|     messages | array | 完整的LLM调用消息轨迹（OpenAI 风格 message 数组，含 role、content、tool_calls 等字段） |
|     tools | array | 工具定义列表（Function Call schema），与 messages 配套用于复现 LLM 调用上下文 |
|     totalMessageCount | integer | 原始消息数量（裁切前） |
|     totalTurnCount | integer | 对话轮数量 |
|     estimatedTokens | integer | 估算的 token 数 |
| success | boolean | 是否成功 |
| requestId | string | 上游请求ID，用于跨系统链路追踪排查问题 |
| errCode | string | 上游错误码，前端可据此做特殊UI处理 |

### 400

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | object | 响应数据 |
| success | boolean | 是否成功 |
| requestId | string | 上游请求ID，用于跨系统链路追踪排查问题 |
| errCode | string | 上游错误码，前端可据此做特殊UI处理 |

### 500

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | object | 响应数据 |
| success | boolean | 是否成功 |
| requestId | string | 上游请求ID，用于跨系统链路追踪排查问题 |
| errCode | string | 上游错误码，前端可据此做特殊UI处理 |

