Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A lightweight, powerful framework for multi-agent workflows in Go
| Date | Stars |
|---|---|
| 2026-07-31 | 269 |
| 2026-08-04 | 269 |
| 2026-08-06 | 269 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# OpenAI Agents Go SDK
The OpenAI Agents SDK is a lightweight yet powerful framework for building
multi-agent workflows. It is provider-agnostic, supporting the OpenAI Responses
and Chat Completions APIs, as well as other LLMs.
This is a Go port of [OpenAI Agents Python SDK](https://openai.github.io/openai-agents-python/)
(see its license [here](https://github.com/openai/openai-agents-python/tree/main?tab=MIT-1-ov-file#readme)).
This project aims at being as close as possible to the original Python
implementation, for both its behavior and the API.
### Core concepts:
1. **Agents**: LLMs configured with instructions, tools, guardrails, and handoffs
2. **Handoffs**: A specialized tool call used by the Agents SDK for transferring control between agents
3. **Guardrails**: Configurable safety checks for input and output validation
Explore the [examples](examples) directory to see the SDK in action:
| Directory | Description |
|-----------|-------------|
| [basic](examples/basic) | Core features such as hello world, streaming, prompt templates, and tools. |
| [agent_patterns](examples/agent_patterns) | Common agent design patterns including routing, guardrails, and parallelization. |
| [customer_service](examples/customer_service) | Multi-agent airline support scenario using handoffs and tools. |
| [financial_research_agent](examples/financial_research_agent) | Coordinated agents performing financial analysis and report writing. |
| [handoffs](examples/handoffs) | Techniques for filtering messages and handing off between agents. |
| [hosted_mcp](examples/hosted_mcp) | Hosted Model Context Protocol examples, including simple and approval flows. |
| [mcp](examples/mcp) | Running local MCP servers and clients for filesystems, git, prompts, and streaming. |
| [model_providers](examples/model_providers) | Integrating custom model providers and proxies like LiteLLM. |
| [research_bot](examples/research_bot) | General research bot combining planner, search, and writer agents. |
| [repl](examples/repl) | Command-line REPL for interactive experimentation. |
| [session](examples/session) | Demonstrates persistent session memory across multiple runs. |
| [tools](examples/tools) | Usage of built-in tools such as code interpreter, computer use, file search, and web search. |
| [voice](examples/voice) | Static and streaming voice response examples. |
## Installation
```
go get github.com/nlpodyssey/openai-agents-go
```
## Hello world example
```go
package main
import (
"context"
"fmt"
"github.com/nlpodyssey/openai-agents-go/agents"
)
func main() {
agent := agents.New("Assistant").
WithInstructions("You are a helpful assistant").
WithModel("gpt-4o")
result, err := agents.Run(context.Background(), agent, "Write a haiku about recursion in programming.")
if err != nil {
panic(err)
}
fmt.Println(result.FinalOutput)
// Function calls itself,
// Deep within the endless loop,
// Code mirrors its form.
}
```
(_If running this, ensure you set the `OPENAI_API_KEY` environment variable_)
## Handoffs example
```go
package main
import (
"context"
"fmt"
"github.com/nlpodyssey/openai-agents-go/agents"
)
func main() {
spanishAgent := agents.New("Spanish agent").
WithInstructions("You only speak Spanish.").
WithModel("gpt-4o")
englishAgent := agents.New("English agent").
WithInstructions("You only speak English.").
WithModel("gpt-4o")
triageAgent := agents.New("Triage agent").
WithInstructions("Handoff to the appropriate agent based on the language of the request.").
WithAgentHandoffs(spanishAgent, englishAgent).
WithModel("gpt-4o")
result, err := agents.Run(context.Background(), triageAgent, "Hola, ¿cómo estás?")
if err != nil {
panic(err)
}
fmt.Println(result.FinalOutput)
// ¡Hola! Estoy bien, gracias. ¿Y tú cómo estás?
}
```
## Functions example
```go
package main
impoExcerpt of 7,664 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:345c06dbc4bad250, topic:agents, desc:multi-agent, desc:multi agent
matched fp:345c06dbc4bad250, topic:llm