You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取OpenAI Thread中超出100条限制的历史消息?

获取OpenAI Thread完整消息的解决方案

OpenAI的线程消息API默认采用分页机制,即便设置limit=100(当前最大值),也只会返回一批最新的消息。要获取完整对话内容,需通过分页遍历所有消息,具体步骤如下:

  • 检查分页标识:每次调用GET /v1/threads/{thread_id}/messages?limit=100后,查看响应中的has_more字段。如果该值为true,说明还有更早的消息未被返回。
  • 使用before参数翻页:API默认按消息创建时间降序返回结果(最新消息在前)。要获取更早的消息,需将当前返回结果中**最后一条消息的id**作为before参数传入下一次调用,示例调用格式:
    GET https://api.openai.com/v1/threads/{thread_id}/messages?limit=100&before={last_message_id}
    
  • 合并所有结果:重复上述调用流程,直到has_more变为false。将每次返回的消息列表按顺序拼接(后续调用拿到的是更早的消息,需追加到已有结果的末尾),最终就能得到完整的对话内容。

你在Playground中看到的“可通过API获取截断消息”提示,正是对应这种分页获取机制——Playground本身仅显示部分最新消息,完整内容需要通过分页遍历API来获取。

内容的提问来源于stack exchange,提问作者phill99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 13:19:55