本页提纲
使用 Android 客户端连接
将 Android 设备连接到 Holon 运行时,向 Agent 发送请求并阅读产出结果。客户端在本地维护历史记录缓存,但在确认运行时的最新状态时,依然需要处于在线连接状态。
前置条件
- 已启动并启用 HTTP 的 Holon 守护进程(默认端口
7878)。 - 运行 Android 8.0(API 级别 26)或更高版本的实体设备或模拟器。
- 到该守护进程的网络通路,并持有配对邀请、控制 Token 或组织单点登录入口。
- 如需通过 USB 安装或端口转发:电脑上需安装好
adb。
安装客户端
下载官方发布包
在 Holon GitHub Releases 页面查找对应版本的 Android APK。.apk 可直接安装;.aab 是分发打包格式,并非直接可安装文件。
用手机下载 .apk 文件,打开后按系统提示安装。如 Android 要求授权,请允许本次使用的浏览器或文件管理器安装应用,安装后可关闭该权限。无需加入内测群组。
如果从电脑通过 adb 安装:
adb install /path/to/downloaded-holon.apk
从源码构建
本地源码构建与安装步骤已整理至构建移动端客户端。
连接方案
| 目标网络环境 | 默认 API 基准 URL | 主机端设置 |
|---|---|---|
| Tailscale / 局域网 | https://<tailnet-host>/api 或 http://<lan-ip>:7878/api | 启用 Tailscale Serve 或绑定局域网 IP |
| Android 模拟器 | http://10.0.2.2:7878/api | 默认配置直接可用 |
| 实体设备(USB) | http://127.0.0.1:7878/api | 执行 adb reverse tcp:7878 tcp:7878 |
安全提示: 生产环境建议使用 HTTPS。Tailscale Serve 可以为你的 tailnet 自动配置有效证书。跨网络使用未加密的 HTTP 连接会弹出显式确认提示。
连接到守护进程
方案 A:二维码扫码配对(推荐)
- 在电脑浏览器中打开 Holon Web GUI,进入 Settings -> Device Pairing(或在 macOS 菜单栏中点击 Pair Device)。
- 打开 Android 上的 Holon 应用,点击 Scan QR Code。
- 对准扫描屏幕上展示的一次性配对二维码。
应用会向 /api/auth/pairing/redeem/native 兑换该凭据,换取会话密钥安全存储在 Android Keystore 中,并立即建立连接。
方案 B:手动配置连接
- 打开 Holon 应用。服务器地址默认留空,系统未内置默认云端服务器。
- 输入你的 Holon 地址(例如
http://10.0.2.2:7878或https://<your-host>),如果使用 HTTP 请确认信任网络风险。 - 点击 Next。应用会自动检测服务器支持的认证方式。
- 若服务器采用本地 Token 认证,输入 Bearer Token 或 Bootstrap Secret 并点击 Sign in。
应用会调用 /api/auth/session/exchange/native,将换取的会话凭据加密存入 Android Keystore,同时从内存中彻底清除明文 Token。
方案 C:使用 OIDC 组织单点登录
若守护进程启用了 OIDC 认证:
- 打开 Holon 应用并输入 Holon 地址。
- 点击 Next。应用会检测到该服务器启用了 OIDC。
- 应用会自动调起系统浏览器完成身份提供商(IdP)的登录。如果在未完成前返回,可点击 Use organization browser sign-in 重新发起。
- 认证成功后,浏览器会通过
run.holon.android://oidc/callback深度链接重定向回 Holon。
应用将一次性 Bootstrap 票据换取为可吊销的会话凭据,在 Android Keystore 中完成加密存储并建立连接。
管理网络配置文件(Profile)
应用支持在 Settings 中保存多个网络配置文件(例如“家庭 Tailscale”、“办公室局域网”或“USB 调试”)。保存后只需单击即可无缝切换不同环境,无需反复输入凭据。你也可以随时在列表中滑动删除无用的配置文件;删除时会立即清理配置项及 Keystore 中的凭据信息。
删除配置文件同时会清空该环境下的本地缓存、草稿、未发送的待发箱条目、附件以及诊断日志。删除前请确认待发队列;已成功提交给运行时的主线记录不受影响。
验证连接与执行结果
- 确认已选中正确的网络配置文件与服务器地址,进入该运行时中已有的某个 Agent。
- 发送一条安全的测试消息,例如:
请回复“Android connection verified”,不要修改任何文件。 - 确认消息从发件箱离开并收到最新的回复。仅浏览历史缓存内容并不代表网络已连通。
- 对于跟踪的任务,进入该 Agent 的工作视图(Work view),区分工作项进度(WorkItem)与具体任务执行状态(Task)。在确认工作完成前,先阅读完整的完成摘要(Brief)。
- 退出并重新打开应用,刷新对话列表,验证已保存的配置文件能否自动恢复重连。
移动端特色功能
- 对话优先与本地缓存: Agent 对话列表秒开。历史记录缓存在设备本地,在弱网或离线环境下也能查阅历史轮次与关键产物。
- 按日导航与任务状态卡片: 快速在每日活动流之间跳转,直观查看后台运行任务卡片,并在时间线中直接预览子 Agent 状态。
- 以简报(Brief)为核心: 重点展示完成简报、活动工作项与清单进度,无需在冗长的执行日志中反复滑动翻找结论。
- 折叠后台操作: 运行中与排队中的后台消息自动折叠收起,保证主线对话清爽。
- 模型切换: 在移动界面中直接查看或覆盖任意 Agent 的当前模型,自动过滤不可用或未配置的模型选项,选择器中仅展示当前可调用的有效候选。
- 系统分享面板打通: 从其他 Android 应用(如浏览器、文件管理器)中直接通过系统分享功能将文字、链接或文档投递给 Agent。
- 离线待发箱: 离线时编辑的提示词会先排队,连接恢复后自动发送,不会重复提交。
- 内置浏览器: Local App 路由与文档链接在应用内打开,并保持已认证会话。
- 单文件诊断日志导出: 诊断信息可一键导出为单一整合文件,按网络环境归类,便于排查与日志分享。
- 举报 AI 内容: 长按助手回复可举报不准确、有害或不恰当的内容。运行时会保存所选回复的有界快照。提交前请确认内容;回复本身可能包含敏感信息。
语言设置
应用界面完整支持英文与简体中文。默认跟随系统语言,但你也可以在登录界面或 Settings 中手动指定显示语言。
故障排查
- 无法连接运行时: 确认手机网络能否解析并访问该地址。在实体手机上,
localhost指向手机自身;请使用主机的局域网 IP、tailnet 域名,或配置 USB 端口映射。 - 配对失败: 重新生成一张有效的一次性邀请二维码,并核对其访问主机。tailnet 邀请要求手机本身也加入同一 tailnet 并具备访问权限。
- 登录过期或拒绝访问: 重新登录目标环境。对于启用了 OIDC 的服务器,请使用组织登录而非输入本地 Token。
- 能看到旧消息但收不到新回复: 检查网络连接状态和本地待发箱。本地展示的历史记录不代表请求已成功抵达守护进程。
- 反复连接失败: 在“设置”中导出诊断日志。分享前先检查有无隐私数据;提供客户端与运行时版本号及出错步骤即可,切勿泄露 Token 或配对票据。
后续阅读
- 远程连接指南 — 了解远程守护进程的安全网络拓扑配置。
- 配置 OIDC 认证 — 单点登录与会话策略配置。
- HTTP 控制平面参考 — Android SDK 调用的底层 API 端点。
