mcpField
A
ai-sdk-core-v7

ai-sdk-core-v7

github.com/blockmatic开发1224 次安装4 周前更新
代码仓库

关于 ai-sdk-core-v7

面向使用 Vercel AI SDK v7 的后端开发者,提供版本适配的实现指导与代码模板,涵盖文本生成、流式响应和工具 Agent。

主要功能

  1. 01针对 SDK 版本的指导
  2. 02文本生成与流式响应模式
  3. 03工具循环与 Agent 指引
  4. 04客户端消息安全规则
  5. 05后端代码模板

适用场景

  1. 01使用 generateText 实现请求处理器
  2. 02构建流式聊天端点
  3. 03为持久化 Agent 添加工具

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/blockmatic/basilic-skills --skill ai-sdk-core-v7

安装后在 Claude Code 中输入/ai-sdk-core-v7确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
request-handlers.md
templates/
agent-with-tools.ts
generate-text-basic.ts
stream-text-chat.ts

详细介绍

技能:ai-sdk-core

范围

  • 适用于:使用 Vercel AI SDK v7(ai 包)的后端 AI
  • 不涵盖:React 聊天 UI(请参阅 ai-sdk-ui)

假设

原则

  • 在请求处理程序和一次性 API 路由中使用 generateText / streamText;系统风格的提示词使用 instructions
  • 请求处理程序中的工具循环:在 generateText / streamText 上使用 stopWhen: isStepCount(n)——不要使用 maxSteps 或 stepCountIs
  • 对于持久化 Agent,使用 ToolLoopAgent + generate() / stream()——不要手动编写循环,也不要使用 new Agent()
  • UI 流:使用 'ai' 中的 createUIMessageStreamResponse + toUIMessageStream({ stream: result.stream })。新处理程序以及专门针对流或 SDK 的更新都应使用这些
  • 在 v7 中,result.toUIMessageStreamResponse() 仍然可用(已弃用)。只有当任务与流或 SDK 无关时才保留
  • 工具结果必须可序列化为 JSON(不能包含 Date)
  • 系统提示词放在 instructions 中。除非服务器完全信任载荷,否则客户端的 messages 中不得包含 { role: 'system' }

约束

必须
  • 编写调用前阅读随附文档
  • 客户端发送 UI 消息时使用 convertToModelMessages
  • 拒绝 messages 中不可信的 { role: 'system' }。对于客户端提供的聊天,不要设置 allowSystemInMessages: true
避免
  • toDataStreamResponse / pipeDataStreamToResponse
  • stepCountIs / maxSteps / result.fullStream / 顶层的 system:(改用 isStepCount、result.stream、instructions)
  • 猜测模型 ID

交互

模板

参考

评论

支持 Markdown