惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LINUX DO - 最新话题
小众软件
小众软件
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The GitHub Blog
The GitHub Blog
T
Tailwind CSS Blog
Recorded Future
Recorded Future
雷峰网
雷峰网
WordPress大学
WordPress大学
A
Arctic Wolf
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Project Zero
Project Zero
T
Tor Project blog
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
Spread Privacy
Spread Privacy
G
Google Developers Blog
Security Latest
Security Latest
MongoDB | Blog
MongoDB | Blog
T
Threatpost
I
InfoQ
T
Tenable Blog
T
The Exploit Database - CXSecurity.com
S
Security Affairs
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
C
Cisco Blogs
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
aimingoo的专栏
aimingoo的专栏
C
CXSECURITY Database RSS Feed - CXSecurity.com
美团技术团队
Google DeepMind News
Google DeepMind News
The Hacker News
The Hacker News
D
Docker
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
PCI Perspectives
PCI Perspectives
Microsoft Azure Blog
Microsoft Azure Blog
C
CERT Recently Published Vulnerability Notes
月光博客
月光博客
Cloudbric
Cloudbric
A
About on SuperTechFans
F
Fortinet All Blogs

Hacker News - Newest: "AI"

AI can't read an investor deck AI as an attorney? Student uses ChatGPT, Gemini to sue UW over alleged racial discrimination Hacking MCP Servers in AI Systems – The Rug Pull: Tool Changes After Approval GitHub - MeepCastana/KubeezCut: Free Web based video editor GitHub - GenAI-Gurus/awesome-eu-ai-act: Curated tools, official sources, OSS, templates, and guides for EU AI Act compliance. Can AI judge journalism? A Thiel-backed startup says yes, even if it risks chilling whistleblowers Coming soon: 10 Things That Matter in AI Right Now DARPA built an AI to fact-check enemy weapons claims What explains heterogeneity in AI adoption? When AI Meets Muscle: Context-Aware Electrical Stimulation Promises a New Way to Guide Human Movements - Department of Computer Science AI Changed How We Build. It Did Not Change What Matters. Linux rules on using AI-generated code - Copilot is OK, but humans must take 'full responsibility for the… Meta spins up AI version of Mark Zuckerberg to engage with employees Code Mode: Let Your AI Write Programs, Not Just Call Tools | TanStack Blog GitHub - Delavalom/graft: Go framework for building AI agents. Type-safe tools, multi-provider (OpenAI, Anthropic, Gemini, Bedrock), zero vendor SDKs. India's TCS tops estimates, says new AI models did not dent services demand Gen Z's fading AI hype Strong feeling: we are in a folded AI reality GitHub - machinarii/total-recall-catalog: A reference catalog of latest knowledge retrieval, memory & RAG systems GitHub - mensfeld/code-on-incus: Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically.. Quantization, LoRA, and the 8% Problem: Benchmarking Local LLMs for Production AI Iran war: We spoke to the man making Lego-style AI videos that experts say are powerful propaganda Powell, Bessent discussed Anthropic's Mythos AI cyber threat with major U.S. banks GitHub - immartian/bellamem: Persistent belief-graph memory for AI agents. Retrieves decisive context by importance — not recency, not RAG, not /compact. recursive-mode: The Repo-Native Operating System for AI Engineering After the attack on Sam Altman's home, will AI CEO's go on the offensive? The biggest advance in AI since the LLM Opus 4.6 vs GPT 5.4 One Prompt Unity World Generation Test “AI polls” are fake polls Client Challenge Can AI be a 'child of God'? Inside Anthropic's meeting with Christian leaders How to Switch AI Chatbots and Why You Might Want To GitHub - MattMessinger1/agentic_refund_guardrail: Safe refund policy layer for AI agents — Python + TypeScript. Same behavior, shared tests. Adam/papers/emergent_values_whitepaper.md at master · strangeadvancedmarketing/Adam Ask HN: How do you stop playing 20 questions with your AI coding tools How far can automation and AI support psychotherapy? - @theU GitHub - stagas/rtdiff: realtime git diff gui and AI-assisted commits A Mac Studio for Local AI — 6 Months Later A History of the Early Years of AI at the University of Edinburgh Why AI Coding Tools Still Feel Stuck on Localhost MSN AI Datacenters Are Becoming Strategic Targets twitter.com Penn Researchers Use AI to Surface Unreported GLP-1 Side Effects in Reddit Posts Show HN: MoodSense AI (ML and FastAPI and Gradio, Deployed on Hugging Face) Moodsense Ai - a Hugging Face Space by aman179102 AI models are terrible at betting on soccer—especially xAI Grok GitHub - xialeistudio/echoic GitHub - HimashaHerath/github-dev-wrapped: AI-powered weekly GitHub activity reports deployed to GitHub Pages GitHub - alejandrobalderas/claude-code-from-source: Architecture, patterns & internals of Anthropic's AI coding agent — reverse-engineered from source maps AI and Tech brief: Ireland ascendant GitHub - Titovilal/context0: Context0 - Never Surrender Training for a Marathon with an AI Coach: What Worked and What Didn't Cyber Pulse: Agentic Intel - Apps on Google Play I Built an AI PR Reviewer That Catches Bugs by Not Looking for Bugs Gen Z workers are so fearful AI will take their job they’re intentionally sabotaging their company’s AI rollout | Fortune How AI Is Reimagining the Game of Golf–For Both Players and Courses GitHub - nattergabriel/reseed: A CLI tool for managing and distributing agent skills across projects Is SVG the final frontier? My AI workflow evolved from prompts to a near-autonomous workflow MLSharp Help - 3DGS Viewer & Generator I put my cognitive field based AI's runtime on GitHub Is Numble the first AI-proof game? A3: Kubernetes for autonomous AI agent fleets | Emergent Principles Deepali Vyas ("The Elite Recruiter") GitHub - msmarkgu/RelayFreeLLM: A restful API designed to route user prompts to various AI model providers. Unionized ProPublica staff are on strike over AI, layoffs, and wages Unleashing the Advantage of Quantum AI We're heading for an AI-fueled 'dementia crisis,' brain scientist warns The AI-Assisted Breach of Mexico's Government Infrastructure [pdf] GitHub - stef41/lmscan: 🔍 Detect AI-generated text and fingerprint which LLM wrote it. Open-source GPTZero alternative. Zero dependencies, works offline. MSN GitHub - visionscaper/collabmem: Enabling long-term collaboration with Agentic AI - building up episodic and world model memory over time with in-context awareness We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs AI Code is Hollowing Out Open Source, and Maintainers are Looking the Other Way What leaked "SteamGPT" files could mean for the PC gaming platform's use of AI AI is the boss at this retail store. What could go wrong? GitHub - Wuzu11517/agentic-proxy: Local proxy meant to help reduce With Drones, Geophysics and ArtificiaI Intelligence, Researchers Prepare to Do Battle Against Land Mines A Single Operator, Two AI Platforms, Nine Government Agencies: The Full Technical Report 在 Steam 上购买 FriedrichAI: Offline AI 立省 10% GitHub - inevolin/resume-cli: Hit Claude usage limits? Resume any AI coding session elsewhere. Switch tools at zero friction. GitHub - atripati/ark: AI Runtime Kernel — a context operating system for AI agents. Eliminates tool bloat, loads only what’s needed, and gives LLMs their reasoning space back. How to Build a Secure AI PR Reviewer with Claude, GitHub Actions, and JavaScript This Startup Wants You to Pay Up to Talk With AI Versions of Human Experts Intel Arc Pro B70 Brings 32GB VRAM to Local AI for $949 WordPress 7.0: The Good, the AI, and the Still Missing AI on the couch: Anthropic gives Claude 20 hours of psychiatry IatroBench: Pre-Registered Evidence of Iatrogenic Harm from AI Safety Measures AI Agents Know About Supabase. They Don't Always Use It Right. The history and future of AI at Google, with Sundar Pichai Inside an AI‑enabled device code phishing campaign How Meta Used AI to Map Tribal Knowledge in Large-Scale Data Pipelines AI for Systems: Using LLMs to Optimize Database Query Execution Forecasting the Economic Effects of AI Introducing Tinker: Play with AI, bring your ideas to life AI sheds light on an ancient gaming mystery People really hate AI but not as much as Iran—or Democrats | Fortune What is an AI Product Engineer? Phoebe Gates wants her $185 million AI startup to succeed with 'no ties to my privilege or my last name': 'I have a chip on my shoulder' | Fortune
AI SDK 7 is now available
Gregor Martynus · 2026-06-25 · via Hacker News - Newest: "AI"

AI SDK, with over 16 million weekly downloads, is the TypeScript SDK for building AI applications, features, frameworks, and agents across any model provider. It's the same layer eve, Vercel's open-source agent framework, is built on.

AI SDK 7 adds production depth for agent work across five areas:

  • Develop agents with reasoning control, tool and runtime context, provider files and skills support, MCP Apps, and a terminal UI.

  • Run agents with tool approvals, durability (WorkflowAgent), timeouts, and sandbox support.

  • Integrate any agent harness, such as Codex, Claude Code, Deep Agents, OpenCode, or Pi.

  • Observe agents with telemetry, Node.js tracing channel, lifecycle events, and performance statistics.

  • Go beyond text agents with provider-agnostic real-time voice support and video generation.

Upgrading from AI SDK 6? Run npx @ai-sdk/codemod v7 to migrate automatically with minimal code changes, or use the migration skill: npx skills add vercel/ai --skill migrate-ai-sdk-v6-to-v7

Link to headingDevelop agents

Building well-behaved agents requires fine-grained control over model reasoning, tool context, and file handling.

Link to headingReasoning control

Most frontier models support configurable reasoning, but every provider API exposes it differently.

AI SDK 7 standardizes this with a reasoning option for generateText and streamText. It maps to provider-native reasoning settings, letting you control reasoning effort in a single line. You can also still fall back to provider options when you need more detailed provider-specific reasoning configuration.

import { generateText } from 'ai';

const result = await generateText({

model,

prompt,

reasoning: 'high',

});

Setting reasoning effort with a single option

Learn more in the reasoning documentation.

Link to headingTool context

Tools are increasingly developed independently of specific agents or applications. For example, third-party companies offer tools that enable agents to use their APIs. Therefore, tools require additional inputs that are not generated by LLMs, such as API keys or configuration settings.

AI SDK 7 adds a fully typed tool context that can be specified for each tool via a schema. The context is limited to the tool to prevent 3rd-party tools from accessing context they do not need.

const agent = new ToolLoopAgent({

model,

tools: {

weather: tool({

description,

inputSchema,

contextSchema: z.object({

apiKey: z.string(),

}),

execute: async (input, { context: { apiKey } }) => {

// ...

},

}),

},

toolsContext: {

weather: { apiKey: process.env.WEATHER_API_KEY! },

},

});

Scoping an API key to the tool that needs it

Learn more about Tool Context

Link to headingRuntime context

For more complex agentic loops, you often need variables that you can access and modify in prepareStep to adjust prompts, model selection, and more.

AI SDK 7 introduces a typed runtime context available during step preparation and tool approval functions, with optional telemetry support. This enables you to encapsulate more logic in ToolLoopAgent and share those agents with that internal logic.

const agent = new ToolLoopAgent({

// setup runtime context

runtimeContext: {

var1: "something",

},

prepareStep: async ({ runtimeContext, steps }) => {

// use runtime context

// return updated runtime context

},

});

Accessing and updating typed variables across steps

Learn more about Runtime Context.

Link to headingProvider file uploads

Many agent workflows require handling large inputs, such as PDFs, images, datasets, or other artifacts. Sending those files inline is slow and wasteful, especially for stateless inference, where they get sent over and over again.

AI SDK 7 adds a top-level uploadFile API that lets you upload a file once and then pass a lightweight reference into subsequent model calls. This avoids re-uploading the same bytes repeatedly, making inference faster and saving bandwidth during repeated or multi-step runs.

uploadFile can be used with any providers that offer a file uploading endpoint. The function returns a provider reference object that is portable across providers.

const { providerReference } = await uploadFile({

api: openai.files(),

data: readFileSync('./photo.png'),

filename: 'photo.png',

});

const result = await streamText({

model: openai.responses('gpt-5.5'),

messages: [

{

role: 'user',

content: [

{ type: 'text', text: 'Describe what you see in this image.' },

{ type: 'file', mediaType: 'image', data: providerReference },

],

},

],

});

Upload a file once, pass a reference into subsequent model calls

Learn more about Provider File Uploads

Link to headingProvider skill uploads

Sending skills inline on every request to provider-managed container environments has the same overhead problem as sending files inline.

AI SDK 7 adds a top-level uploadSkill API that lets you upload a skill once and then use a reference to it in subsequent inference calls. Similar to uploadFile, the function returns a provider reference object.

const { providerReference } = await uploadSkill({

api: anthropic.skills(),

files: [

{

path: 'my-skill/SKILL.md',

content: readFileSync('./SKILL.md'),

},

],

displayTitle: 'My Skill',

});

const result = await streamText({

model: anthropic('claude-sonnet-4-6'),

tools: {

code_execution: anthropic.tools.codeExecution_20260120(),

},

prompt: 'Use the my-skill skill to complete the task.',

providerOptions: {

anthropic: {

container: {

skills: [{ type: 'custom', providerReference }],

},

} satisfies AnthropicLanguageModelOptions,

},

});

Upload a skill once, reference it across inference calls

Learn more about Provider Skill Uploads.

Link to headingMCP Apps

MCP has become a common way to connect agents to tools and resources. But not every tool should be model-visible, and some MCP servers need to expose specialized UI alongside their tools.

AI SDK 7 adds support for MCP Apps. MCP servers can now separate model-visible tools from app-only tools, preserve app metadata, and render app UIs inside sandboxed iframes. A JSON-RPC bridge connects tools, resources, and display interactions.

This lets you build richer agent experiences where the model can use the tools it needs, while the user sees an app-specific interface for review, configuration, or interaction.

An MCP App rendering a dashboard UI inside a sandboxed iframe alongside agent outputAn MCP App rendering a dashboard UI inside a sandboxed iframe alongside agent output

An MCP App rendering its UI alongside the agent

import { experimental_MCPAppRenderer as MCPAppRenderer } from '@ai-sdk/react';

import { isToolUIPart } from 'ai';

{

messages.map(message =>

message.parts.map(part =>

isToolUIPart(part) ? (

<MCPAppRenderer

key={part.toolCallId}

part={part}

sandbox={{ url: '/mcp-app-sandbox', className: 'h-96 w-full' }}

loadResource={app => fetch(`/api/mcp-apps?uri=${app.resourceUri}`)}

handlers={{ allowedTools: ['refreshDashboard'] }}

/>

) : null,

),

);

}

Rendering MCP app UIs alongside model output

Start building your first MCP App with AI SDK today.

Link to headingTUI

When developing agents, you need to be able to quickly test them without writing a full app. AI SDK 7 adds a terminal UI (TUI) package that lets you run agents with just a few lines of code:

The TUI is interactive, supports reasoning and tools, and renders markdown as formatted text.

An agent running interactively in the terminal UI, showing reasoning steps and tool calls

An agent running in the terminal UI

import { runAgentTUI } from '@ai-sdk/tui';

await runAgentTUI({ agent });

Running an agent in the terminal

Learn more about creating your own terminal agent.

Link to headingRun agents

As agents become more autonomous and longer running, the need for approvals, durability, sandboxing, and robustness increases.

Link to headingTool approvals

AI SDK 7 supports agent-level tool approvals that can be automatic or involve a human in the loop, with these approval types:

  • Simple user-approval for particular tools.

  • Tool approval function for a particular tool that can auto-approve, auto-deny, or forward to user approval.

  • Generic catch-all tool approval functions.

Tool approvals are defined on ToolLoopAgent, generateText, and streamText, because the usage scenario of a particular tool drives the need for approvals.

const agent = new ToolLoopAgent({

model,

tools: { weather: weatherTool },

toolApproval: {

weather: 'user-approval',

},

});

Requiring user approval before a tool executes

For higher-risk workflows, AI SDK 7 introduces opt-in HMAC-signed tool approvals to prevent forged approvals. The SDK also hardens replay behavior by revalidating tool inputs and policies before continuing execution.

See how tool approvals work.

Link to headingWorkflowAgent (Durability)

When an agent run spans multiple steps or waits for a human approval, a process restart or deployment in the middle of that run means starting over. AI SDK 7 introduces @ai-sdk/workflow and WorkflowAgent for durable, resumable agent execution that survives process restarts, deploys, interruptions, and delayed approvals.

WorkflowAgent supports workflow-based streaming, tools, approvals, callbacks, prepareCall, and provider model serialization across workflow step boundaries. It also supports typed runtime context for shared agent state and stable telemetry.

Callbacks now include richer execution data such as step numbers, previous results, duration, and success or failure information. Invalid tool calls are preserved without executing invalid tools, and tool toModelOutput conversion can preserve raw outputs for UI and callbacks.

Learn how to build an agent with WorkflowAgent.

Link to headingTimeouts

Agents can stall in more ways than a simple request can: a provider can open a stream and stop sending chunks, a tool can hang, or a multi-step run can exceed its total budget.

AI SDK 7 adds first-class timeout configuration across text generation and agent APIs, including total, per-step, per-chunk, and per-tool limits. Timeout aborts use TimeoutError, and abort reasons propagate through stream and UI protocols.

const result = await generateText({

model,

tools: { weather: weatherTool, slowApi: slowApiTool },

timeout: {

totalMs: 60000, // 60 seconds total

stepMs: 10000, // 10 seconds per step

chunkMs: 2000, // abort if no chunk received for 2 seconds

toolMs: 5000, // default for all tools

tools: {

weatherMs: 3000, // 3 seconds for weather tool

slowApiMs: 10000, // 10 seconds for slow API tool

},

},

prompt: 'What is the weather in San Francisco?',

});

Configuring total, per-step, and per-tool timeout limits

Learn more about timeouts.

Link to headingSandbox support

Agents that run shell commands, read and write files, or execute generated code need a consistent execution environment, but the underlying sandbox often changes across local dev, CI, and production. AI SDK 7 adds a first-class SandboxSession abstraction for portable command execution in tools and agents. Tools can be developed independently of any particular sandbox, and you can use any sandbox-aware tool with any sandbox provider.

Sandboxed environments, such as Vercel Sandbox, are ideal for this purpose.

Link to headingIntegrate any agent harness

Agent runtimes are moving beyond a single application server. Teams want to run the same agent logic inside coding environments, hosted sandboxes, local sessions, and third-party harnesses.

Link to headingHarnessAgent

AI SDK 7 introduces experimental harness abstractions and HarnessAgent: one API to run fully configured, established agent harnesses such as Claude Code, Codex, and Pi. Harnesses are configurable with a sandbox to operate in, custom instructions, skills, and tools. Run established harnesses through a consistent interface, configure each one independently, and swap one out without changing your integration layer.

Under the hood, the abstraction consists of a v1 adapter spec, bridge support, and expanded sandbox session primitives for creating and resuming sessions. Harness sessions can be parked and resumed, and even individual turns can be interrupted and resumed mid-flight.

HarnessAgent implements AI SDK's Agent interface, so its generate and stream return values are fully compatible with existing AI SDK integrations, and useChat() and the new TUI work without any additional wiring.

const agent = new HarnessAgent({

harness: claudeCode,

sandbox: createVercelSandbox({

runtime: 'node24',

ports: [4000],

}),

instructions:

'You are a careful coding assistant. Prefer small changes and explain tradeoffs.',

skills: [

{

name: 'review-github-pr',

description: 'Review a GitHub pull request. Use when asked to review a pull request.',

content:

'Use the `readGitHubPullRequest` tool to fetch the context about the relevant pull request the user has asked you to review. ' +

'If the pull request refers to an issue, fetch the relevant issue context as well using the `readGitHubIssue` tool.',

},

],

tools: { readGitHubIssue, readGitHubPullRequest },

});

Configuring Claude Code as a HarnessAgent with a sandbox and custom skills

Learn more about AI SDK Harnesses.

Link to headingObserve agents

Understanding how your agents behave in production is challenging. AI SDK 7 makes observability a first-class part of building agents.

Link to headingTelemetry

AI SDK 7 revamps telemetry around a single, extensible integration system. Instead of wiring lifecycle callbacks into every generateText or streamText call, register telemetry once at application startup:

import { registerTelemetry, generateText } from 'ai';

import { OpenTelemetry } from '@ai-sdk/otel';

registerTelemetry(new OpenTelemetry());

const result = await generateText({

model: "google/gemini-3.5-flash",

prompt: 'Write a short story about a cat.',

telemetry: {

functionId: `story-agent`,

},

});

Registering OpenTelemetry once at application startup

The redesign includes:

  • Dedicated telemetry interfaces for 3rd-party provider integration

  • Global coverage of all AI SDK functions with a single registration

  • Optional OpenTelemetry integration using the latest GenAI semantic conventions

  • Node.js tracing channel support

Observability integrations: Datadog, Langfuse, Braintrust, Raindrop, Sentry, Laminar, Langsmith.

Traces now capture the full shape of an AI operation, including the root generation, each model call, individual steps, tool executions, embeddings, reranking, usage, errors, and selected runtime or tool context.

An observed trace of an agent in Langfuse with multiple steps and tool calls

You can find more details in the AI SDK Telemetry documentation.

Link to headingNode.js tracing channel

AI SDK 7 adds support for Node.js tracing channels via node:diagnostics_channel. The SDK emits structured telemetry events on the ai:telemetry channel for generateText, streamText, model calls, tool executions, embeddings, and reranking.

An observability provider can subscribe once via its instrumentation package and automatically convert AI SDK activity into traces, preserving async context across streaming responses and tool calls.

import { tracingChannel } from 'node:diagnostics_channel';

import {

AI_SDK_TELEMETRY_TRACING_CHANNEL,

type TelemetryTracingChannelMessage,

} from 'ai';

tracingChannel(AI_SDK_TELEMETRY_TRACING_CHANNEL).subscribe({

start(message) {

const { type, event } = message as TelemetryTracingChannelMessage;

console.log(`AI SDK ${type} started`, event);

},

asyncEnd(message) {

const { type } = message as TelemetryTracingChannelMessage;

console.log(`AI SDK ${type} completed`);

},

});

Subscribing to AI SDK telemetry events via the Node.js tracing channel

You can learn more in the tracing channel documentation.

Link to headingPerformance statistics

AI SDK 7 adds per-step performance statistics for model output, streaming behavior, and tool execution. You can answer questions like: How long did it take the model to start responding? How fast did tokens arrive? Which tool took the most time?

import { streamText } from 'ai';

const result = streamText({

model: 'openai/gpt-5',

prompt: 'Write a short product announcement.',

});

for await (const chunk of result.textStream) {

process.stdout.write(chunk);

}

const { performance } = await result.finalStep;

console.log({

responseTimeMs: performance.responseTimeMs,

outputTokensPerSecond: performance.outputTokensPerSecond,

timeToFirstOutputMs: performance.timeToFirstOutputMs,

});

Getting per-step latency and throughput from a streamed response

Learn more about performance statistics.

Link to headingLifecycle events

Production agents need lifecycle hooks because recording state, billing, and debugging all depend on knowing exactly when runs, steps, and tools start and finish. AI SDK 7 makes callbacks fire consistently across model calls, agents, tools, and other functions, so you can observe when each started, which model ran, how many tokens it used, and how it finished.

import { generateText } from 'ai';

const result = await generateText({

model: 'openai/gpt-5',

prompt: 'What is the meaning of life',

runtimeContext: {

userId: 'user_123',

feature: 'launch-copy',

},

onStart({ callId, modelId, runtimeContext }) {

console.log('Request started', {

callId,

modelId,

userId: runtimeContext.userId,

});

},

onEnd({ callId, usage, finishReason }) {

console.log('Request finished', {

callId,

finishReason,

totalTokens: usage.totalTokens,

});

},

});

Observing when a request starts and finishes

You can find more details in the Lifecycle Callbacks documentation.

Link to headingProvider-agnostic realtime support

Realtime model APIs are powerful, but each provider exposes sessions, audio, tools, and browser authentication differently.

AI SDK 7 adds experimental provider-agnostic realtime support for direct browser WebSocket sessions. The SDK supports server-created ephemeral tokens, provider implementations for OpenAI, Google, and xAI, and a React realtime hook that returns UIMessage[].

Realtime sessions support audio transcription and client-driven tool calling, so you can build voice agents, collaborative copilots, and low-latency interactive interfaces without binding your UI to one provider's event format.

AI Gateway also supports normalized realtime sessions through gateway.experimental_realtime(), including WebSocket subprotocol auth, model query selection, and validated provider options.

const realtime = experimental_useRealtime({

model: gateway.experimental_realtime('openai/gpt-realtime-2'),

api: {

token: '/api/realtime/setup',

},

onToolCall: async ({ toolCall }) => {

// handle client side or sent server requests

},

});

Connecting to a realtime session from the browser

Learn more about realtime.

Link to headingVideo generation

AI applications are expanding beyond text and images. AI SDK 7 introduces experimental generateVideo support with provider implementations for fal, Google AI Studio, Google Vertex, and Replicate.

Video generation in AI SDK 7 uses video-specific model resolution, supports string-based model lookup through the default provider, and includes safer bounded download handling with configurable size limits and abort support.

import { experimental_generateVideo as generateVideo } from 'ai';

const { videos } = await generateVideo({

model: "google/veo-3.1-generate-001",

prompt: 'A cat walking on a treadmill',

aspectRatio: '16:9',

});

Generating a video with a single API call

Learn more about generating video.

Link to headingGetting started

Install AI SDK 7 with one command.

Link to headingContributors

AI SDK 7 is the result of the combined work of our core team at Vercel (Gregor, Lars, Felix, Aayush, Josh, Nico) and our amazing community of contributors:

0xr3ngar, 31Carlton7, A-Vamshi, Abdulwadood-zawity, abhicris, adithya-tako, AhmadYasser1, ahmedrowaihi, allenzhou101, anaclumos, arnaugomez, auscaster, AVtheking, B-Step62, bb220, ben-vargas, benyebai, bittere, blurrah, bolaabanjo, boylec, BrianHung, BrianP8701, chenxin-yan, christian-bromann, Christian-Sidak, cipher416, CloudFaye, codewarnab, codicecustode, codylittle, cristiandrei1234, csidak, ctate, cyphercodes, defrex, dflynn15, dinmukhamedm, dnukumamras, DongSeonYoo, dukex, edawerd, EdwardIrby, edwardwc, ellis-driscoll, embedder-dev, etairl, EurFelux, eyueldk, fahe1em1, Falven, fran3cc, gdborton, genmin, geraint0923, Ghitahouir, GidianB, grant0417, gsdv, guillemwilly, hank9999, harpreetarora, haydenbleasel, he-yufeng, heiwen, hkd987, hntrl, http-samc, i5d6, ismaelrumzan, Jaaneek, jaderiverstokes, jakobhoeg, Jaksenc, jarod, jaydeep-pipaliya, jeremyphilemon, jerilynzheng, jerome-benoit, jferrettiboke, jlsandri, JoanLaRosa, joaopedroassad, JohnnyHBon, josh-williams, jovanwongzixi, JulesGuesnon, Kage18, kagura-agent, kairosci, kaizen403, karthik-idikuda, kimchnn, kkawamu1, kkdawkins, leog25, leothorp, liaoliaojun, lihuimingxs, Mahendradeokar, MarcACard, marcusschiesser, markmcd, max-programming, MaxwellCalkin, mclenhard, MehediH, Melkeydev, michael-han-dev, michaelcummings12, Mmartinrusso, monadoid, montyanderson, more-by-more, mrpaaradox, msullivan, muniter, muraliavarma, murataslan1, mvanhorn, myprototypewhat, Nezz, nicoloboschi, nielskaspers, Nutlope, nwalters512, ohansFavour, ousugo, pablof7z, Pash10g, patrikdevlin, paulelliotco, pavel-y-ivanov, PierreLeGuen, posva, Pranav-Wadhwa, privatenumber, quuu, R-Taneja, raphaeleidus, reynkonig, Ricardo-M-L, richardsolomou, robechun, rubdos, samjbobb, SamyPesse, seojcarlos, shaper, shrey150, shubham-021, shujanislam, ShyamSathish005, sleitor, Subr1ata, syeddhasnainn, sylviezhang37, szymonrybczak, t-mdo, techwraith, theQuert, thestonechat, timvucina-soniox, tomdale, tresorama, tsuzaki430, turisanapo, Und3rf10w, undo76, ushiromiya-lion, visyat, wong2, Xiang-CH, xlianghang, zapagenrevdale, Zawwarsami16, zirkelc, zxuhan.

Your feedback, bug reports, and pull requests on GitHub have been instrumental in shaping this release. We're excited to see what you'll build with these new capabilities!