> ## Documentation Index
> Fetch the complete documentation index at: https://hastekit.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Golang SDK for building LLM powered apps, AI agents, and orchestrating multi-agent workflows across multiple LLM providers.

## HasteKit SDK

A Golang SDK for developers who want fine-grained control over LLM interactions and agent orchestration. The HasteKit SDK abstracts away provider differences, letting you switch between OpenAI, Anthropic, Gemini and more with a single line change. Build agents, connect MCP tools, and get structured outputs—all through a unified API.

### Core Capabilities

<CardGroup cols={2}>
  <Card title="Multi-Provider Support" icon="shuffle">
    Access to multiple providers through a unified API. Seamlessly switch between OpenAI, Anthropic, Gemini, XAI, and more.
  </Card>

  <Card title="Agent SDK" icon="robot">
    Build sophisticated AI agents with tools, MCP servers, conversation history, summarization, sub-agents, and skills.
  </Card>

  <Card title="Human-in-the-loop" icon="person">
    Integrate human feedback into agent workflows for review and approval.
  </Card>

  <Card title="Durable Execution" icon="helmet-safety">
    Create durable agents that can pause, resume, and recover from failures. Powered by Temporal and Restate.
  </Card>
</CardGroup>

### Example

<Tabs>
  <Tab title="LLM Calls">
    Use the SDK as a lightweight wrapper to call any LLM provider. Simply change the `Provider` and `Model` to switch between providers—your application logic stays the same:

    ```go theme={null}
    model := client.Model("OpenAI/gpt-4.1-mini") // or "Anthropic/claude-haiku-4-5" or "Gemini/gemini-2.5-flash"
    resp, _ := model.NewResponses(ctx, &responses.Request{
        Instructions: utils.Ptr("You are a helpful assistant."),
        Input: responses.InputUnion{
            OfString: utils.Ptr("What is the capital of France?"),
        },
    })
    ```
  </Tab>

  <Tab title="Agents">
    Create agents with tools, memory, and multi-step reasoning. Agents work the same way across all providers:

    ```go theme={null}
    agent := hastekit.NewAgent(&hastekit.AgentConfig{
        Name:        "Assistant",
        Instruction: hastekit.NewPrompt("You are a helpful assistant."),
        LLM:         client.Model("OpenAI/gpt-4o-mini"),
    })

    handle, _ := agent.Execute(ctx, &agents.AgentInput{
        Message: history.Message{
        	Messages: []responses.InputMessageUnion{
                responses.UserMessage("Hello!"),
            },
        },
    })
    out, _ := handle.Result()
    ```
  </Tab>
</Tabs>

<Card title="Get Started with the SDK →" icon="arrow-right" href="/docs/hastekit-sdk/setting-up">
  Install the SDK and make your first LLM call in under 5 minutes.
</Card>

***
