技能 developing-genkit-dart
📦

developing-genkit-dart

安全

使用 Genkit Dart SDK 构建 AI 应用程序

将 AI 模型集成到 Dart 和 Flutter 应用程序需要理解 Genkit 流程、工具和插件。本技能提供 Genkit Dart SDK 的全面参考文档和代码示例。

支持: Claude Codex Code(CC)
🥉 76 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“developing-genkit-dart”。 使用 Anthropic 插件初始化 Genkit 并使用 Claude 生成文本。

预期结果:

一个 Dart main 函数,导入 genkit 和 genkit_anthropic,从 Platform.environment 读取 ANTHROPIC_API_KEY,使用 anthropic 插件创建 Genkit 实例,并使用 claude-sonnet-4-5 模型调用 ai.generate。

正在使用“developing-genkit-dart”。 定义一个调用本地运行的流程的远程操作客户端。

预期结果:

使用 defineRemoteAction 和 localhost URL 的 Dart 代码,展示使用类型安全输入和输出模式的非流式和流式调用模式。

正在使用“developing-genkit-dart”。 设置 Shelf HTTP 服务器以服务 Genkit 流程。

预期结果:

一个导入 genkit_shelf 的 Dart main 函数,定义一个简单流程,并使用 startFlowServer 在端口 8080 上启动 HTTP 服务器。

安全审计

安全
v1 • 4/15/2026

This skill is a documentation and reference guide from the official Firebase agent-skills repository. It contains 11 markdown files with Dart code examples for the Genkit Dart SDK. The static analyzer reported 202 potential issues, but all are false positives. The primary detection was markdown code fences (```) misinterpreted as Ruby/shell backtick execution. Environment variable references in examples follow secure patterns (reading from Platform.environment rather than hardcoding credentials). Localhost URLs and API endpoint references are standard documentation examples. No executable code, no prompt injection attempts, and no malicious patterns were found. The skill is safe for publication.

11
已扫描文件
1,078
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

45
架构
100
可维护性
87
内容
50
社区
100
安全
91
规范符合性

你能构建什么

Flutter 开发人员添加 AI 功能

Flutter 开发人员使用 Genkit Dart 将 AI 驱动的文本生成、图像识别和工具调用集成到他们的移动应用程序中。

Dart 后端工程师构建 AI 代理

后端工程师使用结构化输出定义 Genkit 流程,并集成多个 AI 模型提供商,包括 Google Gemini 和 Anthropic Claude。

团队采用模型上下文协议

开发团队实现 MCP 主机和服务器配置,以将 Genkit 驱动的应用程序与外部工具服务器连接。

试试这些提示

初学者:使用 Genkit 生成文本
编写一个 Dart 函数,使用 Google AI 插件初始化 Genkit,并使用 Gemini 模型生成对用户提示的响应。
初学者:定义一个简单工具
展示如何使用 schemantic 定义输入模式在 Dart 中定义 Genkit 工具,并提供一个返回给定位置天气数据的函数。
中级:创建流式流程
在 Dart 中编写一个 Genkit 流程,接受一个主题字符串,使用 Gemini 生成故事,通过 context.sendChunk 流式传输输出块,并返回完成消息。
高级:设置带有多个服务器的 MCP 主机
展示如何在 Genkit Dart 中配置一个 MCP 主机,使用 npx 连接文件系统 MCP 服务器,以及如何在 generate 调用中引用聚合的工具。

最佳实践

  • 使用 Platform.environment 从环境变量读取 API 密钥,而不是将它们硬编码在源文件中
  • 使用带有 @Schema 注解的 schemantic 库为所有工具输入和流程输出模式确保类型安全
  • 使用 startFlowServer 包装 Genkit 流程或与现有 Shelf 路由器集成以用于生产 HTTP 端点

避免

  • 将 API 密钥直接硬编码在 Dart 源文件中,而不是使用环境变量
  • 在定义 schemantic 模式后跳过 build_runner 步骤,这会阻止代码生成
  • 在生产环境中将 HTTP 服务器绑定到所有网络接口,而不是为开发端点使用 localhost

常见问题

什么是 Genkit Dart?
Genkit Dart 是一个用于 Dart 语言的 AI SDK。它提供统一的接口用于文本生成、结构化输出、工具调用、嵌入和代理工作流。
Genkit Dart 支持哪些 AI 模型提供商?
Genkit Dart 通过插件架构支持 Google Gemini、Anthropic Claude、OpenAI 和兼容的提供商。它还支持 MCP 集成和 Chrome 本地 AI。
如何安装 Genkit CLI?
您可以通过从 cli.genkit.dev 的 curl 或通过 npm(npm install -g genkit-cli)安装 Genkit CLI。运行 genkit start 启动开发者 UI。
什么是 schemantic,为什么 Genkit 需要它?
Schemantic 是一个用于定义强类型数据类的 Dart 库,具有自动 JSON 模式生成功能。Genkit 将其用于所有数据模型,包括工具、流程和消息。
如何从客户端调用远程 Genkit 流程?
使用 package:genkit/client.dart 中的 defineRemoteAction 定义具有流程 URL 和模式的类型化客户端操作,然后直接调用或通过流式传输调用。
我可以在工具执行前要求批准吗?
是的。genkit_middleware 包提供了 ToolApprovalPlugin,它拦截工具调用并返回 FinishReason.interrupted,允许您在执行前提示用户。