mcpField
E
eino-guide

eino-guide

github.com/cloudwegoDevelopment828323 installsUpdated 1w ago
Repository

About eino-guide

eino-guide is a guide to the Eino framework for Go developers building LLM applications. It covers components, orchestration, and agent development, and maps common tasks to relevant concepts and skills.

Key features

  1. 01Explains models, tools, retrieval, and other components
  2. 02Covers Graph, Chain, and Workflow orchestration
  3. 03Surveys ADK, Runner, and human-in-the-loop flows
  4. 04Maps core packages and extension implementations
  5. 05Routes tasks to development approaches

Use cases

  1. 01Choose component interfaces for Go LLM applications
  2. 02Select orchestration for linear or branching flows
  3. 03Plan an implementation for multi-turn agents and tools
  4. 04Outline RAG or human-approval workflows

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/cloudwego/eino-ext --skill eino-guide

After installing, type/eino-guidein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

reference/
quick-start.md
runnable.md
schema.md

Details

From the project README

Eino Framework Guide

Eino (pronounced "i know") is a Go framework for building LLM applications.

Core Concepts

Component

Standardized interfaces for AI capabilities. Each interface has multiple interchangeable implementations.

ComponentWhat It DoesKey Interface
ChatModelLLM inference (generate / stream)model.BaseChatModel, model.ToolCallingChatModel
ToolFunctions the model can calltool.InvokableTool, tool.EnhancedInvokableTool
EmbeddingText to vectorembedding.Embedder
RetrieverVector/keyword searchretriever.Retriever
IndexerStore documents with vectorsindexer.Indexer
ChatTemplatePrompt formatting with variablesprompt.ChatTemplate
Document Loader/TransformerLoad and process documentsdocument.Loader, document.Transformer
Callback HandlerObservability and tracingcallbacks.Handler

Implementations live in eino-ext (OpenAI, Claude, Gemini, Ark, Ollama, Milvus, Redis, Elasticsearch, etc.).

-> Use /eino-component for selecting, configuring, and using components.

Orchestration (Compose)

Three APIs for wiring components into executable pipelines. All compile to a Runnable[I, O] with four execution modes (Invoke, Stream, Collect, Transform).

APITopologyWhen to Use
GraphDirected graph, supports cyclesComplex flows with branching, loops (e.g., ReAct pattern)
ChainLinear sequentialSimple pipelines (e.g., template -> model)
WorkflowDAG with field-level mappingParallel branches with struct field routing

The compose layer handles type checking, stream conversion between nodes, concurrency, callback injection, and option distribution automatically.

-> Use /eino-compose for building graphs, chains, workflows, streaming, callbacks, and state management.

ADK (Agent Development Kit)

High-level abstractions for building AI agents. Encapsulates the model-tool-loop pattern.

ConceptWhat It Does
ChatModelAgentReAct-style agent: model generates, calls tools, loops until done
DeepAgentPre-built agent with filesystem backend, tool search, summarization
RunnerExecutes agents, manages checkpoints, emits event streams
Middleware (Handlers)Intercept and extend agent behavior (filesystem, summarization, plan-task, etc.)
Interrupt/ResumeHuman-in-the-loop: pause agent, get user input, resume from checkpoint
AgentToolWrap an agent as a tool callable by another agent

-> Use /eino-agent for building agents, configuring middleware, runners, and human-in-the-loop.

Schema

Shared data types used across all layers:

  • schema.Message -- Conversation message (system/user/assistant/tool roles, content, tool calls)
  • schema.Document -- Document with content, metadata, and vector embeddings
  • schema.ToolInfo -- Tool description with JSON schema parameters
  • schema.StreamReader[T] -- Generic streaming reader (always defer stream.Close())

Repositories

RepositoryRole
github.com/cloudwego/einoCore: interfaces, schema, compose engine, ADK, callbacks
github.com/cloudwego/eino-extImplementations: model providers, vector stores, tools, callback handlers

Packages at a Glance

eino (core):

PackageContains
schemaMessage, Document, ToolInfo, StreamReader
components/modelChatModel and AgenticModel interfaces
components/toolTool interfaces (BaseTool, InvokableTool, StreamableTool, Enhanced variants)
components/embeddingEmbedder interface
components/retrieverRetriever interface
components/indexerIndexer interface
components/documentLoader, Transformer interfaces
components/promptChatTemplate interface
composeGraph, Chain, Workflow, ToolsNode, Runnable, state, checkpoint
callbacksHandler interface, global/per-run registration
adkAgent, Runner, ChatModelAgent, middleware, interrupt/resume
adk/prebuilt/deepDeepAgent preset

eino-ext (implementations):

PackageContains
components/model/{provider}ChatModel implementations (openai, claude, gemini, ark, ollama, deepseek, qwen, etc.)
components/embedding/{provider}Embedding implementations (openai, ark, ollama, etc.)
components/retriever/{backend}Retriever implementations (redis, milvus2, es8, qdrant)
components/indexer/{backend}Indexer implementations (redis, milvus2, es8, qdrant)
components/tool/{type}Tool implementations (mcp, googlesearch, duckduckgo, bingsearch, etc.)
callbacks/{provider}Callback handlers (cozeloop, apmplus, langfuse, langsmith)
adk/backend/localLocal filesystem Backend for DeepAgent

Choosing Your Approach

ScenarioApproachSkill
Single model call (generate or stream)Use ChatModel directly/eino-component
Multi-turn agent with toolsChatModelAgent + Runner/eino-agent
Production agent with filesystem, tool searchDeepAgent/eino-agent
Linear pipeline (template -> model)Chain/eino-compose
Complex flow with branching or loopsGraph/eino-compose
Parallel branches with field mappingWorkflow/eino-compose
RAG (embed + index + retrieve)Indexer + Retriever + Embedding/eino-component
Agent with human approvalInterrupt/Resume + Runner/eino-agent
Observability and tracingCallback handlers/eino-component

Reference Files

  • reference/schema.md -- Core data types shared across all layers: Message, Document, ToolInfo, StreamReader
  • reference/runnable.md -- Runnable[I, O] interface, four execution modes, runtime options
  • reference/quick-start.md -- Three complete working examples (ChatModel, Agent+Runner, Chain)

Instructions to Agent

  1. Route to the appropriate skill (/eino-component, /eino-compose, /eino-agent) when the question is specific. Consult the "Choosing Your Approach" table.
  2. Always provide Go code examples using real import paths from github.com/cloudwego/eino and github.com/cloudwego/eino-ext.
  3. For component implementation details, always read the provider's reference file before generating code. Do not assume constructor or config naming conventions.
  4. Prefer ADK (ChatModelAgent + Runner) for agent use cases over manually building ReAct loops with compose graphs. For interactive multi-turn applications needing preemption and lifecycle management, recommend TurnLoop.
  5. When showing streaming code, always include defer stream.Close().

Comments

Markdown supported