查询会话消息

读取可见会话中已保存的消息。此接口只读;新消息由智能体调用的 A2A 运行时写入,不通过此接口创建。

GET https://moi.matrixorigin.cn/newmoi/workspaces/{workspace_id}/conversations/{conversation_id}/messages

调用前准备

查询会话详情创建会话取得会话 ID。准备有目标工作区访问权限的个人访问令牌、目标工作区 ID 和会话 ID。

下方示例使用:

  • $AI_STUDIO_API_KEY:实际个人访问令牌,通过 X-API-Key Header 传递。

  • $WORKSPACE_ID:目标工作区 ID,通过 X-Workspace-ID Header 传递。

  • $CONVERSATION_ID:要查询消息的会话 ID。

  • $AGENT_ID:可选的智能体筛选 ID。

路径参数

参数

类型

是否必填

说明

workspace_id

string

当前工作区 ID,必须与 X-Workspace-ID 一致。

conversation_id

string

要查询消息的会话 ID。

查询参数

参数

类型

是否必填

说明

agent_id

string

仅查询属于指定智能体的会话。未提供时不按智能体 ID 过滤。

agent_workspace_id

string

智能体所属工作区 ID。指定 agent_id 时未提供该参数则使用当前工作区;只能指定当前工作区或系统工作区。

role

string

按消息角色筛选。

limit

integer

单次返回数量。未提供或小于等于 0 时为 50,最大为 200

offset

integer

返回偏移量。未提供或小于 0 时为 0

请求示例

curl --get "https://moi.matrixorigin.cn/newmoi/workspaces/$WORKSPACE_ID/conversations/$CONVERSATION_ID/messages" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  --data-urlencode "agent_id=$AGENT_ID" \
  --data-urlencode "role=assistant" \
  --data-urlencode "limit=50"

成功响应

成功时返回 200data.items 是本页已保存的消息,按会话消息序号提供关联信息和内容分段。

{
  "code": 0,
  "data": {
    "items": [
      {
        "id": "msg_01",
        "workspace_id": "ws_01",
        "conversation_id": "conv_01",
        "task_id": "task_01",
        "agent_id": "agent_01",
        "role": "assistant",
        "parts": [
          {
            "kind": "text",
            "text": "分析已完成"
          }
        ],
        "seq": 2,
        "created_at": "2026-01-02T15:04:05Z"
      }
    ],
    "total": 1,
    "limit": 50,
    "offset": 0
  }
}

响应字段如下。

本文中,字段路径中的 [] 表示数组中的每一项。例如,items[].name 表示 items 数组中每一项的 name 字段。

字段

类型

说明

code

integer

成功时为 0

data.items

object(对象数组)

本页消息列表。

data.items[].id

string

消息 ID。

data.items[].workspace_id

string

消息所属工作区 ID。

data.items[].conversation_id

string

消息所属会话 ID。

data.items[].task_id

string

关联任务 ID;没有关联任务时不返回。

data.items[].agent_id

string

关联智能体 ID;没有关联智能体时不返回。

data.items[].manifest_id

string

关联运行时清单 ID;没有关联清单时不返回。

data.items[].role

string

消息角色。

data.items[].parts

object(对象数组)

消息内容分段。每个元素的字段由消息分段类型决定。

data.items[].parent_message_id

string

父消息 ID;没有父消息时不返回。

data.items[].seq

integer

会话内消息序号。

data.items[].created_at

string

消息创建时间,采用 RFC 3339 格式。

data.total

integer

符合筛选条件的消息总数。

data.limit

integer

本次实际采用的返回数量上限。

data.offset

integer

本次实际采用的偏移量。

错误响应

{
  "code": 3,
  "message": "会话不存在"
}

常见 HTTP 错误

HTTP 状态码

错误代码

常见原因

建议操作

400

2INVALID_ARGUMENT

会话 ID、智能体筛选参数或分页参数无效。

检查路径和查询参数。

404

3NOT_FOUND

会话不存在、不可见,或不属于指定的智能体范围。

确认会话 ID 和智能体筛选条件。

500

1INTERNAL

服务端无法查询消息或生成消息展示数据。

记录请求时间和错误信息后重试。

503

15UNAVAILABLE

会话服务暂不可用。

稍后重试。

后续操作

使用查询会话详情读取会话的当前展示信息和活动任务关联。

最后更新于