Quick Start
This document serves as the unified entry point for the ChatWithEino Quickstart: a clear path to get you up and running, along with an explanation of what this series ultimately delivers (an extensible end-to-end Agent application skeleton).
What Is This
ChatWithEino is a learning-oriented Agent built with Eino: it can read source code/docs/examples and help developers understand Eino and write Eino code through conversation.
This Quickstart series follows a “progressive build-up” approach:
- Start with a Console app, progressively introducing ChatModel, Agent/Runner, Memory, Tool, Middleware, Callback, Interrupt/Resume, Graph Tool, and Skill
- Ultimately deliver the same Agent as a Web app, using the A2UI protocol to render the event stream into an incrementally updating UI
The Shortest Path: Run It First
In the repository root:
git clone https://github.com/cloudwego/eino-examples.git
cd eino-examples/quickstart/chatwitheino
1) Minimal Console (Chapter 1)
Prepare model configuration (using OpenAI as an example):
export OPENAI_API_KEY="..."
export OPENAI_MODEL="gpt-4.1-mini"
Run:
go run ./cmd/ch01 -- "Explain in one sentence what problem Eino's Component design solves."
2) Final Web (A2UI)
go run .
After it starts, open the address printed in the output (default http://localhost:8080).
3) (Optional) Enable Skills (Chapter 9 Capability Reuse)
Skills inject a stable set of “knowledge/instruction packs” (SKILL.md + reference/*.md) into the Agent, so the model can load and call them on demand when needed.
go run ./scripts/sync_eino_ext_skills.go -src /path/to/eino-ext -dest ./skills/eino-ext -clean
EINO_EXT_SKILLS_DIR="$(pwd)/skills/eino-ext" go run .
Notes:
- The
./skills/directory is ignored by.gitignoreby default, to avoid accidentally committing synced skills - To verify Skills take effect, run the Chapter 9 entry code:
Learning Path (Chapter Navigation)
| Chapter | Topic | Entry |
| Chapter 1 | ChatModel and Message (Console) | https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch01_chatmodel_agent_console.md |
| Chapter 2 | Agent and Runner (Console Multi-turn) | https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch02_chatmodel_agent_runner_console.md |
| Chapter 3 | Memory and Session (Persistent Conversation) | https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch03_memory_session_jsonl.md |
| Chapter 4 | Tool and File System Access | https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch04_tool_backend_filesystem.md |
| Chapter 5 | Middleware (Middleware Pattern) | https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch05_middleware.md |
| Chapter 6 | Callback and Trace (Observability) | https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch06_callback.md |
| Chapter 7 | Interrupt/Resume | https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch07_interrupt_resume.md |
| Chapter 8 | Graph Tool (Complex Workflows) | https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch08_graph_tool.md |
| Chapter 9 | Skill (Console) | https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch09_skill.md |
| Final Chapter | A2UI (Web) | https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch10_a2ui.md |
Final Deliverable: An Extensible End-to-End Agent Application Skeleton
You can think of the final output of this Quickstart as a “pluggable application skeleton” that connects Eino’s key capabilities into a full loop:
- Runtime: Runner drives execution, supporting streaming output and the event model
- Tools: integrate file system/retrieval/workflows via Tool
- Middleware: carry cross-cutting concerns like retries, approvals, and error handling via handler/middleware
- Human-in-the-loop: interrupt/resume + checkpoint enable interactive flows like approval, missing-arg filling, and branch selection
- Deterministic orchestration: compose (graph/chain/workflow) organizes complex business flows into maintainable, reusable execution graphs
- UI delivery: map the Agent event stream to an incrementally renderable UI component tree with A2UI (SSE push)
The boundary of A2UI is important to clarify: it is not part of the Eino framework itself; it is a business-layer UI protocol/rendering solution. This Quickstart uses it to demonstrate “how Agent capabilities can be delivered as a product to users”. The specific implementation and protocol details are defined by the final chapter.
Next Explorations (From Quickstart to Real Business)
- To systematically understand Eino’s component abstractions and usage: start from Chapter 1’s Component introduction, then progressively fill in Tool/Graph/Callback/Interrupt and other capabilities chapter by chapter
- To reuse larger-scale knowledge and instructions: integrate
eino-extskills and load them on demand via Skill middleware - To build an Agent into a business product: follow the final chapter (A2UI/Web) to connect event stream, state, and interaction, then replace with your own UI form and protocol