Quick Start

This page is the unified entrypoint for the ChatWithEino Quickstart series: it provides a clear path to get you running and explains what you will build by the end (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, then progressively introduce ChatModel, Agent/Runner, Memory, Tools, Middleware, Callback, Interrupt/Resume, Graph Tool, and Skill
  • Deliver the same Agent as a Web app in the end, and use 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 config (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:

Learning path (chapter navigation)

ChapterTopicEntry
Chapter 1ChatModel and Message (Console)https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch01_chatmodel_agent_console.md
Chapter 2Agent and Runner (Console multi-turn)https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch02_chatmodel_agent_runner_console.md
Chapter 3Memory and Session (persistent conversation)https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch03_memory_session_jsonl.md
Chapter 4Tools and file system accesshttps://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch04_tool_backend_filesystem.md
Chapter 5Middleware patternhttps://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch05_middleware.md
Chapter 6Callback and Trace (observability)https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch06_callback.md
Chapter 7Interrupt/Resumehttps://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch07_interrupt_resume.md
Chapter 8Graph Tool (complex workflows)https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch08_graph_tool.md
Chapter 9Skill (Console)https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch09_skill.md
FinalA2UI (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: 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”, and the 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 and then fill in Tools/Graph/Callback/Interrupt step by step
  • To reuse larger-scale knowledge and instruction packs: integrate eino-ext skills 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 it with your own UI form/protocol