跳转到内容
搜索文档

更新日志

Cloudflare 的最新更新与改进。

通过 AI Gateway 全新的 REST API 调用任何 AI 模型

AI Gateway 现在开始使用 api.cloudflare.com 上的 AI REST API。无论提供商是 OpenAI、Anthropic、Google 还是托管在 Workers AI 上,您都可以通过一个统一的 API 调用任何模型,并使用相同的端点和身份验证方式。共有四个端点可用:

  • POST /ai/run — 适用于所有模型和模态的通用端点
  • POST /ai/v1/chat/completions — 兼容 OpenAI SDK
  • POST /ai/v1/responses — 兼容 OpenAI Responses API
  • POST /ai/v1/messages — 兼容 Anthropic SDK
curl -X POST "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/chat/completions" \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "openai/gpt-5.5",
    "messages": [{"role": "user", "content": "What is Cloudflare?"}]
  }'

所有的 AI Gateway 功能(日志记录、缓存、速率限制和护栏)都会自动应用。第三方模型将通过统一计费(Unified Billing)进行计费,因此您无需管理单独的提供商 API 密钥。

第三方模型请求将通过您账户的默认网关(Gateway)进行路由,该网关会在首次使用时自动创建。若要通过特定网关路由请求,请添加 cf-aig-gateway-id 标头。

如果您已经通过现有的 REST API 调用 Workers AI 模型,该路径(/ai/run/@cf/{model})将继续有效。若要通过 AI Gateway 调用 Workers AI 模型,请使用 @cf/ 模型前缀(例如,@cf/moonshotai/kimi-k2.6)并包含 cf-aig-gateway-id 标头来指定要路由到的网关。

欲了解更多细节和示例,请参阅 REST API 文档

Agents SDK v0.12.4:对话恢复、路由重试、持久化 Think 提交及 Voice 连接控制

Agents SDK 的最新版本带来了更可靠的对话恢复、修复了重连时的 Agent 状态同步、添加了 Think 的持久化提交、暴露了路由重试配置,并为 Voice agents 添加了连接控制。

对话恢复改进

@cloudflare/ai-chat 现在在浏览器或客户端流中断时保持服务端 turn 继续运行。这对于长时间运行的 AI 响应场景非常有用,例如用户刷新页面、关闭标签页或临时断线。调用 stop() 仍会取消服务端 turn。

如果浏览器或客户端中止也应取消服务端 turn,请设置 cancelOnClientAbort: true

const chat = useAgentChat({
	agent: "assistant",
	name: "user-123",
	cancelOnClientAbort: true,
});
const chat = useAgentChat({
	agent: "assistant",
	name: "user-123",
	cancelOnClientAbort: true,
});

主要 bug 修复:

  • 对话流恢复协商不再在 replay 与关闭的 WebSocket 连接竞争时抛出异常。
  • 恢复的对话续传不再在原始 socket 在终端响应前断开时,导致 useAgentChat 卡在流式传输状态。
  • 审批自动续传保留推理部分,并在最终消息中持久化续传推理。
  • 当恢复的流从备用观察路径切换到传输拥有的流时,isServerStreaming 现在能正确重置。

Agent 状态和路由修复

agents@0.12.4 防止在 WebSocket 连接设置期间出现重复的初始状态帧。这避免了过时的初始状态消息覆盖客户端已发送的状态更新。

当工具调用跨越 Durable Object 重启时,Agent 恢复也更加可靠。恢复现在会将用户完成钩子推迟到 agent 启动后,并隔离钩子失败,因此一个失败的钩子不会阻止其他恢复的运行完成。

getAgentByName() 现在支持 routingRetry,用于处理瞬态 Durable Object 路由失败:

import { getAgentByName } from "agents";

const agent = await getAgentByName(env.AssistantAgent, "user-123", {
	routingRetry: {
		maxAttempts: 3,
	},
});
import { getAgentByName } from "agents";

const agent = await getAgentByName(env.AssistantAgent, "user-123", {
	routingRetry: {
		maxAttempts: 3,
	},
});

持久化 Think 提交

@cloudflare/think 现在支持持久化的程序化提交。submitMessages() 提供持久化接受、幂等重试、状态检查、取消和清理功能,适用于应在调用方返回后继续运行的服务器驱动 turn。

Think.chat() RPC turn 现在在对话恢复 fiber 内运行并持久化其流式数据块。中断的子 agent turn 可以恢复部分输出,而不必从头开始。

ChatOptions.tools 已从 TypeScript API 中移除。请在子 agent 上定义持久化工具,或使用 agent 工具进行编排。遗留调用者传入的运行时 options.tools 值将被忽略并产生警告。

Think 消息裁剪行为变更

@cloudflare/think 默认不再对模型上下文应用 pruneMessages({ toolCalls: "before-last-2-messages" })。以前的默认行为可能会从较长的多轮流程中剥离客户端工具结果。

truncateOlderMessages 仍照常运行,因此上下文成本保持有界。依赖旧的激进裁剪行为的子类可以从 beforeTurn 重新启用:

import { Think } from "@cloudflare/think";
import { pruneMessages } from "ai";

export class MyAgent extends Think {
	beforeTurn(ctx) {
		return {
			messages: pruneMessages({
				messages: ctx.messages,
				toolCalls: "before-last-2-messages",
			}),
		};
	}
}
import { Think } from "@cloudflare/think";
import { pruneMessages } from "ai";

export class MyAgent extends Think<Env> {
	beforeTurn(ctx) {
		return {
			messages: pruneMessages({
				messages: ctx.messages,
				toolCalls: "before-last-2-messages",
			}),
		};
	}
}

Voice agent 连接控制

@cloudflare/voiceuseVoiceAgent 添加了 enabled 选项。React 应用现在可以延迟创建和连接 VoiceClient,直到所需条件(如能力令牌)就绪。

const voice = useVoiceAgent({
	agent: "MyVoiceAgent",
	enabled: Boolean(token),
});
const voice = useVoiceAgent({
	agent: "MyVoiceAgent",
	enabled: Boolean(token),
});

此版本还修复了 Workers AI 语音转文字会话的边界情况,以及 AI SDK textStream 响应中 withVoice 文本流的问题。

其他改进

  • Streamable HTTP 路由 — 当没有独立 SSE 流可用时,服务器到客户端的请求现在通过原始 POST 流路由。
  • 结构化工具输出 — 裁剪旧消息或超大持久化行时会保留工具输出的形状。
  • 非对话 Think 工具步骤 — Think agent 工具子项可在不发出助手文本的情况下完成,并可通过 getAgentToolOutput 返回结构化输出。
  • 子 agent 调度 — 当拥有 facet 注册条目不再存在时,过时的子 agent 调度行会被清理。
  • @cloudflare/codemode — 添加了带有 iframe sandbox 执行器的浏览器安全导出,并在 sandbox 内解析 OpenAPI 规范以避免 Worker Loader RPC 大小限制。

升级

升级到最新版本:

npm i agents@latest @cloudflare/ai-chat@latest @cloudflare/think@latest @cloudflare/voice@latest

更多信息请参阅 Agents API 参考对话 agents 文档

Workers AI 上计划的模型弃用

我们正在更新 Workers AI 模型目录,以为新发布的版本让出空间。请在弃用日期之前更新您的应用程序,以移除对下列模型的引用。

推荐替代方案

有关定价,请参阅 Workers AI 定价页面

Kimi K2.5

我们最初表示 Kimi K2.5 将于 2026 年 5 月 10 日弃用,但我们已将弃用日期延长至 2026 年 5 月 30 日。请求将于 2026 年 5 月 30 日自动别名(aliased)到价格更高的 Kimi K2.6。请在 2026 年 5 月 30 日之前查看 @cf/moonshotai/kimi-k2.6 的定价和模型能力,以确保该模型满足您的需求。

于 2026 年 5 月 30 日弃用的模型

  • @cf/moonshotai/kimi-k2.5 --> @cf/moonshotai/kimi-k2.6
  • @hf/meta-llama/meta-llama-3-8b-instruct
  • @cf/meta/llama-3-8b-instruct
  • @cf/meta/llama-3-8b-instruct-awq
  • @cf/meta/llama-3.1-8b-instruct
  • @cf/meta/llama-3.1-8b-instruct-awq
  • @cf/meta/llama-3.1-70b-instruct
  • @cf/meta/llama-2-7b-chat-int8
  • @cf/meta/llama-2-7b-chat-fp16
  • @cf/mistral/mistral-7b-instruct-v0.1
  • @hf/mistral/mistral-7b-instruct-v0.2
  • @hf/google/gemma-7b-it
  • @cf/google/gemma-3-12b-it
  • @hf/nousresearch/hermes-2-pro-mistral-7b
  • @cf/microsoft/phi-2
  • @cf/defog/sqlcoder-7b-2
  • @cf/unum/uform-gen2-qwen-500m
  • @cf/facebook/bart-large-cnn

保持活跃的变体

模型的 -fast-lora 变体将保持活跃,包括:

  • @cf/meta/llama-3.3-70b-instruct-fp8-fast
  • @cf/meta/llama-3.1-8b-instruct-fast
  • @cf/google/gemma-7b-it-lora
  • @cf/google/gemma-2b-it-lora
  • @cf/mistral/mistral-7b-instruct-v0.2-lora
  • @cf/meta-llama/llama-2-7b-chat-hf-lora

LoRA 模型在未来可能会被弃用。我们将向目录中添加更多 LoRA 功能,并会在新的 LoRA 模型上线时进行沟通,以便在弃用旧模型之前给用户留出训练新 LoRA 的时间。

如需获取可用模型的完整列表,请参阅 Workers AI 模型目录