开源

在手机上用 OpenCode,运行在你自己的服务器上

OpenCode 本身就带有服务器和网页界面,社区应用也在此基础上开发。它们留给你的难题,是如何把服务器上的端口安全地开放给手机。Maude 替你解决这一步,而且不用开放任何端口。

在手机上用 OpenCode,运行在你自己的服务器上

简要回答

OpenCode 没有自己的移动应用。常见做法是在手机浏览器中打开 opencode web,或让社区应用连接 opencode serve,但这两种方式都需要通过局域网、Tailscale 或隧道暴露一个端口。Maude 通过 SSH 在你的服务器上安装锁定版本的 OpenCode,并经由出站的端到端加密中继连接,因此无需开放任何端口。它 24 小时运行,可以使用你自己的模型密钥,或用 ChatGPT、Copilot 账号登录。

OpenCode 是一个开源(MIT)编程智能体,几乎支持所有模型提供商,很受不想被某一家厂商订阅绑定的人欢迎。它本身就是为远程操控设计的:opencode serve 运行一个无头 HTTP API,opencode web 则在其上加了一个浏览器界面。所以问题不在于能不能从手机访问它,而在于如何安全地访问,并让它持续运行。

在手机上使用 OpenCode 的几种方式

方式如何连到手机适合场景
在手机浏览器中用 opencode web绑定到 0.0.0.0(或使用 --mdns),然后打开网络地址在同一个 Wi-Fi 下快速使用,手机上无需安装任何东西
OpenCode Mobile 等社区应用让应用通过局域网、Tailscale、隧道、反向代理或 SSH 端口转发连接 opencode serve免费开源的原生客户端,适合熟悉网络配置的人
SSH 应用加 tmuxSSH 登录服务器,连接到终端界面完全掌控,无需额外软件,但要在软键盘上操作终端界面
Maude服务器主动连接端到端加密中继;无需入站端口24 小时运行的服务器,与你的其他智能体并列,附带审批和 git

前两种都是不错的选择,而且免费。OpenCode Mobile 是一个社区项目,并明确声明与 OpenCode 官方无关。如果你只在家里的同一个网络中使用 OpenCode,opencode web 可能就够了。Maude 面向的是运行在远程服务器上、你不在时也要持续工作的 OpenCode,并让它与 Claude Code 和 Codex 等其他智能体并列。我们的编程智能体手机应用盘点对比了更多方案。

安全:不要把 4096 端口暴露到公网

opencode serve 默认监听 127.0.0.1:4096,opencode web 则会随机选择一个本地端口。这个默认设置是安全的。问题出在你为了让手机访问而放宽监听范围的时候。用 OpenCode 自己的话说:“如果未设置 OPENCODE_SERVER_PASSWORD,服务器将不受保护。”一个开放的 OpenCode API 就等于那台机器上一个开放的 shell,因为智能体可以执行命令。

如果你选择自己搭建网络:

  • 务必设置 OPENCODE_SERVER_PASSWORD。它会为 serve 和 web 都启用 HTTP 基本认证。
  • 优先使用 Tailscale 这样的私有网络,而不是公共隧道;在有公网 IP 且没有防火墙的 VPS 上,绝不要绑定 0.0.0.0。
  • 如果必须使用公共隧道,也要在它前面加一层认证。

Maude 则完全绕开了这个问题。OpenCode 只在服务器本地运行,Maude 的守护进程通过 stdio 使用 Agent Client Protocol 与它通信,再主动连接 Maude 的中继来与你的手机通信。流量使用每台服务器各自的密钥进行端到端加密,中继只能看到密文。SSH 作为备用方式。想深入了解自己搭建网络的方法,请看我们的 tmux、mosh 和 Tailscale 指南。

在 VPS 上 24 小时运行 OpenCode

OpenCode 本身很轻量,需要多大的服务器取决于你项目的构建和测试。配置怎么选,见我们的编程智能体 VPS 指南。使用 Maude 的部署步骤如下:

  1. 在应用中添加服务器:输入地址、粘贴一条 ssh … 命令,或扫描 curl -fsSL https://maude.pilotdev.fr/setup | sh 生成的二维码。任何 Linux 或 macOS 机器都可以,x86-64 或 ARM 均可。
  2. 应用通过 SSH 部署它的守护进程。守护进程安装锁定且经过测试的 OpenCode 版本,对照发布文件校验其校验和,包括适用于 Alpine(musl)和不支持 AVX2 的旧 CPU 的构建,并保持 OpenCode 更新。
  3. 在手机上登录一个模型提供商(见下一节),然后在某个项目目录中启动会话,也可以选择放在独立的 git worktree 中。

从此以后,无论应用是否打开,会话都会在服务器上运行。当 OpenCode 请求执行某项操作的权限时,请求会以对话中的卡片、收件箱中的内联条目,以及带允许和拒绝的推送通知形式出现。OpenCode 的两个主智能体对应 Maude 的模式选项:Build(默认,可使用全部工具)和 Plan(用于分析的受限智能体,任何编辑或命令执行前都会先询问)。/compact 可以使用,每个会话还有文件、Git(diff 审阅、提交、推送、通过 gh 发起拉取请求)和真正的终端。

模型与密钥

OpenCode 的优势在于不绑定任何一家模型厂商。在 Maude 中,你可以通过以下任一方式在手机上为它登录:

  • ChatGPT Plus/Pro,通过 OpenCode 的无头设备码登录。
  • GitHub Copilot,通过 GitHub 的设备流程。
  • Anthropic 或 OpenRouter API 密钥,粘贴到应用中,由 OpenCode 保存在服务器上。

你已经在服务器上用 opencode auth login 配置过的提供商也会被自动识别并使用。OpenCode 自家的网关是另一种选择:OpenCode Zen 按用量付费,提供 OpenCode 团队测试过的模型,限时包含一些免费模型;OpenCode Go 是热门开放编程模型的订阅服务,每月 $10,额度更高的 Go Plus 为 $40。在输入框上方的选项中为每个会话选择模型。Maude 不包含任何模型用量。

OpenCode 与各厂商智能体在价格和表现上的比较,见 Claude Code、Codex 与 OpenCode 对比。会话空闲时也可以交接给另一个智能体。新智能体会收到一份简报,包括计划、改动过的文件、git 状态和最近的对话;切换回来时,OpenCode 会继续它自己的会话。

该选哪个

只在家里的同一个网络中用 OpenCode:设好密码的 opencode web 免费且够用。想要顺手的原生客户端,也愿意运行 Tailscale:试试社区应用。想让 OpenCode 在远程服务器上 24 小时运行,不用操心端口安全,还和其他智能体共用一个收件箱:这正是 Maude 的用途。

常见问题

OpenCode 有官方移动应用吗?
OpenCode 项目没有推出移动应用,它提供的是终端界面、桌面应用和网页界面。社区开发了 OpenCode Mobile 等移动客户端,并声明与 OpenCode 官方无关。Maude 是另一种选择,它会替你在服务器上运行 OpenCode。
能在手机上安全地使用 opencode web 吗?
可以,前提是在你信任的网络中。把它绑定到局域网或 tailnet,设置 OPENCODE_SERVER_PASSWORD 以启用基本认证,并且不要在公网 IP 上暴露它。如果不设密码,OpenCode 会警告服务器不受保护,任何能访问到它的人都能让智能体执行命令。
OpenCode 能用哪些模型?
几乎任何模型。它可以用你自己的 API 密钥连接众多提供商,可以用 ChatGPT 或 GitHub Copilot 登录,还有自家的网关 OpenCode Zen(按用量付费)和 OpenCode Go(订阅制)。模型可以按会话选择。
OpenCode 需要订阅吗?
不需要。OpenCode 以 MIT 许可证免费开源。你只需向所用的模型提供商付费;使用 OpenCode 限时提供的免费模型则无需付费。通过 Maude 使用时,需要订阅 Maude 应用。

更新内容

  • — 页面发布。OpenCode 的许可证、服务器默认设置、密码相关建议以及 Go/Zen 价格已于当日对照 opencode.ai 文档核实。

用手机运行你的智能体

Maude 让 Claude Code、Codex、OpenCode、Grok Build 和 Antigravity 运行在你自己的服务器上——在 iPhone、iPad 和 Android 上免费试用 7 天。

Download Maude on the App Store Get Maude on Google Play