Skip to main content
HasteKit is a Go SDK for agents that use tools, keep conversation history, delegate work, and pause for human input. Run an agent in your application, expose it through a chat interface, or move its execution to Temporal or Restate. The Go module is github.com/hastekit/agent-sdk-go. These guides import the root package as hastekit. You can call providers directly; a separately deployed HasteKit Gateway is optional.

Build your first agent

After installing the SDK and configuring a provider, create an agent and send a turn. Here model is the provider returned by client.Model(...), and ctx is your request context:
Add function tools when the agent needs to act, and reuse a thread ID when it needs earlier turns. Agents and execution explains streaming, cancellation, and paused results.

What are you building?

An assistant with tools

Turn Go functions into model-callable tools, then connect MCP servers and skills.

A chat application

Serve the embedded chat UI or build your own with React and CopilotKit.

A team of agents

Delegate independent work to sub-agents or hand the conversation to a specialist.

Work that runs later

Schedule one-time or recurring agent tasks and inspect their conversations.

A durable service

Keep orchestration in Temporal or Restate and share history, events, and files across workers.

An explicit workflow

Define a graph in Go or YAML when your application should choose the steps and branches.

Find the right layer

Learn the core concepts

Start with prompts and run context, structured output, and conversation history. Add middleware to customize execution and evaluations to measure changes to models, instructions, and tools. These guides follow the current SDK APIs. Pin your module version and use matching documentation when upgrading. Complete programs include imports; shorter snippets name their prerequisites. Model IDs are examples—choose a model available to your account with the capabilities your application needs.