使用 PHP SDK 运行
当你想从 PHP 中向智能体发送消息时,请使用官方的fetch-hive/sdk Composer 包。该 SDK 封装了公开的 POST /v1/agent/invoke 端点,处理身份验证,以生成器(generator)的形式公开流式响应,并接受多模态输入。
安装
身份验证
将FETCH_HIVE_API_KEY 环境变量设置为你的工作区 API 密钥(客户端会自动读取):
基本示例
向智能体发送消息并读取最终响应:方法参考
该 SDK 为
invokeAgent 注入 streaming: false。要进行流式调用,请使用 invokeAgentStream(见下文)。
处理响应
流式
使用invokeAgentStream 在事件到达时接收 Server-Sent Events。该方法返回一个 Generator:
summary(在自动摘要触发时)、reasoning、response、tool、最终的 usage 事件,或在提供商在流过程中失败时的 error 事件。
多轮对话
持久化线程
将任意字符串作为thread_id 传入,Fetch Hive 会在首次调用时创建该线程,并在每次使用相同值的后续调用中恢复该线程:
无状态历史
自行管理状态,在messages 中传入先前的回合。Fetch Hive 会将提供的历史用作上下文,但不会持久化:
多模态输入
使用attachments 在当前消息上附加图像:
https:// 开头。
配置
错误
非 2xx 响应会抛出FetchHive\Sdk\Exception\ApiException,携带状态码和响应体:
链接
下一步
- 通过 API 运行 - 使用 cURL 的相同流程
- 使用 Python SDK 运行
- 使用 Node.js SDK 运行
- 使用 Ruby SDK 运行
- Invoke Agent - 完整端点参考
工具审批
当工具需要审批时,调用响应包含status: "awaiting_approval" 和 pending_tool_approvals。使用 decideToolActionApproval(workspaceId, approvalId, "allow_once") 或 "deny" 做出决定。用 listToolActionApprovals 列出待审批项,或用 getToolActionApproval 获取一条。always_allow 只能在控制台中设置。
API 密钥调用会在决定之后由服务器继续。轮询这次运行,或使用 webhook。不要发送 decided_tool_approvals。
工作区所有者或管理员可以在“设置 → API 密钥”中允许该密钥自动批准操作。在 invokeAgent、invokeAgentStream 或 invokeWorkflow 上传递 tool_approval: "auto_approve"。它只作用于这一次调用。省略该字段或发送 "policy" 时,遵循工作区规则以及已保存的自动批准开关。破坏性操作仍然会询问。拒绝规则仍然会阻止操作。参见工具审批。
