opencodemobile
原生 iOS & Android · 自托管 · 内置中继

把 AI 编程助手,
装进口袋。

opencode serve 的原生移动客户端。逐字流式观看会话、在 worktree 中并行运行多个代理、审查 diff、打开远程终端 —— 局域网直连,或经加密中继回连。

兼容任意 opencode serve 实例,直连无需注册账号。

从安装到连上服务器
<1 分钟
从安装到连上服务器
我们存储的提示词数量
0
我们存储的提示词数量
代理持续运行
24/7
代理持续运行
9:41

修复不稳定的鉴权测试

fix/flaky-auth· 已连接

运行鉴权测试套件,修一下不稳定的用例。

Build · claude-sonnet · 14:32

正在规划测试排查…
读取test/auth/session_test.dart
编辑lib/auth/session.dart

找到竞态了:刷新令牌在旧令牌吊销前就被轮换。正在修复并重跑测试套件。

待办1 / 3
定位不稳定用例
修补令牌轮换
重跑完整测试

bash · flutter test

test/features/chat/chat_controller_test.dart

DenyAllow onceAlways
claude-sonnet

随便问点什么…

构建在真实的 opencode 服务端协议之上

opencode serve v1 APISSE 事件流HTTP Basic 认证git worktreeWebSocket PTYTLS 加密中继Flutter 原生Material 3drift 本地时间线iOS & Android

为什么是移动端

长任务代理不该把你锁在桌前

长时间运行的代理才是重点。opencode mobile 让你在生活继续的同时不掉线 —— 通勤、离开键盘,或只是躺在沙发上。

随处可用[01]

离开书桌,不掉出循环

提示词、工具调用、diff 与权限请求在发生的瞬间就流到你的手机。在地铁上批准一条命令,而不是回到椅子前。

并行[02]

让每个代理都保持推进

worktree 让多个代理同时工作而互不干扰。扫一眼所有运行中的会话,跳进下一个需要你的那个。

私密[03]

你的代码不经任何中间方存储

应用直连你自己的 opencode serve 实例,外出时则经加密中继。中继流量只在传输中加密、从不存储 —— 你的 opencode 密码从不离开你的电脑。

功能

为代理的真实工作方式而构建

opencode mobile 不是套壳网页。它完整映射服务端模型:会话、事件、worktree、文件、终端与通知 —— 全部原生渲染。

[02]

实时聊天

所有状态变化经单一 SSE 流到达。令牌、工具调用、diff、待办与权限请求随发生随渲染。

  • 逐令牌流式输出与思考卡片
  • Markdown、语法高亮、Mermaid 与 LaTeX
  • 分叉会话、回退消息、分享只读链接
读取test/auth/session_test.dart

找到竞态了:刷新令牌在旧令牌吊销前就被轮换。正在修复并重跑测试套件。

2/3
[01]

连接配置

保存多个 opencode serve 端点,一键切换。凭据隔离保存且加密。

  • HTTP Basic 认证 + 安全凭据存储
  • 自动重连与引导式恢复
  • 启动时恢复上一次的服务器
[03]

并行 worktree

跨项目注册 git worktree,在每个 worktree 里开启独立会话。多个代理并行且互不冲突。

  • 跨项目 worktree 注册表
  • 每个 worktree 一个完全隔离的会话
  • 在项目抽屉之间快速切换任务
[04]

文件与变更

不出手机就能审查代理的改动。浏览整棵目录树,任意文件带语法高亮打开。

  • 四种 diff 口径:单轮 / 会话 / 未提交 / 分支
  • 带搜索与面包屑的文件浏览器
  • 冻结行号与上下文折叠的 diff 审查
[05]

集成终端

每个目录都有真实的 WebSocket PTY 终端,渲染引擎与桌面应用同族。

  • 每个目录一个完整远程 shell
  • 标签页与快捷键条
  • 双指缩放、One Dark / One Light 配色

PTY 已连接

~/projects/opencode_mobile

$ flutter test test/features/chat

00:12 +42: All tests passed!

[06]

控制与个性化

在应用内配置模型服务商与 API Key、查看 MCP / LSP 状态、重载实例。

  • 服务商 / 模型 / API Key 管理
  • 跟随系统的浅色 / 深色主题
  • English、简体中文与繁體中文

界面

每个界面都是原生渲染

日常使用中最核心的四个界面 —— 全部原生渲染、无 WebView,Flutter 性能直接跑在实时事件流之上。

9:41

修复不稳定的鉴权测试

fix/flaky-auth· 已连接

运行鉴权测试套件,修一下不稳定的用例。

Build · claude-sonnet · 14:32

正在规划测试排查…
读取test/auth/session_test.dart
编辑lib/auth/session.dart

找到竞态了:刷新令牌在旧令牌吊销前就被轮换。正在修复并重跑测试套件。

待办1 / 3
定位不稳定用例
修补令牌轮换
重跑完整测试

bash · flutter test

test/features/chat/chat_controller_test.dart

DenyAllow onceAlways
claude-sonnet

随便问点什么…

对比

为什么不直接用浏览器或 SSH?

应急时它们也能用。opencode mobile 围绕服务端事件流与触摸输入构建,在终端或桌面布局力不从心的场景依然好用。

为什么不直接用浏览器或 SSH?opencode mobile原生客户端Web 客户端自托管 UISSH / TUI终端应用
实时流式时间线
内联 diff 与文件浏览器桌面布局
权限与提问弹窗
并行 worktree 会话多标签页tmux
远程 PTY 终端
推送通知与自动审批
触摸与键盘人体工学捏合缩放
代码不经中间方存储

opencode web 客户端是独立的自主托管开源 UI,并非由 opencode serve 提供。对比反映典型用法,可能因自定义部署而异。

工作原理

四步开始使用

在电脑上启动 opencode serve,手机装上应用即可在局域网直连;外出时再按需开启加密中继。完整步骤与全部命令见使用教程。

  1. 01

    启动服务端

    在存放项目的机器上运行 opencode serve。设置 OPENCODE_SERVER_PASSWORD 以启用认证。

  2. 02

    在应用中连接

    填入服务器地址、用户名与密码,然后选择要工作的项目目录。

  3. 03

    可选:开启中继

    不在你的网络里?在电脑上安装 ocrelay 客户端、在应用里配对一次,即可从任何地方安全回连 —— 无需公网 IP、无需端口转发。

  4. 04

    照常工作

    打开会话或新开一个。代理做的一切都会实时流回你的手机。

opencode relay

离开局域网,也不掉线。

中继为你的手机提供一条通往电脑上 opencode serve 的 TLS 加密通道 —— 无需公网 IP、无需端口转发。在应用里配对一次,从任何地方回连。

可选配套服务 · 含免费额度

了解 opencode relay

从代理停下的地方继续

装上应用、指向你的服务器,在任何一个角落接走下一个提示词。

免费下载 · iOS & Android

下载

加入 TestFlight下载 APK

免费下载 · iOS & Android