Ollama 与 Fly.io Sprites:通过 Ollama 连接器安全地使用云端模型运行 AI 代理

现在可以在 Fly.io Sprites(Fly.io 为运行 AI 代理而构建的沙盒 Linux 虚拟机)内部使用 Ollama Cloud。该集成以新的 Ollama 连接器形式提供,该连接器将您的 Ollama API 密钥存储在 Fly.io 组织级别,并在网关处注入,因此沙盒内运行的代理永远不会持有该凭据。

这一公告之所以重要,是因为它分离了代理部署中通常混淆的两件事:调用前沿模型的能力,以及安全运行不可信的、由模型生成的命令的能力。Sprites 提供隔离的执行环境;Ollama 连接器提供对 Ollama 云端模型的有范围、无密钥的访问。

什么是 Fly.io Sprites

Sprite 是 Fly.io 的沙盒。每个 Sprite 都是一个完整的 Linux 虚拟机,拥有自己的磁盘,并在会话之间持久化。

Claude Code、Codex 和 Gemini CLI 开箱即用,这允许代理在沙盒内运行命令,而不是在开发者的机器上。

哪些 Ollama 模型可用

借助 Ollama 连接器,Sprites 可以调用 Ollama 的云端模型。公告中提到了三个示例:kimi-k3、glm-5.3 和 deepseek-v4.1-flash。

Ollama 连接器如何保护 API 密钥

您将 Ollama API 密钥添加到您的 Fly.io 组织,Fly.io 会对其进行加密,并且永远不会通过 API 返回它。

当 Sprite 内的代码调用 Ollama 时,请求会通过 Fly.io 网关。网关检查是哪个 Sprite 在调用,并将您的密钥添加到请求中。Sprite 本身只知道网关 URL 和连接 ID。

Ollama 和 Fly.io 为此设计声明的安全属性如下:

  • Sprite 中的代理无法泄露您的密钥。
  • 默认情况下,新连接器会阻止每个 Sprite。您可以选择哪些 Sprite 可以访问:按标签、按名称前缀或全部。
  • 调用只能从 Sprite 内部进行。

设置:将 Ollama 连接器添加到 Fly.io 组织

您需要一个 Ollama API 密钥和至少一个 Sprite。

  1. 在 Fly.io 仪表板中,打开 Sprites,然后打开 Connectors,并添加一个带有您的 API 密钥的 Ollama 连接器。
  2. 在 Access Configuration 下,选择哪些 Sprites 可以使用它并保存。
  3. 点击 Sprite 旁边的 Test reachability,检查它是否可以访问 Ollama。

使用 curl 从 Sprite 内部调用 Ollama

连接器页面显示带有您的连接 ID 的请求命令。没有 Authorization 头,因为网关会添加您的密钥。

curl "https://api.sprites.dev/v1/gateway/ollama/<connection_id>/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -d '{"model": "kimi-k3", "messages": [{"role": "user", "content": "Hello!"}]}'

使用 Python 从 Sprite 内部调用 Ollama

任何 OpenAI SDK 都可以使用。将 base_url 设置为网关,并为 api_key 使用任何值。

from openai import OpenAI

client = OpenAI(
    base_url="https://api.sprites.dev/v1/gateway/ollama/<connection_id>/v1",
    api_key="unused",
)

response = client.chat.completions.create(
    model="glm-5.3",
    messages=[{"role": "user", "content": "Why is the sky blue?"}],
)
print(response.choices[0].message.content)

Ollama 的原生 /api/* 路由也可以通过网关工作,因此现有的 Ollama 客户端代码无需重写即可使用 OpenAI 兼容路径。

编码代理自动获得 Ollama 支持

Fly.io Sprites 附带一个技能,可以告知 Claude Code、Cursor、Codex 和 Gemini CLI 关于 Ollama 的信息。如果 Sprite 可以访问该连接器,代理无需任何额外设置即可使用 Ollama 模型。

示例用例:多模型模糊测试

Fly.io 发布了一份指南,使用多个模型一起进行模糊测试。像 nemotron-3-nano:30b 这样的小型模型生成格式错误的输入,Sprite 对您的程序运行这些输入,而像 kimi-k3 这样的大型模型检查由此产生的崩溃。在两个角色之间切换只需更改请求中的 model 字段。

此集成的用途

Ollama 连接器针对的是代理既需要强大的云端模型,又需要一个可以执行可能具有敌意或仅仅是错误的代码的地方的情况。沙盒提供隔离和持久磁盘;网关提供凭据和访问策略。代理及其运行的代码都不会看到 Ollama API 密钥。

Sources