mosoodocs
简体中文

Quickstart

用 curl 在已发布的 Mosoo Agent 上创建 Thread。

创建一个已发布 Agent 的 Thread,发送一条后续消息,读取公开事件日志,并附加一个文件。

开始前

你需要:

  • Mosoo 中一个已发布并启用 API access 的 Agent。
  • Agent API Access 面板中的 agentId
  • 一个有权限调用该 Agent 的 Mosoo API token。
export MOSOO_API_BASE="https://try.mosoo.ai/api/v1"
export MOSOO_API_TOKEN="mst_..."
export MOSOO_AGENT_ID="01J00000000000000000000001"

v1 资源 ID 是不带前缀的 ULID,不是 agent_...thread_... 这类前缀 ID。

1. 创建 Thread

Thread 是已发布 Agent 的 API 对话容器。创建时带上 input 会同时排队第一个 Run。

curl -X POST "$MOSOO_API_BASE/agents/$MOSOO_AGENT_ID/threads" \
  -H "Authorization: Bearer $MOSOO_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: quickstart-create-thread" \
  -d '{
    "client_external_ref": "quickstart-001",
    "input": {
      "type": "user.message",
      "content": [
        {
          "type": "text",
          "text": "Say hello and explain what you can help with."
        }
      ]
    }
  }'

从响应中复制 thread.id

export MOSOO_THREAD_ID="01J00000000000000000000009"

2. 发送另一条消息

使用 thread.id 继续同一个 Agent 交互。

curl -X POST "$MOSOO_API_BASE/threads/$MOSOO_THREAD_ID/events" \
  -H "Authorization: Bearer $MOSOO_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: quickstart-send-message-1" \
  -d '{
    "events": [
      {
        "type": "user_message",
        "clientRequestId": "quickstart-message-1",
        "text": "Give me the three most important next steps."
      }
    ]
  }'

当当前 Run 正在等待输入或仍在执行时,也可以发送 permission_decisionuser_interrupt

3. 读取事件日志

按时间顺序读取公开事件:

curl "$MOSOO_API_BASE/threads/$MOSOO_THREAD_ID/events?limit=100" \
  -H "Authorization: Bearer $MOSOO_API_TOKEN"

事件日志是读取结果的稳定位置。它可能包含用户消息、Agent message delta、thinking delta、工具状态、文件变化、用量更新和 Run 状态。

4. 附加文件

先把文件上传到 Agent:

printf 'Customer asks for an implementation plan.' > brief.txt

curl -X POST "$MOSOO_API_BASE/agents/$MOSOO_AGENT_ID/files" \
  -H "Authorization: Bearer $MOSOO_API_TOKEN" \
  -F "file=@brief.txt;type=text/plain"

从响应中复制 file.id

export MOSOO_FILE_ID="01J0000000000000000000000J"

在后续用户消息中带上这个文件:

curl -X POST "$MOSOO_API_BASE/threads/$MOSOO_THREAD_ID/events" \
  -H "Authorization: Bearer $MOSOO_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: quickstart-file-message-1" \
  -d '{
    "events": [
      {
        "type": "user_message",
        "clientRequestId": "quickstart-file-message-1",
        "resources": [
          {
            "type": "file",
            "file_id": "01J0000000000000000000000J"
          }
        ],
        "text": "Summarize the attached file."
      }
    ]
  }'

如果要在首条用户消息中带文件,请在第 1 步之前上传文件,并把同一个 resources 数组加入 create-Thread 请求。

On this page