Home
Softono
yao

yao

Open source Go
7.5K
Stars
684
Forks
1
Issues
100
Watchers
1 week
Last Commit

About yao

# Yao β€” App Runtime for the AI Era Yao is an open-source runtime for building AI agents and web applications β€” shipped as a single binary. ![Mission Control](docs/mission-control.png) **🏠 Homepage:** [https://yaoagents.com](https://yaoagents.com) **πŸ“š Docs:** [https://yaoagents.com/docs](https://yaoagents.com/docs) **πŸ–₯️ Yao Desktop:** [https://yaoagents.com/download](https://yaoagents.com/download) --- ## How It Works Think of Yao Agent as a **cage, not an animal**. What you put inside determines the behavior; the cage keeps it controlled. Every request flows through the same pipeline: ![Pipeline](docs/pipeline.png) `Create Hook` runs before the executor β€” inject context, enforce constraints, route requests. `Next Hook` runs after β€” validate output, trigger downstream actions, drive multi-step loops. **The AI does the heavy lifting. You define the boundaries.** ### Three Modes | Mode | Executor | When to use | |------|----------|-------------| | **LLM** | OpenAI, Anthropic, etc. | Conversati ...

Platforms

Web Self-hosted

Languages

Go

Yao β€” App Runtime for the AI Era

Yao is an open-source runtime for building AI agents and web applications β€” shipped as a single binary.

Mission Control

🏠 Homepage: https://yaoagents.com

πŸ“š Docs: https://yaoagents.com/docs

πŸ–₯️ Yao Desktop: https://yaoagents.com/download


How It Works

Think of Yao Agent as a cage, not an animal. What you put inside determines the behavior; the cage keeps it controlled.

Every request flows through the same pipeline:

Pipeline

Create Hook runs before the executor β€” inject context, enforce constraints, route requests.
Next Hook runs after β€” validate output, trigger downstream actions, drive multi-step loops.
The AI does the heavy lifting. You define the boundaries.

Three Modes

Mode Executor When to use
LLM OpenAI, Anthropic, etc. Conversational assistants, Q&A, content generation
CLI Agent OpenCode, Claude Code, Codex in a container Computer use, sandbox isolation, SKILL ecosystem
Pure Hook Your own TypeScript code Deterministic logic, routing, menu flows β€” no AI needed

All three share the same Hook interface. You can mix them freely β€” route some requests through the LLM, handle others with pure code, all inside a single Create Hook.


Features

Agent Framework

  • TypeScript Hooks β€” Create and Next hooks intercept every request; built-in V8 engine
  • Native MCP Support β€” Connect tools via process, SSE, or STDIO transport
  • Memory API β€” Four scopes: request-level, session, user, team
  • Multi-Agent β€” Delegate to specialist agents or call agents in parallel
  • CLI Agent / Sandbox β€” Run Claude Code (or other CLI runners) in an isolated container with VNC desktop support
  • Skills Ecosystem β€” Drop reusable capability packs (SKILL.md) into any CLI Agent

Full-Stack Runtime

Everything in a single executable:

  • Data Models β€” Define database tables and relations in JSON/YAML
  • REST APIs β€” Map routes to model queries or TypeScript processors
  • SUI Pages β€” Component-based web UI with server-side rendering
  • Chat UI (CUI) β€” Built-in conversation interface for agents
  • TypeScript β€” Built-in V8 engine; no Node.js required
  • Single Binary β€” Runs on ARM64/x64; no Python, Node, or containers needed on the host

Built-in Search

  • Vector Search β€” Embeddings with OpenAI or FastEmbed
  • Knowledge Graph β€” Entity-relationship retrieval
  • GraphRAG β€” Hybrid vector + graph search

About the Name

Yao (爻, yΓ‘o) is the fundamental symbol in the I Ching β€” the building block of the eight trigrams. Like a binary digit, it has two states. Their combinations describe the patterns of everything.