
roasbeef/claude-agent-sdk-go
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Go SDK for Claude Code — создание агентов ИИ с использованием инструментов, интеграцией MCP и потоковой передачей
Обзор
Чистый Go SDK для агентских возможностей Клода. claude-agent-sdk-go предоставляет собственный интерфейс Go для Claude Code, управляя CLI как подпроцессом. Он общается через линию JSON через stdin / stdout, давая вам доступ к использованию инструментов Клода, расширенному мышлению, управлению сеансами и системе крючков. Этот репозиторий отслеживает официальную поверхность TypeScript Agent SDK через догоняющую работу v0.3.296, используя идиомы Go, где форма API отличается. Когда вы звоните в Query() или Stream(), SDK генерирует CLI, отправляет ваши запросы и передает сообщения по мере их поступления. Для инструментов MCP поток включает двунаправленные управляющие сообщения: Требования: - Go 1.23+ (для iter.Seq) - Claude Code CLI: npm install -g @anthropic-ai/claude-code -ANTHROPIC API KEY или CLAUDE CODE OAUTH TOKEN в вашей среде Настройки могут быть предоставлены либо как путь файла настроек, либо как встроенный JSON: Определите инструменты, которые Клод может использовать во время разговора: Посмотреть MCP Инструменты для типизированных ответов, бинарные серверы и многое другое.
Обзор (машинный перевод)
Чистый Go SDK для агентских возможностей Клода.
Обзор
claude-agent-sdk-go предоставляет нативный интерфейс Go для Claude Code CLI как подпроцесс. Общается через линию JSON over stdin/stdout, дающий вам доступ к использованию инструментов Клода, расширенное мышление, Управление сеансами и крючковая система.
Этот репозиторий отслеживает официальную поверхность TypeScript Agent SDK. v0.3.310, используя идиомы Go, где форма API отличается.
Когда вы звоните Query() или Stream(), SDK порождает CLI, отправляет ваш запрос.
Поступай и получи сообщения по мере их поступления. Для инструментов MCP поток включает
Двунаправленные сообщения управления:
##Установка
Требования:
- Go 1.23+ (для
iter.Seq) - Claude Code CLI:
npm install -g @anthropic-ai/claude-code[4] или [5] в вашем окружении
Быстрый старт
Стриминг
Для многоразовых бесед:
Конфигурация
Настройки могут быть предоставлены либо как путь файла настроек, либо как встроенный JSON:
Пользовательские инструменты (MCP)
Определите инструменты, которые Клод может использовать во время разговора:
Посмотреть MCP Инструменты для типизированных ответов, бинарные серверы и многое другое.
Ральф Виггам Луп
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
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 →