开发与工程 android-clientself-hostedstreaming-chatdiff-reviewtool-approvalbiometric-authmulti-server

OpenCode Mobile

在安卓手机上连接自托管 OpenCode,随时运行和审阅 AI 编码会话。

FollowAgents 评估 · FARS-2.1
谨慎使用
71/ 100 五分制 3.6 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全18 / 29 · 3.1/5

README清楚说明移动端、用户自托管的opencode服务器和模型提供商之间的HTTP/SSE数据流,并称模型密钥不经过应用服务器;凭据使用系统密钥库,崩溃报告声明为默认关闭且需选择加入。工具调用具有批准或拒绝界面,生物识别也可保护单次发送,因此普通使用中的确认和外部影响控制较明确。扣分原因是材料没有展示Android权限清单、批准机制的实际执行代码、证书校验策略或完整数据保留细节;package.json包含PostHog依赖且构建注入PostHog密钥,与“无分析SDK”和“不收集个人数据”的表述存在张力。依赖版本多数受约束且CI构建来源版APK,但未见漏洞扫描、依赖更新政策或锁文件证据。差异查看和拒绝工具调用有助于预防变更,但没有展示提交后回滚或恢复机制。独立项目身份、上游opencode、Expo、公司版权及MIT许可归属说明充分,未知的注册身份本身未被当作风险。

2可靠稳定8 / 14 · 2.9/5

CI包含类型检查、单元测试、Android构建和基于模拟服务器的激活E2E,并明确覆盖401可见错误及若干跨目录、差异和选择器流程;依赖的服务器、Android版本和安装渠道也有清楚说明。扣分主要来自自洽性:README反复称当前版本为0.4.7,而package.json为0.4.15;README称没有分析SDK,但依赖和构建配置包含PostHog。E2E注释还承认部分新流程非阻塞、从未在CI完整跑通,以及SSE回复断言因测试环境问题被省略。负面认证流程支持错误消息得分,但未提供更广泛的超时、断网、服务器协议不兼容等用户错误处理证据。

3适用触发15 / 18 · 4.2/5

目标受众和场景界定充分:Android用户通过局域网、Tailscale、Cloudflare Tunnel或ngrok连接自托管服务器,并可先使用离线演示。材料明确区分已稳定、测试版、计划中和不可用功能,也说明这是薄客户端而非模型或托管后端,因此能力边界较强。工具调用批准、连接测试和生物识别发送保护体现一定触发精度,但未提供相关生产代码,无法确认所有高影响操作都经过相同门控。环境适配覆盖多连接、目录范围和多个分发渠道,但仅支持Android,平板布局和离线历史尚未完成,且真实服务器兼容性范围没有版本矩阵。

4规范维护14 / 18 · 3.9/5

README结构清楚,包含安装、快速开始、架构、状态、路线图、隐私、贡献、支持和许可;三种Android安装路径及服务器启动步骤足以支持普通上手。已明确列出iOS缺失、隧道向导为测试版、离线历史和平板布局尚未实现,MIT正文和版权信息完整。扣分在于版本命名不稳定:README为0.4.7而包元数据为0.4.15,包名@opencode-ai/mobile与“不隶属opencode”的说明也可能造成身份混淆。存在示例和离线演示,但没有系统FAQ或故障排除章节。工作流可生成发布说明,但材料没有CHANGELOG或版本迁移说明。维护公司、赞助入口、支持邮箱及项目看板均有列出,不过发布者企业身份未获策展注册验证,且未展示明确的安全响应责任或支持时限。

5有效结果10 / 13 · 3.8/5

流式对话、会话恢复、内联差异、工具批准和跨目录会话管理直接面向移动编码工作流;离线演示还降低了首次评估成本,因此输出呈现和可操作性较强。相对单纯远程终端,专用差异、权限和会话界面提供了明确增量价值。扣分是产品仍依赖用户运行并保护opencode服务器、配置网络通道和承担模型费用;部分隧道体验仍为测试版,离线历史及托管云尚未交付。应用本身免费且安装选择多,但总体成本收益仍取决于服务器、模型和安全网络配置。

6证据核验6 / 8 · 3.8/5

不少声明能在所给材料中相互追踪:package.json给出依赖与脚本,工作流具体展示测试、构建、签名和F-Droid变体,模拟服务器注释与端点实现共同说明测试协议。扣分是README的隐私与版本声明和包及构建配置并不完全一致,而且没有提供隐私实现代码、权限清单、锁文件、发布产物证明或测试结果,所以不能完全核实。跨来源对功能、构建和测试有一定印证,但并非所有宣传性声明都有独立文件支持。对模拟服务器、真实服务器、非阻塞测试、CI环境限制、测试版及计划功能的区分非常明确,因此事实、推断和未来计划的分离表现较好。

证据充分度: 评估于 2026年9月22日 审查版本 646f9cbf7743
使用前请注意
  • 在信任隐私声明前,应核对PostHog的初始化、选择加入逻辑、事件字段和禁用路径;当前依赖及构建密钥与README的“无分析SDK”表述不一致。
  • 应确认0.4.7与0.4.15哪个对应所评审修订及已发布APK,并核验各安装渠道的签名、源码对应关系和更新路径。
  • 工具批准界面不等同于服务器端强制隔离;连接拥有代码修改能力的服务器前,应验证真实opencode配置、权限策略以及拒绝和恢复行为。
  • 局域网或Tailscale示例使用明文HTTP;不要经不可信网络直接暴露服务器,应采用认证、受控隧道和传输加密。
  • 所给E2E工作流明确存在非阻塞流程和未断言的SSE回复路径;静态材料不能证明真实设备上的完整流式交互或故障恢复。
评估证据 [1][2][3][4][5][6]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

OpenCode Mobile 是面向 OpenCode AI 编码代理的独立开源安卓客户端,采用 React Native 和 Expo 构建。它通过 HTTP 与 SSE 连接用户自行运行的 OpenCode 服务器,可列出、创建和恢复会话,并逐 token 接收代理回复。应用提供文件差异查看、工具调用审批、多服务器连接和生物识别保护,但实际的模型调用与代码操作均由远端 OpenCode 服务器执行。用户自行配置 OpenAI、Anthropic 等模型供应商的 API 密钥;客户端不会接触这些密钥,也不会通过项目方服务器中转代码或对话。它适合已经愿意维护 OpenCode 服务端、需要从安卓设备远程处理编码会话的用户,不适合需要 iOS 客户端、完全托管服务或离线执行真实编码任务的团队。

应用保存并管理多个 OpenCode 服务器连接,可使用局域网地址、Cloudflare Tunnel、ngrok 或 Tailscale 地址。连接后,它调用 OpenCode HTTP + SSE API 来列出会话、创建或恢复会话、发送消息、流式接收回复,并订阅文件变更事件。界面把代理产生的文件修改显示为行内并排 diff,并在工具执行前让用户批准或拒绝调用。服务器凭据通过 expo-secure-store 存入 Android Keystore;应用和单次消息发送还可受设备生物识别验证保护。真正的 AI 模型请求、代码访问和工具执行发生在用户运行的 opencode 服务器上,结果以回复、文件差异和审批请求的形式返回手机。

  1. 已经在笔记本电脑或 VPS 上运行 OpenCode 的开发者,希望离开工作站后通过安卓手机继续查看和回复编码会话。
  2. 通过 Tailscale 连接开发机器的个人开发者,需要在可信私有网络中检查代理回复、文件修改和工具权限。
  3. 使用 Cloudflare Tunnel 或 ngrok 暴露自托管服务的团队成员,希望从移动设备管理多个 OpenCode 端点。
  4. 需要在执行前人工检查代理工具调用的开发者,可在手机上批准或拒绝请求并查看对应 diff。
  5. 正在评估产品的用户,可先运行约 30 秒的离线演示,在没有服务器的情况下体验推理、grep、diff 和权限提示流程。

这个 Agent 有哪些优点和局限?

优点
  • 移动端覆盖完整的会话循环:消息流式传输、文件 diff 展示以及工具调用批准或拒绝,而不只是简单的聊天界面。
  • 支持局域网、Tailscale、Cloudflare Tunnel 和 ngrok,并能管理多个 OpenCode 服务器连接。
  • 模型 API 密钥留在自托管服务器,客户端不会通过项目方服务器中转代码或对话。
  • 凭据存放于 Android Keystore,生物识别可保护应用和单次消息发送。
  • 提供无需服务器的离线演示,方便在部署后端前验证主要交互方式。
局限
  • 只提供 Android 版本;iOS、Apple App Store 和平板专用布局尚不可用。
  • 真实编码会话依赖用户安装、配置并维护可通过网络访问的 OpenCode 服务器。
  • 远程使用可能需要部署和保护 Tailscale、Cloudflare Tunnel 或 ngrok,增加网络配置与安全责任。
  • 离线会话历史仍在规划中,当前离线模式只是脚本化演示,不能替代真实代理执行。
  • Cloudflare/ngrok 隧道向导仍为 Beta,托管式 opencode Cloud 也尚未发布。

如何安装或部署这个 Agent?

仅支持 Android。可从 Google Play 安装包 cc.agentlabs.opencode;也可在 F-Droid 客户端进入“设置 → 软件源 → +”,添加 https://dzianisv.github.io/opencode-mobile/fdroid/repo 后安装;或从 https://github.com/dzianisv/opencode-mobile/releases/latest 下载签名 APK 手动安装。来源所列当前版本为 v0.4.7。若要运行真实会话,还需在自己的机器上安装并启动 OpenCode:

npm install -g opencode-ai
OPENCODE_SERVER_PASSWORD=yourpassword opencode serve --hostname 0.0.0.0 --port 4096

请把 yourpassword 换成自己的服务器密码。iOS、Apple App Store 和 IzzyOnDroid 当前均不可用。

如何使用这个 Agent?

首次体验可以打开 Sessions 页面并点击“Try a Demo”,无需服务器即可播放脚本化的错误修复流程。要连接真实项目,先用 OPENCODE_SERVER_PASSWORD 启动 opencode serve,然后在应用中点击“Add Connection”。选择 Local network、Tunnel 或 Tailscale,并输入服务器地址,例如 http://192.168.1.100:4096、https://my-opencode.trycloudflare.com 或 http://100.x.x.x:4096,再输入启动服务器时设置的密码并点击“Connect”。连接成功后,可浏览、新建或恢复会话,发送编码请求,观看流式回复,检查文件 diff,并批准或拒绝工具调用。模型供应商的 API 密钥应配置在 OpenCode 服务器侧,而不是移动客户端中。

常见问题

使用 OpenCode Mobile 需要付费吗?
移动客户端以 MIT 许可证免费开源。实际模型费用由你在 OpenCode 服务器上配置的 OpenAI、Anthropic、Gemini 等供应商收取;规划中的 opencode Cloud 托管后端尚未发布。
应用会获得我的模型 API 密钥吗?
不会。模型调用和供应商密钥由自托管 OpenCode 服务器处理,移动应用只通过 HTTP + SSE 与该服务器通信。
没有服务器能否使用?
可以运行“Try a Demo”查看脚本化的错误修复流程,但真实编码会话仍需要自行运行 OpenCode 服务器。
它如何保护服务器凭据和危险工具调用?
服务器凭据通过 expo-secure-store 保存在 Android Keystore 中;应用支持生物识别解锁,并提供工具调用批准界面,让用户在执行前接受或拒绝请求。
它能在 iPhone 或 iPad 上运行吗?
不能。来源明确说明目前仅支持 Android;iOS 不可用,iPad/平板布局仍处于规划阶段。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents