anthropic-sdk-go

官方 Go SDK,类型安全调用 Claude 模型

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开发框架 🍴 复刻 219 🐛 待处理 51 👀 关注 10
GitHub ↗
GitHub 星标 ★ 1233
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,调用 API 需按 Anthropic 官方计费

项目预览

anthropic-sdk-go 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开发框架
开发团队anthropics
定价模式🏷️完全免费
价格说明开源免费,调用 API 需按 Anthropic 官方计费
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Go
GitHub 星标★ 1233
上线时间2024-07-30 00:00:00
代码更新2026-10-23
仓库体积26.1 MB
本站数据更新2026-10-27
维护状态活跃
收录时间2026-10-27
浏览次数0

项目介绍

anthropic-sdk-go 是 Anthropic 官方维护的 Go 语言客户端库,让 Go 开发者能以类型安全的方式调用 Claude 系列模型 API。它解决了 Go 生态中缺少官方 SDK、需要手写 HTTP 请求和 JSON 解析的问题。核心能力包括:封装 Messages 等主要接口,提供请求与响应的强类型结构体;内置流式响应(SSE)支持,便于实现逐字输出;统一处理认证、重试、超时和错误类型;支持工具调用、系统提示、多模态内容块等 Claude 特性;提供可配置的 HTTP 客户端与中间件钩子,便于接入日志、监控和自定义传输层。项目结构清晰,与官方 API 版本同步更新,适合构建聊天机器人、代码助手、内容生成等后端服务。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-10-27 · 当前星标 ★ 1233

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • 已安装 Go 工具链(README 未注明最低版本,可用 go version 检查)
  • 一个可用的 Anthropic API Key
  • 能正常访问 Anthropic API 的网络环境

安装与启动步骤

  1. 1检查 Go 环境

    在终端确认 go 命令可用,能打印版本号即可继续。

    go version
  2. 2初始化 Go 模块

    新建项目目录并初始化模块,作为引入 SDK 的基础。

    mkdir -p claude-demo && cd claude-demo && go mod init example.com/claude-demo
  3. 3添加 SDK 依赖

    按 README 指定版本拉取 SDK,导入路径为 v2 版本。

    go get -u 'github.com/anthropics/anthropic-sdk-go/v2@v2.3.0'
  4. 4配置 API Key

    README 说明客户端默认读取环境变量 ANTHROPIC_API_KEY。

    export ANTHROPIC_API_KEY=sk-ant-xxxxxxxx
  5. 5编写示例程序

    把 README 的 Getting started 代码写入 main.go,可直接构建运行。

    cat > main.go <<'EOF'
    package main
    
    import (
    	"context"
    	"fmt"
    
    	"github.com/anthropics/anthropic-sdk-go/v2"
    	"github.com/anthropics/anthropic-sdk-go/v2/option"
    )
    
    func main() {
    	client := anthropic.NewClient(
    		option.WithAPIKey("my-anthropic-api-key"),
    	)
    	message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
    		MaxTokens: 1024,
    		Messages: []anthropic.MessageParam{
    			anthropic.NewUserMessage(anthropic.NewTextBlock("What is a quaternion?")),
    		},
    		Model: anthropic.ModelClaudeOpus5_5,
    	})
    	if err != nil {
    		panic(err.Error())
    	}
    	fmt.Printf("%+v
    ", message.Content)
    }
    EOF
  6. 6运行并验证

    执行程序,向 Messages 接口发一次请求并打印返回内容块。

    go run main.go

关键配置

配置项必填说明示例
ANTHROPIC_API_KEY是环境变量形式的 API 密钥,NewClient 不传参时默认读取。sk-ant-xxxxxxxx
option.WithAPIKey否在代码中显式传入 API Key,优先级高于环境变量。option.WithAPIKey("my-anthropic-api-key")
MaxTokens是请求参数,限制本次回复生成的最大 token 数。1024
Model是指定调用的模型常量,示例用 ModelClaudeOpus5_5。anthropic.ModelClaudeOpus5_5
Messages是消息列表,示例通过 NewUserMessage 与 NewTextBlock 构造。anthropic.NewUserMessage(anthropic.NewTextBlock("What is a q

如何确认成功

执行 go run main.go 后正常打印出消息内容块,没有 panic 报错即表示调用成功。

常见问题

Q:运行时提示找不到包或版本不对?

A:确认 go.mod 中依赖为 github.com/anthropics/anthropic-sdk-go/v2,重新执行 README 给出的 go get 命令。

Q:报错信息与鉴权有关怎么办?

A:检查 ANTHROPIC_API_KEY 是否已导出到当前终端会话,或在 NewClient 中用 option.WithAPIKey 显式传入。

Q:是否需要手动解析 JSON 响应?

A:不需要,SDK 提供强类型结构体,直接读取 message.Content 等字段即可。

Q:如何切换使用的模型?

A:修改 MessageNewParams 中的 Model 字段,换成 SDK 提供的其他模型常量。

注意事项

  • README 未声明 Go 最低版本,建议使用较新的 Go 稳定版以避免模块解析问题。
  • 示例中的 API Key 是占位值,请替换为真实密钥,且不要提交到代码仓库。
  • 该库仅提供客户端封装,实际调用仍依赖 Anthropic API 服务可用。

核心亮点

  • Anthropic 官方维护,接口与 API 版本同步,兼容性有保障
  • 请求响应均为强类型结构体,编译期即可发现字段错误
  • 内置流式响应、工具调用、多模态内容块等 Claude 核心特性封装

不足之处

  • 仅覆盖 Anthropic 一家模型,多模型切换需另接其他 SDK
  • 社区生态和第三方示例相对较少,进阶用法需参考官方文档

适用场景

  • 用 Go 构建调用 Claude 的后端聊天服务
  • 在 Go 微服务中集成 AI 内容生成能力
  • 开发需要流式输出和工具调用的 Go 语言 AI 应用

替代项目

openai-go、langchaingo、go-openai

同类项目推荐

agent-spec 开源

给 AI 代理定验收标准,任务执行不跑偏

`agent-spec` is an AI-native BDD/spec verification tool for task execution.

★ 459 2026-08-09
openai-kotlin 开源

一套 Kotlin 代码,无缝调用 OpenAI、Claude、Gemini 等主流大模型。

OpenAI clients for kotlin multiplatform SDK, supports OpenAI, Anthropic, Azure, Gemi···

★ 57 2026-08-09
SupabaseAuthWithSSR 开源

Next.js 认证加 AI 对话模板,开箱即用省去搭架子

Supabase Auth + AI Stack for Next.js 16 with SSR and React Server Components (RSC), ···

★ 396 2026-10-02
self-dify 开源

从零到一,手把手教你本地部署 Dify 并打造专属 AI 应用

本教程将全面指导你如何快速搭建自己的AI应用环境,从Docker桌面版的安装与配置开始,到本···

★ 636 2026-08-09
MCP-Nest 开源

NestJS 里加个模块,AI 就能调你的接口

A NestJS module to effortlessly create Model Context Protocol (MCP) servers for expo···

★ 723 2026-09-16
ellmer 开源

在 R 里用一套代码调用多家大模型

Call LLM APIs from R

★ 620 2026-09-16
skills 开源

让 AI 代理真正会写 Expo 和 EAS 命令

A collection of AI agent skills for working with Expo projects and Expo Application ···

★ 3041 2026-10-01
node-diffusion 开源

像搭积木一样可视化 Stable Diffusion 的生成过程

Organize latent space

★ 52 2026-08-09
tinystruct 开源

用 Java 快速构建 AI 应用,插件化开发,轻量高效。

A lightweight, modular Java application framework for web and CLI development, ···

★ 363 2026-08-09