Yao 应用运行时
用单一二进制构建、约束并部署 AI Agent 与 Web 应用。
按维度查看评分与理由
证据显示有沙箱隔离(CLI Agent 容器)和 Hook 机制,但未明确最小权限原则;用户确认机制未见;数据流透明度部分体现(Hook 流程),但未详细说明数据流向;敏感数据处理未见明确措施;依赖众多且版本较新,但未提供安全审计;外部影响(如网络调用)未明确限制;回滚机制未见;来源归属:发布者未验证,但代码中有版权声明。扣分原因:缺乏具体安全设计文档和实现细节。
自洽性:README 与代码结构基本一致,但存在本地 replace 指令(go.mod)可能导致构建不一致;依赖可用性:依赖众多,但未提供版本锁定或镜像;失败消息:测试工作流有错误处理,但产品本身的错误提示未详细说明。扣分原因:本地 replace 和依赖管理可能影响可重复构建。
受众和场景:明确面向开发者,提供多种模式;能力边界:通过 Hook 和沙箱定义边界,但未详细说明限制;触发精度:Hook 机制提供精确控制,但文档未深入;环境适配:支持多平台,但依赖 Docker 等外部组件。扣分原因:文档对边界和触发细节描述不足。
信息架构:README 清晰,但缺少详细文档链接;安装说明:有构建和测试工作流,但缺少用户安装指南;命名稳定性:项目名稳定,但版本号未明确;示例和 FAQ:有测试示例,但缺少 FAQ;已知限制:未提及;许可证:自定义 Apache 2.0 修改版,但未明确合规性;版本和变更日志:未提供;维护责任:有 CI 和贡献者协议,但发布者未验证。扣分原因:缺少版本管理和已知限制文档。
输出可用性:提供 REST API 和 UI,输出格式明确;边际价值:提供多种集成(MCP、多 Agent),价值较高;成本效益:单二进制部署降低运维成本,但商业许可可能增加成本。扣分原因:商业许可条款可能限制某些用户。
声明可追溯:README 中的功能声明有代码和测试支持,但部分未验证;跨来源佐证:有 CI 测试,但未独立验证;事实与推断分离:文档区分了功能描述和设计理念,但未明确标注。扣分原因:静态审查无法验证实际运行效果。
- 发布者身份未验证,需谨慎评估供应链风险。
- 许可证为自定义修改版,商业使用需注意条款。
- go.mod 中的本地 replace 指令可能导致构建不一致。
- 依赖众多且未提供安全审计,需关注已知漏洞。
这个 Agent 能做什么,适合哪些场景?
Yao 是一个开源运行时,用于构建 AI Agent 和 Web 应用,并以单一二进制形式交付。每个请求依次经过 Create Hook、执行器和 Next Hook:前者可注入上下文、施加约束或路由请求,后者可校验输出、触发后续动作和驱动多步骤循环。执行器可使用 OpenAI、Anthropic 等 LLM,或在隔离容器中运行 OpenCode、Claude Code、Codex 等 CLI Agent,也可仅运行自定义 TypeScript 逻辑。运行时还包含数据模型、REST API、SUI 服务端渲染页面、CUI 对话界面、TypeScript V8 引擎,以及向量检索、知识图谱和 GraphRAG。该二进制面向 ARM64/x64,README 声明主机无需 Python、Node.js 或容器。
请求先进入 Create Hook,可在此注入上下文、执行约束或选择路由;随后由 LLM、CLI Agent 或纯 TypeScript 执行器处理;Next Hook 再验证输出、触发下游操作或继续多步循环。LLM 模式可调用 OpenAI、Anthropic 等提供方;CLI Agent 模式可在带 VNC 桌面的隔离容器中运行 OpenCode、Claude Code 或 Codex;Pure Hook 模式运行自定义 TypeScript。它可通过进程、SSE 或 STDIO 传输连接 MCP 工具,提供请求、会话、用户和团队四个范围的 Memory API,并可输出 REST API、SUI 页面和 CUI 对话界面。搜索能力包括使用 OpenAI 或 FastEmbed 的向量搜索、知识图谱及混合式 GraphRAG。
- 负责内部开发工具的团队,需要把数据模型、REST API、SUI 页面和对话界面放进同一可执行运行时。
- 构建客服或知识问答助手的开发者,需要通过
Create Hook注入上下文,并通过Next Hook校验结果或触发后续流程。 - 需要让 Codex、Claude Code 或 OpenCode 执行任务的团队,希望将 CLI Agent 放入带 VNC 支持的隔离容器。
- 已有 TypeScript 业务规则的团队,需要在不调用 AI 的情况下用 Pure Hook 处理路由、菜单流或确定性逻辑。
- 需要将向量检索与实体关系检索结合的应用团队,可采用向量搜索、知识图谱和 GraphRAG。
这个 Agent 有哪些优点和局限?
- 统一请求管线将
Create Hook、执行器和Next Hook串联,可在执行前约束请求并在执行后验证或编排后续动作。 - 同一 Hook 接口可组合 LLM、容器化 CLI Agent 与纯 TypeScript 执行器,支持将确定性逻辑与模型驱动流程混用。
- 运行时同时提供数据模型、REST API、SUI、CUI、V8 TypeScript 和检索能力,减少多组件拼装。
- 原生支持进程、SSE 和 STDIO 三种 MCP 传输,并提供四个范围的 Memory API。
- 资料未给出安装包获取、启动命令、配置示例或最小项目,初次部署路径无法据此复现。
- LLM 模式依赖 OpenAI、Anthropic 等外部模型提供方;凭据、费用、模型选择和故障处理细节均未说明。
- CLI Agent 模式使用隔离容器,且可提供 VNC 桌面支持,采用该模式会引入容器执行与桌面访问的运维和安全评估。
- 虽然声明主机不需要 Python、Node.js 或容器,但 TypeScript Hook、SUI、数据模型和 API 的文件结构与发布流程未在资料中定义。
如何安装或部署这个 Agent?
所给资料没有提供可复制的下载、安装、初始化或启动命令。已明确的信息仅包括:Yao 以单一二进制交付,支持 ARM64/x64,且主机无需 Python、Node.js 或容器。要完成安装仍缺少二进制获取位置、平台对应文件名、配置格式、启动命令以及首个应用的创建步骤。
如何使用这个 Agent?
所给资料未提供可复制的配置文件、命令行调用或最小可运行示例,因此无法给出经过证实的首个调用。可确认的工作模型是:为请求定义 Create Hook 与 Next Hook,并选择 LLM、CLI Agent 或 Pure Hook 作为执行器;如需工具连接,可使用进程、SSE 或 STDIO 的 MCP 传输。LLM 调用涉及 OpenAI、Anthropic 等提供方时,所需凭据的具体名称和配置方式未在资料中说明。
这个 Agent 与同类方案有什么区别?
Yao 将 OpenAI、Anthropic 等作为 LLM 执行器,并可在容器中运行 OpenCode、Claude Code 或 Codex;这些产品在资料中被描述为可接入的执行方式,而非 Yao 的同类替代品。
常见问题
Yao 是否只能使用某一家模型提供商?
能否把 Codex 或 Claude Code 纳入流程?
部署主机需要安装 Node.js、Python 或容器吗?
模型调用和工具接入需要哪些凭据?
执行失败或 Hook 校验失败会怎样?
Next Hook 可校验输出和触发下游操作,但没有定义错误处理、重试或恢复策略。