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.  **π 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:  `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.