API 文档
人工输入接口
查询待回答请求,关联 WebHook,并提交明确的回答或审批结果。
Agent 可能请求补充信息、确认连接器操作或批准定时任务提案。外部系统可订阅 user_input.requested,再让任务所属用户查询和回答。此接口位于 /api/v1,使用登录 Token;原始对话 API Key 不能直接调用。
查询请求
curl 'https://<poco-host>/api/v1/user-input-requests?session_id=<session-uuid>' \
-H 'Authorization: Bearer <poco-login-token>'GET 返回 {code,message,data},data 为当前用户的请求数组。可省略 session_id 查询当前用户;resolved_scheduled_task_run_ids 支持传递需解析的定时运行 ID 列表。每条请求包含:
| 字段 | 用途 |
|---|---|
id、session_id | 回答关联 ID 和所属会话 |
tool_name、tool_input | 请求类型、问题或提案内容 |
status、expires_at | 当前状态和有效期 |
answers、answered_at | 已提交回答和时间 |
通常返回待回答项;定时任务提案也可保留已处理状态用于展示,不能假设数组所有项都是 pending。tool_input 可经过规范化或敏感配置清理,不应当作完整原始凭据或调用参数。
提交回答
curl -X POST 'https://<poco-host>/api/v1/user-input-requests/<request-uuid>/answer' \
-H 'Authorization: Bearer <poco-login-token>' \
-H 'Content-Type: application/json' \
-d '{"answers":{"问题标识":"用户选择或输入的答案"}}'answers 是字符串到字符串的映射,问答键应按本次请求的 tool_input 构建,不要给不同问题复用固定键。确认型请求有明确契约:
| tool_name | 可提交的 answers |
|---|---|
ConnectorAction | {"approved":"true"} 或 {"approved":"false"},每次操作都需要单独确认 |
ScheduledTaskProposal | {"approved":"true"} 或 {"approved":"false"} |
批准是用户决定,接收 WebHook 本身不代表同意。成功返回更新后的请求;定时任务提案批准可能创建任务,后续应读取返回状态。
状态与错误
只处理归属于当前用户的普通会话请求;外嵌会话使用其专用入口。不存在返回业务错误,非所属会话或无权回答被拒绝。请求过期、运行已不可用或已非 pending 时不能正常提交;已回答的定时任务提案允许返回既有结果,其他请求不能据此推断支持任意重复回答。
接收端存储 request_id,按 expires_at 和当前状态展示,收到 user_input.answered 后更新外部待办。同一会话可有多个请求,应按 request_id 关联。事件载荷见 自动化与交互事件,授权方式见 鉴权。