Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/en/docs/eino/Cookbook.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
Description: ""
date: "2026-03-02"
date: "2026-03-16"
lastmod: ""
tags: []
title: Cookbook
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
Description: ""
date: "2026-03-02"
date: "2026-03-16"
lastmod: ""
tags: []
title: 'Backend: Ark Agentkit Sandbox'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
Description: ""
date: "2026-03-02"
date: "2026-03-12"
lastmod: ""
tags: []
title: 'Backend: Local FileSystem'
Expand All @@ -11,7 +11,7 @@ weight: 2

Package: `github.com/cloudwego/eino-ext/adk/backend/local`

Note: If your eino version is v0.8.0 or above, you need to use local backend [v0.2.0-alpha](https://github.com/cloudwego/eino-ext/releases/tag/adk%2Fbackend%2Flocal%2Fv0.2.0-alpha.1) version.
Note: If your eino version is v0.8.0 or above, you need to use local backend [adk/backend/local/v0.2.1](https://github.com/cloudwego/eino-ext/releases/tag/adk%2Fbackend%2Flocal%2Fv0.2.1).

### Overview

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
Description: ""
date: "2026-03-02"
date: "2026-03-12"
lastmod: ""
tags: []
title: 'Middleware: FileSystem'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
Description: ""
date: "2026-03-02"
date: "2026-03-16"
lastmod: ""
tags: []
title: 'Middleware: Skill'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
Description: ""
date: "2026-03-02"
date: "2026-03-12"
lastmod: ""
tags: []
title: 'Middleware: ToolReduction'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
Description: ""
date: "2026-03-02"
date: "2026-03-12"
lastmod: ""
tags: []
title: 'Eino ADK: Agent Callback'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
Description: ""
date: "2026-03-03"
date: "2026-03-16"
lastmod: ""
tags: []
title: 'Eino ADK: ChatModelAgent'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
Description: ""
date: "2026-01-30"
date: "2026-03-16"
lastmod: ""
tags: []
title: 'Eino: ReAct Agent Manual'
Expand Down
6 changes: 3 additions & 3 deletions content/en/docs/eino/ecosystem_integration/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ weight: 6

### ChatModel

- openai: [ChatModel - OpenAI](https://github.com/cloudwego/eino-ext/blob/main/components/model/openai/README.md)
- ark: [ChatModel - ARK](https://github.com/cloudwego/eino-ext/blob/main/components/model/ark/README.md)
- ollama: [ChatModel - Ollama](https://github.com/cloudwego/eino-ext/blob/main/components/model/ollama/README.md)
- openai: [OpenAI](/docs/eino/ecosystem_integration/chat_model/agentic_model_openai)
- ark: [ARK](/docs/eino/ecosystem_integration/chat_model/agentic_model_ark)
- More components: [ChatModel component list](/docs/eino/ecosystem_integration/chat_model)

### Document

Expand Down
97 changes: 79 additions & 18 deletions content/en/docs/eino/quick_start/_index.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,101 @@
---
Description: ""
date: "2026-01-22"
date: "2026-03-16"
lastmod: ""
tags: []
title: 'Eino: Quick Start'
title: 'Quick Start'
weight: 2
---

## Overview
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).

Eino offers component abstractions tailored for common AI application scenarios, with multiple implementations available. Getting a simple application up and running with Eino is **very straightforward**. This section presents a few of the most typical AI application examples to help you get productive quickly.
## What is this

These small examples are meant for quick onboarding. For deeper dives into specific capabilities and extended samples, see [Components](/docs/eino/core_modules/components) and [Orchestration](/docs/eino/core_modules/chain_and_graph_orchestration/chain_graph_introduction).
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.

## Quick Start Examples
This Quickstart series follows a “progressive build-up” approach:

### Example: Minimal LLM Application
- 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 most basic pattern in LLM applications is a `prompt + chat model`, which is also the primary capability offered by many AI platforms. You can define a `System Prompt` to constrain the model’s behavior (for example, “You are acting as role XXX”). In this example, you can combine Eino’s `PromptTemplate` and `ChatModel` components to build a role-playing application.
## The shortest path: run it first

- [Implement a minimal LLM application — ChatModel](/docs/eino/quick_start/simple_llm_application)
In the repository root:

### Example: Build an Agent
```bash
git clone https://github.com/cloudwego/eino-examples.git
cd eino-examples/quickstart/chatwitheino
```

The LLM is the brain of an AI application: it understands natural language and produces responses. A text-only LLM accepts text and returns text. When you want the model to fetch information or perform actions, you introduce `Tools`. With tools, the model gains “hands” that can interact with existing IT infrastructure. For example, “call an HTTP API to check the weather, then suggest what to wear” requires the model to call a “search tool”.
### 1) Minimal Console (Chapter 1)

We call the overall system that decides when to call specific tools based on model outputs an “agent”.
Prepare model config (OpenAI as an example):

In Eino, you can implement an agent with `ChatModel + ToolsNode`, or use the built-in `react agent` and `multi agent` packages.
```bash
export OPENAI_API_KEY="..."
export OPENAI_MODEL="gpt-4.1-mini"
```

In this example, we’ll use the ReAct agent to build an agent that interacts with the real world.
Run:

- [Agent — Give your LLM hands](/docs/eino/quick_start/agent_llm_with_tools)
```bash
go run ./cmd/ch01 -- "Explain in one sentence what problem Eino’s Component design solves."
```

## Next Steps
### 2) Final Web (A2UI)

- Understand Eino’s core modules and concepts: [Eino: Core Modules](/docs/eino/core_modules). This is the key knowledge to fluently develop applications with Eino.
- Eino embraces an open ecosystem and provides numerous integration components: [Eino: Ecosystem Integration](/docs/eino/ecosystem_integration). Use these components to quickly assemble your business applications.
```bash
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.

```bash
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 `.gitignore` by default, to avoid accidentally committing synced skills
- To verify Skills take effect, run the Chapter 9 entry code:
- [https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/cmd/ch09/main.go](https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/cmd/ch09/main.go)

## Learning path (chapter navigation)

<table>
<tr><td>Chapter</td><td>Topic</td><td>Entry</td></tr>
<tr><td>Chapter 1</td><td>ChatModel and Message (Console)</td><td>https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch01_chatmodel_agent_console.md</td></tr>
<tr><td>Chapter 2</td><td>Agent and Runner (Console multi-turn)</td><td>https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch02_chatmodel_agent_runner_console.md</td></tr>
<tr><td>Chapter 3</td><td>Memory and Session (persistent conversation)</td><td>https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch03_memory_session_jsonl.md</td></tr>
<tr><td>Chapter 4</td><td>Tools and file system access</td><td>https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch04_tool_backend_filesystem.md</td></tr>
<tr><td>Chapter 5</td><td>Middleware pattern</td><td>https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch05_middleware.md</td></tr>
<tr><td>Chapter 6</td><td>Callback and Trace (observability)</td><td>https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch06_callback.md</td></tr>
<tr><td>Chapter 7</td><td>Interrupt/Resume</td><td>https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch07_interrupt_resume.md</td></tr>
<tr><td>Chapter 8</td><td>Graph Tool (complex workflows)</td><td>https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch08_graph_tool.md</td></tr>
<tr><td>Chapter 9</td><td>Skill (Console)</td><td>https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch09_skill.md</td></tr>
<tr><td>Final</td><td>A2UI (Web)</td><td>https://github.com/cloudwego/eino-examples/blob/main/quickstart/chatwitheino/docs/ch10_a2ui.md</td></tr>
</table>

## 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
Loading
Loading