关于 Yaver
Yaver 是运行在自有设备上的编码 Agent 控制与预览系统,面向希望通过手机等界面管理本地开发循环的开发者。它将终端 Agent、构建进度和真实设备预览连接起来。
主要功能
- 01从移动端驱动终端编码 Agent
- 02推送 Expo 应用包到配对手机
- 03实时查看任务与构建进度
- 04采集截图、日志和回放上下文
适用场景
- 01在手机上复现并修复开发问题
- 02向配对设备推送 React Native 更新
- 03远程查看本机任务和构建状态
MCP 相关
Yaver 可注册为 MCP 服务,让 Claude Code、Codex 或 opencode 从聊天中驱动开发机器。MCP 通过 `yaver-mcp` 启动,也可由 CLI 配置。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Yaver 是什么
AI 几秒钟就能写出代码。围绕代码的整个流程——构建、安装、复现、描述问题,再交还给 Agent——仍然要花上数小时。Yaver 让这个流程形成闭环。
yaver Agent 运行在你已有的硬件上:Mac、Linux 电脑、WSL 机器、Pi 或 VPS。你的编码 Agent 在那里对着真实代码仓库工作。其他所有界面——手机、手表、电视、汽车、AR/VR、浏览器——都是这台机器的远程控制端和预览目标。
它使用你已付费的 AI 订阅运行——不加收 Token 费用,你的代码也不会离开你的机器。
目前,iOS 和 Android 是最完善的使用路径。手表、电视、汽车和 AR/VR 界面都在这个仓库中,并共享相同的核心。
快速开始
npm install -g yaver-cli
yaver auth
yaver serve
在无头设备(Pi、VPS、仅限 SSH 的设备)上,yaver auth --headless 会打印一个简短代码和一个可在任意浏览器中打开的 URL。
npm 是唯一受支持的安装方式,适用于 macOS(Apple Silicon + Intel)、Linux(x64 + arm64)以及通过 WSL2 运行的 Windows。它会为你的平台下载经过签名和公证的 Agent 二进制文件。
接下来,下载应用并将它与那台机器配对:
打开 Yaver,从开发设备中选择一个项目,在手机上预览,摇动手机即可进行氛围式编程——修复 Bug、发布小功能或调整样式——几秒内就能获得一个新构建包。一个屏幕、一台真实设备,无需额外硬件。
从编码 Agent 安装或使用
直接安装 CLI,或将 Yaver 注册为 MCP 服务,让 Claude Code、Codex 或 opencode 能通过聊天操控你的机器。无需先全局安装 MCP 服务——首次运行时,npx 会拉取服务。
# direct CLI
npm install -g yaver-cli
yaver auth
# or as MCP
# Claude Code
claude mcp add --scope user yaver -- npx -y yaver-cli yaver-mcp
# Codex
codex mcp add yaver -- npx -y yaver-cli yaver-mcp
# opencode
npx -y -p yaver-cli yaver mcp setup opencode
# then, in the agent chat:
call yaver_lazy_setup
要将 Yaver 添加到现有 Expo 应用,请将应用目录提供给 Agent,
并让它调用 yaver_sdk_integrate。对应的直接确定性操作如下:
npx -y yaver-cli integrate --dir /path/to/app --framework expo --verify quick
此操作会安装兼容的依赖、挂载应用内的 Yaver 界面、接入 Expo 插件并验证项目。它不会选择 bundle ID、配置应用自身的身份验证、部署或发布任何内容。
对于需要 AI 的 Yaver 生成的 Expo + Convex 入门项目,Agent 随后可以在 monorepo 根目录调用 yaver_openrouter_integrate。它会添加经过身份验证且受成本限制的 HTTP/SSE 接口和 React Native 流式传输助手,同时将 OpenRouter 密钥保留在服务器端——无需轮询,也无需为每个 token 写入数据库。
已经全局安装?运行 yaver mcp setup claude-code(或 codex / opencode)即可写入相同的条目;首次登录时,yaver auth 会自动注册所有已安装的运行器。Yaver 已发布到官方 MCP 注册表,名称为 io.github.yaver-io/yaver。Codex Desktop 也可以加载仓库本地插件 plugins/yaver。
完整工具列表和 HTTP/远程配置:MCP 指南。
工作原理
- 在你自己的机器上启动
yaver serve。 - 配对一个界面——移动应用、Web 控制面板或另一个 Yaver 客户端。
- 从距离最近的界面向你的编码 Agent 发送任务。
- 实时查看终端、构建和重新加载进度。
- 将修复推送到真实设备,或在准备就绪时从你自己的机器部署。
CLI、Agent、中继和后端都可自托管。目前,客户端应用通过精简的托管协调层连接到你,以进行身份验证和设备发现;完整的客户端自托管功能即将推出。
远程访问默认使用 Yaver Relay。免费的共享中继适合轻度个人使用,并设有合理限额;如果你想运行自己的中继,中继实现已开源。Relay Pro 是可选的托管服务,每月 $9,提供更高的账户级传输限额。它会连接到你已掌控的机器或 VPS;不包含托管计算资源或 AI 订阅。
目前支持的功能
- 通过 Yaver Agent 操控 Claude Code、Codex、OpenCode、Aider、Goose 或其他终端 Agent。
- 通过原生 Hermes 路径将 React Native / Expo bundle 推送到已配对的手机。
- 通过屏幕截图、日志和回放上下文收集开发构建反馈。
- 将任务、构建和重新加载进度流式传输到移动端或 Web 控制面板。
- 让对等设备发现、中继和保险库流程优先在本地运行。
- 使用 React Native、Flutter、web、Unity、Go、Python 和 JS/TS 的 SDK 与示例进行构建。
成本
个人开发者可以使用开源技术栈,零成本起步。
| 组件 | 运行位置 | 成本 |
|---|---|---|
| Yaver CLI + Agent | 你的开发机器 | $0 |
| Yaver 各端应用 | iOS / Android / watch / TV / car / AR/VR | $0 |
| Web 仪表板 | 浏览器 | $0 |
| 自有机器上的后端 | 你的 Mac / Linux / WSL / VPS | $0 + 你的硬件 |
| Yaver 共享中继 | 由 Yaver 托管,受公平使用限制 | $0 |
| Relay Pro | 共享中继主机上的托管私有通道 | $9/月 |
| AI 模型(Ollama) | 你的 GPU 或 CPU | $0 |
开源技术栈包含移动应用、CLI、Agent、Web 仪表板、SDK 和中继实现。Yaver 共享中继提供合理的使用额度,供你入门使用。你的编码 Agent 使用自己的登录账号或订阅——Yaver 绝不转售令牌。
V1 专注于你自己的设备和可自托管机器。Relay Pro 是首发阶段唯一的付费产品;所有客户端界面、浏览器/Hermes 通道、MCP 和库集成,以及反馈 SDK 均已包含在内。本次发布中,Yaver 不销售托管式编码工作区。
仓库结构
| 路径 | 用途 |
|---|---|
desktop/agent/ | Go Agent、CLI 界面、本地 API、中继/P2P/运行时集成 |
mobile/ | React Native 移动应用和原生预览容器 |
watch/、wear/、tvos/ | Apple Watch、Wear OS 和 Apple TV 客户端界面 |
web/ | Next.js 营销网站和仪表板 |
backend/convex/ | 托管式身份、会话和设备发现元数据 |
relay/ | QUIC 中继服务 |
sdk/ | 公共 SDK 和反馈客户端 |
demo/ | 用于测试 SDK 和推送流程的小型样例应用 |
demo-videos/ | 着陆页/演示短片的源文件说明 |
docs/ | 架构说明、设置指南、审查、交接资料和规划材料 |
部署 Yaver
仅使用一个本地入口:
./deploy/deploy.sh <target> [options]
目标包括 all、backend、cloudflare、ios、android、npm 和 mcp,别名见 ./deploy/deploy.sh --help。该入口会调用维护中的、支持 vault 的脚本和 yaver deploy 命令,但为开发者、Agent 和 MCP 提供统一入口,避免部署方式出现偏差。
部署仅限所有者执行。脚本会在访问 Convex、Cloudflare、App Store Connect、Play Console、npm 或 MCP 注册表凭据之前,检查并拒绝对组用户或其他用户开放写权限的仓库路径或脚本路径。
本仓库就是这个单体仓库
Yaver 只有一个单体仓库——就是本仓库。 Agent、CLI、移动端、手表、TV、汽车、AR/VR、Web、中继、后端和 SDK 都在这里,并且一同发布。将它们拆分出去,只会导致必须保持一致的各端版本出现偏差。
yaver-io 组织中的其他内容都是验证/用例应用——它们唯一的用途就是从外部测试 Yaver。它们属于独立仓库,正是因为这些项目必须能够独立克隆、构建和破坏,和用户的项目一样。如果它们放在这里,就会继承本仓库的工具链,无法再作为真实的测试。
原则:产品代码放在本仓库;从外部测试产品的内容则各自使用独立仓库。
验证应用
用于验证 Yaver 是否正常运行的应用位于各自的仓库中,而不在本仓库中。它们都是仅在本地运行的待办应用——没有后端、没有账户、没有网络——并且刻意保持简单,因为它们是对照组。
同一个待办应用以五种方式构建。Yaver 以不同方式接入每一种应用,因此,当不同技术栈的操作流程感觉不同时,差异来自传输方式,而非应用本身:
| 仓库 | 技术栈 | Yaver 的接入方式 |
|---|---|---|
| yaver-todo-rn | Expo / React Native | Hermes — Agent 编译 HBC 包,容器会就地替换该包 |
| yaver-todo-kt | 原生 Android(Kotlin) | native-webrtc — 在构建主机上运行,将 H.264 视频流传输到手机,并将点击操作传回 |
| yaver-todo-swift | 原生 iOS(SwiftUI) | native-webrtc — 同上,但仅支持 macOS 构建主机 |
| yaver-todo-flutter | Flutter / Dart | native-webrtc — Dart 没有与 Hermes 对应的方案 |
| yaver-todo-web | Next.js | 开发服务器 — 通过 Yaver 的中继路径进行 HMR |
Hermes 仅适用于 React Native:原生应用和 Flutter 应用会编译成真正的二进制文件,无法加载到 Yaver 容器中。这就是为什么要提供其中三种应用——它们是测试流媒体传输路径唯一可靠的方式。
它们位于独立仓库中,因此可以在不影响本仓库的情况下克隆、构建和破坏。每个仓库的 README 都会说明各技术栈中哪些功能可用、哪些不可用,包括反馈 SDK 尚不存在的情况。
文档
文档索引 · 设置 · 参与贡献 · 运行时架构 · 协议 · 反馈 SDK · 安全 · 许可证
如果 AI 编码 Agent 正在为你设置 Yaver,请先让它查看规范的机器指南:
curl -s https://yaver.io/llms.txt
本仓库中的 Markdown 是上下文说明,并非事实来源。如果文档与代码不一致,请以代码为准,并在同一次更改中修正文档。
开发
# Web dashboard / landing
cd web && npm install && npm run dev
# Go agent tests
cd desktop/agent && go test ./...
请针对你修改的部分运行范围更小的包测试——本仓库涉及 Go、Node、React Native、Swift、Kotlin、Flutter、Unity 和嵌入式 C。
许可证
本仓库采用双重许可证:核心部分使用 FSL-1.1,两年后会自动转换为 Apache-2.0;客户端 SDK 使用 Apache-2.0,因此你可以将它们嵌入闭源应用中。请参阅 docs/planning/LICENSING.md。
如果你的法务团队需要以不同条款使用核心部分,可申请商业许可证——请发送邮件至 [email protected]。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。