第20章 Omnigent 移动端:跨设备会话同步与 iOS/Android 应用指南
移动端
同一个会话可以在终端、浏览器和手机之间同步访问。在笔记本上发起任务,随后切换到手机继续处理。所有内容都在设备间实时同步。
你有三种方式在手机上使用 Omnigent:
iOS 应用。这是来自 App Store 的原生应用,可连接到你指定的任意 Omnigent 服务器。
Android 应用。这是来自 Google Play 的原生应用,可连接到你的 Omnigent 服务器。
移动端网页界面。如果你不想安装应用,可以在任何手机浏览器中使用完整的网页界面。
使用场景
长时运行的 Agent 不需要你守在桌前。启动一个编程任务后去吃午饭,期间用手机查看进度。当你的 Omnigent 提出问题时,你可以在排队买咖啡时回复。如果想检查它生成的结果,直接浏览相关文件即可。
iOS 应用
Omnigent iOS 应用已在 App Store 上架。与桌面版类似,它是一个围绕服务器端网页界面构建的轻量级原生外壳,连接到你运行或部署的 Omnigent 服务器,而不是自行托管会话。
快速上手
从 App Store 安装应用。
输入服务器 URL。首次启动时,应用会要求输入要连接的 Omnigent 服务器 URL。请填入你部署的服务器 URL;如果使用的是 Databricks 上的 Omnigent,则填入 Databricks 工作区 URL。应用会记住最近的服务器,方便你在多台服务器间切换。
开始工作。应用连接后会显示与浏览器中相同的界面。
要求
可访问的服务器。应用需要连接到一个 Omnigent 服务器,本身不在设备本地运行服务器。该服务器必须可通过手机所在的网络访问。
HTTPS。应用要求服务器 URL 必须为
https://。普通的http://地址(如仅使用 localhost)会被拒绝,因此本地开发服务器需支持 HTTPS 访问或已部署上线。有关部署选项,请参考部署指南。
当应用处于前台时,它会显示前台通知并更新应用角标。它不会在后台轮询,因此只有应用在前台时才会收到通知。
Android 应用
Omnigent Android 应用已在 Google Play 上架。它连接到你自托管或云端托管的 Omnigent 服务器,并将你的会话与桌面及浏览器界面保持同步。
快速上手
从 Google Play 安装应用。
输入服务器 URL。首次启动时,连接到你有权限访问的 Omnigent 服务器。
开始工作。在手机上跟踪 Agent 的工作进度、发送消息、审查输出结果,并在不同会话间切换。
移动端网页界面
无需安装。在任何手机浏览器(Android 或 iOS)中打开你的 Omnigent 服务器 URL,即可获得经过触控优化的完整网页界面:聊天、监控子 Agent、浏览文件、查看代码变更以及留下行内评论。
localhost:6767 仅能由运行服务器的那台机器访问。若要从手机访问:
同一网络。使用机器的局域网 IP 代替 localhost(例如
http://192.168.x.x:6767)。手机需连接至相同的 Wi-Fi 网络。任意位置。将 Omnigent 服务器部署在 localhost 之外。有关选项,请参考部署文档。
如果希望获得更接近应用体验的效果但不想使用 App Store,可以将网页界面安装为 PWA(渐进式 Web 应用):使用浏览器的“添加到主屏幕”选项,在独立窗口中启动 Omnigent。详情参见作为应用安装。
受管配置(org-preset 服务器)
在原生 Android 应用中,组织可以预先配置用户看到的服务器 URL,这样用户就不需要手动输入了。该应用发布了一套 Android 受管配置,任何 EMM/MDM 控制台(如 Intune、Jamf、Workspace ONE、Google Workspace 或 Android Management API)都可以将其推送到已注册的设备上。它只有一个键:
| 键类型 | 字符串 |
|---|---|
| 键值 | serverUrls |
| 描述 | 服务器 URL,以逗号或换行符分隔,优先级最高的排在前面。 |
例如,将 serverUrls 设置为 https://omnigent.corp.example.com 会将该服务器显示在列表顶部。
应用对预设的处理方式:
仅提供,不强制。预设 URL 在连接界面和服务器切换器中列在用户最近使用的服务器之前。用户仍需点击才能连接,无论策略中设置了一个还是多个 URL。
绝不自动连接。应用不会自行连接到预设服务器,也不会跳过连接界面,因此策略无法在用户不知情的情况下将其切换到不同服务器。
非锁定机制。用户仍可以输入其他任何服务器 URL,且其选择项将保持为当前生效项。
实时生效。预设不会写入应用自身的存储中,因此管理员后续的修改会在下次显示列表时立即被采纳。
已清理。无法解析的条目会被丢弃,缺少协议前缀的条目会自动添加
https://,同源重复项会被合并,列表上限为 8 项。
iOS 应用目前尚无同等功能;一旦支持,它将通过 Managed App Configuration 复用相同的 serverUrls 键。
移动端支持的功能
完整的网页界面,经过触控优化:聊天、监控子 Agent、浏览文件、查看代码变更以及留下行内评论。
深度链接
在原生 iOS 应用中,omnigent:// 链接可以直接在应用内打开特定服务器上的特定会话:
omnigent://<hostname>/c/<session_id>
该链接通过主机名(如果非默认端口则包含端口)标识服务器,通过 /c/<session_id> 路由标识会话。它不包含 http/https 前缀;协议会根据设置页面的逻辑推断:对于回环主机(localhost、127.0.0.1、::1)使用 http,对于远程主机使用 https,从而确保深度链接与粘贴的 URL 行为一致。对于 Databricks 工作区,工作区挂载点(/ml/omnigents)不属于链接的一部分,应用会在连接后自动发现它。
omnigent://localhost:8000/c/conv_abc → http://localhost:8000/c/conv_abc
omnigent://my-workspace.cloud.databricks.com/c/x → https://…/ml/omnigents/c/x
此版本仅接受会话链接(/c/<session_id>)。
链接的处理逻辑
已在该服务器上。应用会直接在该会话中导航,无需重新加载。
已连接过的服务器(你保存的服务器或最近列表中的一项),但当前不在其中。应用会切换至该服务器并直接打开会话,无需提示。
从未连接过的服务器。应用会在打开前请求你确认。连接新服务器会授予权限(通知、应用角标、麦克风),因此点击链接不会静默地将你连接到不受信任的服务器。仅打开来自受信任服务器的链接。