使用 Ruby SDK 运行
当你想从 Ruby 中向智能体发送消息时,请使用官方的fetch_hive gem。该 SDK 封装了公开的 POST /v1/agent/invoke 端点,处理身份验证,通过块支持流式响应,并接受多模态输入。
安装
在Gemfile 中添加:
faraday,支持 Ruby 3.0+。
身份验证
将FETCH_HIVE_API_KEY 环境变量设置为你的工作区 API 密钥(客户端会自动读取):
基本示例
向智能体发送消息并读取最终响应:方法参考
| 关键字 | 类型 | 必填 | 说明 |
|---|---|---|---|
agent | String | 是 | 智能体 ID |
message | String | 是 | 你想发送的消息 |
thread_id | String | 否 | 标识持久会话线程的任意字符串 |
messages | Array<Hash> | 否 | 调用方管理的对话历史。每一项格式为:{ role: "user" | "assistant" | "system", content: String }。 |
image_urls | Array<String> | 否 | 用于多模态输入、附加到当前 message 的 HTTPS 图像 URL |
user | String | 否 | 在用户追踪中显示的不透明调用方标识符 |
metadata | Hash | 否 | 由调用方定义的扁平元数据,用于审计和日志筛选。请参阅调用元数据 |
invoke_agent 注入 streaming: false。要进行流式调用,请使用 invoke_agent_stream(见下文)。
处理响应
流式
使用invoke_agent_stream 在事件到达时接收 Server-Sent Events。该方法会将每个解析后的事件 hash 提供给块:
summary(在自动摘要触发时)、reasoning、response、tool、最终的 usage 事件,或在提供商在流过程中失败时的 error 事件。
如果省略块,该方法会返回一个可传递的 Enumerator:
多轮对话
持久化线程
将任意字符串作为thread_id 传入,Fetch Hive 会在首次调用时创建该线程,并在每次使用相同值的后续调用中恢复该线程:
无状态历史
自行管理状态,在messages 中传入先前的回合。Fetch Hive 会将提供的历史用作上下文,但不会持久化:
多模态输入
使用image_urls 在当前消息上附加图像:
https:// 开头。
配置
| 选项 | 默认值 | 说明 |
|---|---|---|
api_key | ENV["FETCH_HIVE_API_KEY"] | 控制台中的 Bearer 令牌 |
base_url | https://api.fetchhive.com/v1 | 覆盖 API 基础 URL |
timeout | 120 | 请求超时(秒) |
错误
非 2xx 响应会引发带状态码和响应体的RuntimeError。如果你需要处理失败,请使用 rescue 捕获:
链接
下一步
- 通过 API 运行 - 使用 cURL 的相同流程
- 使用 Python SDK 运行
- 使用 Node.js SDK 运行
- 使用 PHP SDK 运行
- Invoke Agent - 完整端点参考

