路径
GET /messages/:threadId
公网入口 https://agentapi.kira.art/messages/:threadId。直接读 Supabase messages 表。
认证
eitherAuth():Authorization: Bearer <Supabase JWT> 或 X-Internal-Key: <INTERNAL_KEY>。按 resource_id = jwtPayload.sub 过滤,天然隔离他人数据。
请求
无 body。threadId 走路径参数。
响应
经ChatMessagesResponseSchema / ResponseMessageSchema(src/hono/agent/models.ts)校验:
- 只有 v5 格式,无 v4 兼容:DB 已 batch 迁完 v5,handler 不做任何 backward-compat 转换。
- 时间升序:
.order("created_at", { ascending: true })。 - 过滤空消息:仅返回
parts为非空数组的消息。 - 查询条件
thread_id = :threadId AND resource_id = <userId>。
正在跑的 task 其用户消息在 run 期间不入库,故不会出现在本结果里。需要拼回末尾时用
GET /thread/:threadId/current-task 返回的 userMessage。状态码
| 码 | 含义 |
|---|---|
200 | 返回 { messages: [...] }(可能为空数组) |
401 | 缺少有效 JWT / jwtPayload.sub |
500 | DB 查询失败(Failed to fetch messages) |
示例
源
src/hono/agent/index.ts:468、src/hono/agent/models.ts:36(ResponseMessageSchema)、:56(ChatMessagesResponseSchema)