
roasbeef/claude-agent-sdk-go
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
クロードコード用のSDK - ツール使用、MCP統合、ストリーミングでAIエージェントを構築
概要
Claudeのエージェント機能のPure Go SDK。 claude-agent-sdk-go は、Claude コードのネイティブ Go インターフェイスを、CLI をサブプロセスとして管理します。 Claudeのツールの使用、拡張思考、セッション管理、およびホックシステムにアクセスできる、stdin/stdout上のライン区切りJSONを介して通信します。 このリポジトリは、公式のTypeScript Agent SDKをv0.3.296キャッチアップ作業で追跡し、APIの形状が異なるGo idiomsを使用します。 Query() または Stream() を呼び出すと、SDK は CLI をスポーンし、プロンプトを送信し、メッセージが届くように収まります。 MCP ツールでは、フローには双方向制御メッセージが含まれます。 要件: - 行く 1.23 + (iter.Seqのために) - クロードコードCL:npmインストール -g @anthropic-ai /クラスドコード - ANTHROPIC API KEYまたはCLAUDE CODE OAUTH TOKENあなたの環境で 設定は、設定ファイルパスまたはインラインJSONとして供給できます。 会話中にClaudeが使用できるツールを定義します。 MCP を見る 型応答、バイナリサーバなどのツール.
概要(AI 翻訳)
Claudeのエージェント機能のPure Go SDK。
概要
claude-agent-sdk-goは、管理によるClaudeコードへのネイティブGoインターフェイスを提供します CLI はサブプロセスです。 ライン区切りのJSONを介して通信 stdin/stdout は、Claude のツール使用、拡張思考、 セッション管理、およびホック システム。
このリポジトリは、公式のTypeScript Agent SDKの表面を追跡します。 v0.3.310 は、API の形状が異なる Go の idioms を使用して、作業をキャッチアップします。
[Query() または Stream()]] を呼び出すと、SDK は CLI をスポーンし、送信する
プロンプトでメッセージが届きます。 MCP ツールのフローには、
二方向制御メッセージ:
インストール
条件:
- 行きます 1.23+ ([[T2]のために)
- クロードコード CLI: [
npm install -g @anthropic-ai/claude-code - 環境の[
ANTHROPIC_API_KEYまたは[CLAUDE_CODE_OAUTH_TOKEN]
クイックスタート
ストリーミング
マルチターンの会話の場合:
設定
設定は、設定ファイルパスまたはインラインJSONとして供給できます。
カスタムツール(MCP)
会話中にClaudeが使用できるツールを定義します。
MCP を見る 型応答、バイナリサーバなどのツール
ラルフ・ウィグム・ループ
このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。
README
以下は原文 README の抜粋です。原文を見る。
claude-agent-sdk-go
A pure Go SDK for Claude’s agentic capabilities.
Overview
claude-agent-sdk-go provides a native Go interface to Claude Code by managing the CLI as a subprocess. It communicates via line-delimited JSON over stdin/stdout, giving you access to Claude’s tool use, extended thinking, session management, and hook system.
This repository tracks the official TypeScript Agent SDK surface through the v0.3.316 catchup work, using Go idioms where the API shape differs.
flowchart TB
subgraph SDK[Go SDK]
Client --> Protocol --> Transport
MCP[SDK MCP] |tool calls| Protocol
end
Transport |stream-json| CLI[Claude CLI]
CLI API[Claude API]
When you call Query() or Stream(), the SDK spawns the CLI, sends your
prompt, and yields messages as they arrive. For MCP tools, the flow includes
bidirectional control messages:
sequenceDiagram
participant App as Go App
participant CLI as Claude CLI
participant API as Claude API
App->>CLI: prompt (stdin)
CLI->>API: API request
API-->>CLI: response stream
CLI-->>App: messages (stdout)
CLI->>App: mcp_message (tool call)
App-->>CLI: mcp_response
CLI-->>App: result
Installation
go get github.com/roasbeef/claude-agent-sdk-go
Requirements:
- Go 1.23+ (for
iter.Seq) - Claude Code CLI:
npm install -g @anthropic-ai/claude-code ANTHROPIC_API_KEYorCLAUDE_CODE_OAUTH_TOKENin your environment
Quick Start
package main
import (
"context"
"fmt"
"log"
"github.com/roasbeef/claude-agent-sdk-go"
)
func main() {
client, err := claudeagent.NewClient(
claudeagent.WithSystemPrompt("You are a helpful assistant."),
)
if err != nil {
log.Fatal(err)
}
defer client.Close()
ctx := context.Background()
for msg := range client.Query(ctx, "What is the capital of France?") {
switch m := msg.(type) {
case claudeagent.AssistantMessage:
fmt.Println(m.ContentText())
case claudeagent.ResultMessage:
fmt.Printf("Cost: $%.4f\n", m.TotalCostUSD)
}
}
}
Streaming
For multi-turn conversations:
stream, _ := client.Stream(ctx)
defer stream.Close()
stream.Send(ctx, "Let's plan a trip to Japan.")
for msg := range stream.Messages() {
if m, ok := msg.(claudeagent.AssistantMessage); ok {
fmt.Println(m.ContentText())
}
}
// Continue the conversation
stream.Send(ctx, "What about Kyoto?")
Configuration
client, _ := claudeagent.NewClient(
claudeagent.WithModel("claude-sonnet-4-5-20250929"),
claudeagent.WithSystemPrompt("You are an expert Go developer."),
claudeagent.WithPermissionMode(claudeagent.PermissionModeAcceptEdits),
claudeagent.WithMaxTurns(20),
)
インストール
This server does not publish a one-line install command.
Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →