yao
用单个二进制文件构建 AI Agent 和 Web 应用,Go+TypeScript 全栈运行时
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用单个二进制文件构建 AI Agent 和 Web 应用,Go+TypeScript 全栈运行时
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你是独立开发者或小型团队,想要快速上线一个 AI 客服机器人,同时还要配套一个管理后台。以前这可能需要组合 Docker 容器、数据库、Web 框架、API 网关等多个组件,光配置环境就要折腾好几天。而 Yao 的答案是——下载一个二进制文件,运行一条命令,一切搞定。
Yao(发音「要」)是一个用 Go 语言编写的开源应用运行时,核心卖点是「单一二进制交付」——无需安装任何运行时依赖,下载对应平台的压缩包,解压后执行 yao start,一个完整的 AI Agent 和 Web 应用就这样跑起来了。截至 2026 年,Yao 在 GitHub 已收获超过 7500 颗星,是 AI Native 开发领域值得关注的基础设施类项目。
图1:Yao Mission Control 控制台界面,提供图形化的运行时状态监控和应用管理能力。
过去几年,大模型能力飞速提升,但将 AI 能力落地到真实产品中,开发者仍然面临巨大的工程复杂度:需要搭建 API 服务、处理上下文管理、集成各种工具(数据库查询、API 调用、文件读写)、构建用户界面、维护会话状态……每一项都需要独立的技术决策和代码实现。 Yao 的作者 YaoApp 团队正是看到了这个痛点。他们的目标不是做又一个 LangChain 替代品,而是提供一套更接近「一站式平台」的方案:从 AI Agent 的构建,到数据库操作,再到前端页面渲染,全部统一在同一个运行时内,用一致的配置语法驱动。这种「all-in-one」的思路,对于想快速验证 AI 产品想法的团队来说,有着很强的吸引力。
Yao 的架构可以从三个层面来理解:
第一层:AI Agent 运行时。 Yao 内置了完整的 Agent 框架,支持多轮对话、工具调用、数据库查询和知识库搜索。开发者通过编写配置文件(package.yao)和提示词模板(prompts.yml),就能定义一个具备特定能力的 AI 助手。它支持 OpenAI GPT 系列等主流大模型,并兼容 MCP(Model Context Protocol)工具协议。Agent 的行为还支持 Hook 机制——在消息创建前和模型响应后,可以插入自定义逻辑,实现路由分流、敏感词过滤、数据增强等个性化需求。
第二层:DSL 驱动的后端逻辑。 Yao 没有采用传统的关系型 ORM 模式,而是设计了一套自研的 DSL(领域特定语言)体系。通过 yao gen model 命令,可以直接从数据库表结构生成 CRUD API,整个过程无需手写 SQL 或后端代码。更进一步,flow 模块支持可视化流程编排,api 模块支持声明式 API 定义,复杂业务逻辑可以通过 YAML 配置而非代码来实现。这套 DSL 设计体现了「配置即代码」的理念——代码量大幅减少,但表达能力并不弱。
第三层:内置 Web UI。 运行 yao start 后,会自动启动一个内置的 Web 管理界面(Mission Control),开发者可以直接在浏览器中查看应用状态、调试 API、管理数据。这解决了 CLI 工具对非技术用户不友好的问题,让产品演示和协作验收变得更直观。
图2:Yao 启动后的 Setup 引导界面,清晰展示当前应用的配置状态和可用操作。
作为一款 Go 语言项目,Yao 在性能和维护性上有天然优势:编译后的单一二进制文件可以直接分发,不依赖任何外部运行时;在并发处理上有语言层面的原生支持,适合作为高并发的 API 服务端。源码结构采用模块化设计——agent/ 处理 AI 对话逻辑,flow/ 处理流程编排,dsl/ 处理领域语言解析,engine/ 处理进程和机器管理,mcp/ 处理 MCP 协议……各模块职责清晰,便于理解代码全貌和按需扩展。
项目还内置了 mcpclient 模块和 llmprovider 插件体系,这意味着即使 Yao 本身的工具集不够用,开发者也可以通过插件机制接入更多第三方能力。store/、query/、session/ 等模块则分别负责数据持久化、数据库查询和会话管理这些基础能力,让上层的业务 DSL 可以专注于「做什么」而非「怎么做」。
Yao 提供了开箱即用的使用体验。对于有 Docker 环境的用户,只需要一条命令即可构建并运行生产镜像:
docker build --build-arg VERSION="1.0.0" -t yaoapp/yao:1.0.0 -f docker/production/Dockerfile .
docker run --rm yaoapp/yao:1.0.0 yao start
对于直接二进制安装的用户,官网提供了各平台的预编译包,下载解压后执行 yao start 即可。整个过程不需要安装 Node.js、Python 或其他运行时,磁盘占用仅约 100MB,内存需求最低 512MB,完全不需要 GPU——这对于只需要 Agent 对话能力、不涉及模型推理的场景来说,是非常轻量的选择。
不过需要注意的是,由于 Yao 使用了自研的 DSL 和配置文件体系(.yao、.yml),开发者需要额外学习一套新的配置语法,这与直接用 Python/TypeScript 编写业务逻辑有本质区别。另外,当前版本的 License 标注为「NOASSERTION」(无明确授权声明),商业使用前建议仔细评估法律风险。
Yao 的 all-in-one 设计是双刃剑:它极大降低了搭建 AI 应用的门槛,但当项目规模增大、需要更灵活的定制时,DSL 的表达能力可能会成为瓶颈——毕竟 YAML 配置无法像通用编程语言那样自由地表达复杂业务规则。 此外,Yao 的 Agent 能力依赖外部大模型 API(OpenAI GPT 等),项目本身不包含模型训练或微调功能。它的定位更接近「AI 应用框架」而非「AI 模型」。对于需要在本地跑开源模型(如 Llama、Qwen)的场景,Yao 目前不是最优解,需要配合 Ollama 等本地推理引擎才能实现。 从社区活跃度来看,该项目当前 open issues 数量极少(仅 1 个),说明维护状态较为健康。但Topics 标签中混杂了超过 30 个关键词,涵盖了从 agent、chatbot 到 golang、cli 等多个维度,这也从侧面反映了 Yao 「什么都能做」的野心,同时也带来了定位不够聚焦的问题——初次接触时可能难以快速判断它最适合哪类场景。
Yao 代表了 AI 应用开发领域的一个新兴方向:运行时即平台。随着大模型 API 越来越标准化,如何快速将 AI 能力组装成产品,正在成为比训练模型更核心的工程问题。类似 Yao 的框架(还有 Dify、Flowise、RagFlow 等)在 2024-2025 年迅速走红,背后反映的是市场对「低门槛 AI 应用构建工具」的强烈需求。 从趋势看,这类工具未来很可能沿着两个方向演进:一是与本地推理引擎深度集成,让开源模型的部署和使用与云端 API 体验一致;二是向多 Agent 协作领域扩展,支持多个专业 Agent 的编排与协作。Yao 的模块化架构和 MCP 协议支持,已经为这些方向做好了技术准备。