Go AI SDK 是 AI Skill Hub 本期精选MCP工具之一。综合评分 8.0 分,整体质量较高。我们强烈推荐将其纳入你的 AI 工具库,帮助提升工作效率。
统一的AI API,支持21+提供者,流式和结构化数据
Go AI SDK 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
统一的AI API,支持21+提供者,流式和结构化数据
Go AI SDK 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/zendev-sh/goai
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"go-ai-sdk": {
"command": "npx",
"args": ["-y", "goai"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 Go AI SDK 执行以下任务... Claude: [自动调用 Go AI SDK MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"go_ai_sdk": {
"command": "npx",
"args": ["-y", "goai"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
<p align="center"> <img src="goai.png" alt="GoAI" width="400"> </p>
<p align="center"><em>AI SDK, the Go way.</em></p> <p align="center">Go SDK for building AI applications. One SDK, 25+ providers, MCP support.</p>
<p align="center"> <a href="bench/RESULTS.md"><img src="https://img.shields.io/badge/streaming-1.1x_faster-brightgreen" alt="Streaming"></a> <a href="bench/RESULTS.md"><img src="https://img.shields.io/badge/cold_start-24x_faster-brightgreen" alt="Cold Start"></a> <a href="bench/RESULTS.md"><img src="https://img.shields.io/badge/memory-3.1x_less-brightgreen" alt="Memory"></a> </p>
<p align="center"><strong>1.1x faster streaming</strong>, <strong>24x faster cold start</strong>, <strong>3.1x less memory</strong> vs Vercel AI SDK (<a href="bench/RESULTS.md">benchmarks</a>)</p>
<p align="center"> <a href="https://goai.sh">Website</a> · <a href="https://goai.sh/getting-started/installation">Docs</a> · <a href="https://goai.sh/architecture">Architecture</a> · <a href="https://goai.sh/providers/">Providers</a> · <a href="https://goai.sh/examples">Examples</a> · <a href="https://github.com/zendev-sh/zenflow">Orchestration (zenflow)</a> </p>
---
Inspired by the Vercel AI SDK. The same clean abstractions, idiomatically adapted for Go with generics, interfaces, and functional options.
v0.7.2 - New provider: NVIDIA NIM (OpenAI-compatible, chat + embeddings). E2E tested with meta/llama-3.3-70b-instruct. Changelog → v0.7.0 - New providers: Cloudflare Workers AI and FPT Smart Cloud (both OpenAI-compatible, chat + embeddings). Changelog → v0.6.0 - OpenTelemetry tracing + metrics, context propagation via RequestInfo.Ctx, Langfuse data race fix. Changelog → v0.5.8 - RunPod provider, Bedrock embeddings, and docs accuracy improvements. Changelog →
GenerateText, StreamText, GenerateObject[T], StreamObject[T], Embed, EmbedMany, GenerateImageExecute handlers, set MaxSteps for GenerateText and StreamTextGenerateObject[T] auto-generates JSON Schema from Go types via reflectionTokenSource interface for OAuth, rotating keys, cloud IAM, with CachedTokenSource for TTL-based cachingOnRequest, OnResponse, OnToolCallStart, OnToolCall, OnStepFinish, OnFinish) and interceptor (OnBeforeToolExecute, OnAfterToolExecute, OnBeforeStep) hooks for permission gates, secret scanning, output transformation, and loop controlgolang.org/x/oauth2 + one indirect (cloud.google.com/go/compute/metadata). Optional observability/otel submodule uses separate go.mod with OTel SDK.go get github.com/zendev-sh/goai@latest
Requires Go 1.25+.
Most hosted providers auto-resolve API keys from environment variables. Local/custom providers may require explicit options:
package main
import (
"context"
"fmt"
"log"
"github.com/zendev-sh/goai"
"github.com/zendev-sh/goai/provider/openai"
)
func main() {
// Reads OPENAI_API_KEY from environment automatically.
model := openai.Chat("gpt-4o")
result, err := goai.GenerateText(context.Background(), model,
goai.WithPrompt("What is the capital of France?"),
)
if err != nil {
log.Fatal(err)
}
fmt.Println(result.Text)
}
See the examples/ directory:
| Option | Description | Default |
|---|---|---|
WithSystem(s) | System prompt | - |
WithPrompt(s) | Single user message | - |
WithMessages(...) | Conversation history | - |
WithTools(...) | Available tools | - |
WithMaxOutputTokens(n) | Response length limit | provider default |
WithTemperature(t) | Randomness (0.0-2.0) | provider default |
WithTopP(p) | Nucleus sampling | provider default |
WithTopK(k) | Top-K sampling | provider default |
WithFrequencyPenalty(p) | Frequency penalty | provider default |
WithPresencePenalty(p) | Presence penalty | provider default |
WithSeed(s) | Deterministic generation | - |
WithStopSequences(...) | Stop triggers | - |
WithMaxSteps(n) | Tool loop iterations | 1 (no loop) |
WithSequentialToolExecution() | Execute tools one at a time | parallel |
WithMaxRetries(n) | Retries on 429/5xx | 2 |
WithTimeout(d) | Overall timeout | none |
WithHeaders(h) | Per-request HTTP headers | - |
WithProviderOptions(m) | Provider-specific params | - |
WithPromptCaching(b) | Enable prompt caching | false |
WithToolChoice(tc) | "auto", "none", "required", or tool name | - |
| Option | Description |
|---|---|
WithExplicitSchema(s) | Override auto-generated JSON Schema |
WithSchemaName(n) | Schema name for provider (default "response") |
| Option | Description | Default |
|---|---|---|
WithMaxParallelCalls(n) | Batch parallelism | 4 |
WithEmbeddingProviderOptions(m) | Embedding provider params | - |
| Option | Description |
|---|---|
WithImagePrompt(s) | Text description |
WithImageCount(n) | Number of images |
WithImageSize(s) | Dimensions (e.g., "1024x1024") |
WithAspectRatio(s) | Aspect ratio (e.g., "16:9") |
WithImageMaxRetries(n) | Retries on 429/5xx |
WithImageTimeout(d) | Overall timeout |
WithImageProviderOptions(m) | Image provider params |
| Metric | GoAI | Vercel AI SDK | Improvement |
|---|---|---|---|
| Streaming throughput | 1.46ms | 1.62ms | 1.1x faster |
| Cold start | 569us | 13.9ms | 24x faster |
| Memory (1 stream) | 220KB | 676KB | 3.1x less |
| GenerateText | 56us | 79us | 1.4x faster |
Mock HTTP server, identical SSE fixtures, Apple M2. Full report
高质量的Go AI SDK,支持多提供者
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
经综合评估,Go AI SDK 在MCP工具赛道中表现稳健,质量优秀。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | goai |
| Topics | aiai-sdkgo |
| GitHub | https://github.com/zendev-sh/goai |
| License | MIT |
| 语言 | Go |
收录时间:2026-05-27 · 更新时间:2026-05-27 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端