cloudwego/eino
AI EngineeringA Go framework for composing LLM components into graphs and agents, aimed at teams building AI applications in Go.
Eino is worth a look if your backend is already written in Go and you want LLM orchestration without introducing a Python or TypeScript service just for the AI layer. It is a framework, not a ready-made app: expect to write Go code and choose component implementations from the separate extension repository.
The problem
A Go team typically assembles an LLM feature by hand: calling an HTTP model API, formatting prompts, wiring a retriever, and handling tool-call loops in ad-hoc code. That works until the flow grows branches, needs streaming across several steps, or requires a human approval step in the middle. Then the glue code becomes the application, and changing the flow means rewriting it. Eino changes that by letting you describe nodes and edges in a typed graph or configure an agent, leaving the framework to route data, carry streams between nodes, and run the tool loop.
What's different
The core abstraction is a typed composition graph: you declare start, lambda, chat-model and end nodes, connect them with edges, compile, and invoke. Deterministic pipelines can themselves be exposed as tools that an agent calls when it decides a domain-specific workflow is needed, which is a useful way to mix exact control with model-driven routing. Above that, the Agent Development Kit offers a ChatModelAgent that handles the ReAct loop internally and a DeepAgent that delegates to sub-agents and can run shell commands, Python, or web search.
The framework also centralizes cross-cutting concerns. Streaming is propagated automatically, so components implement only the streaming forms that fit them and the framework concatenates or merges streams between nodes. Callbacks inject logging, tracing and metrics at fixed lifecycle points, and interrupt/resume can pause an agent or tool for human input and resume from a checkpoint. The trade-off is that all of this is expressed in Go idioms and types, so you are buying into a framework's graph model rather than composing small independent libraries. Code paths are explicit and typed, but the abstraction takes time to learn, and the agent layer carries opinions about how to structure delegation and state.
Who should try it
A good fit is a Go backend team that already has domain services in Go and wants an LLM agent to call them as tools, or wants a graph-shaped workflow where streaming, callbacks and a human-in-the-loop pause matter. It is also reasonable for teams that want one language across services and are willing to adopt the graph and ADK abstractions. A poor fit is a small script, a one-off prompt call, or a team whose AI work is mostly Python notebooks and experiments; introducing Go and a framework would add more structure than the task needs. If you only need model access, the component implementations live outside this repository, so check that your provider is covered before committing.
Requirements and limitations
The README states Go 1.18 or above; provider integrations such as OpenAI, Claude, Gemini, Ark, Ollama and Elasticsearch are in the separate eino-ext repository, so the core module alone will not talk to a model. The documentation site is the main reference, and the examples repository is where the working patterns live. The project is split across four repositories — core, extensions, examples and devops tooling — which means version compatibility between them is something you need to track.
For a project whose main claim is agent development, the security guidance matters: vulnerabilities go to ByteDance Security rather than a public issue. The README does not describe runtime isolation for tools that run shell commands or Python, so teams using DeepAgent should treat that capability on its own terms and check the docs' human-in-the-loop checkpointing. The repository's own lint rules and GoDoc requirements are contributor-facing, not a guarantee about third-party component quality.
HotRepo's take
HotRepo has only a single recorded observation: #18 on the weekly Go board with +109 stars for the week ending 2026-10-26. That is one dated snapshot and cannot show whether interest is growing or fading; comparable daily history is absent. An HN thread from 2025-04-09 drew 4 points and 1 comment, and a commenter's 2025-04-10 reply merely restated the component integrations and chain/graph orchestration. Before adopting, verify that the eino-ext implementation for your model provider is on a version compatible with the core release you plan to use.
Hacker News
Written by AI from the project's README, updated October 26, 2026. The project's own docs are the source of truth.