面向 iPhone 的 Relay + Codex 工作流

完成一次配对, 把线程带在身边。

Irisbrige 是一个基于 SwiftUI 的 iOS 客户端,用于连接 Relay 承载的 Codex App Server 工作流。它把安全配对、实时线程、审批处理和移动端继续对话放进同一个应用里。

Relay 已连接
$ thread/group/list
当前线程
turn/start • turn/steer • turn/interrupt
实时活动
fileChange • commandExecution • requestUserInput
待处理请求
在手机上审批并继续

围绕移动端 Relay 闭环而设计。

当前 Irisbrige 仓库聚焦在安全配对、线程控制、审批流,以及从 iPhone 继续 Codex 工作流的核心路径。

安全 Relay 配对

支持扫描配对二维码或手动输入 token,并使用当前设备身份完成与 Relay 的配对握手。

持久化设备身份

通过 Keychain 与 CryptoKit 在本地保存稳定的 device ID 和 Ed25519 密钥对,用于 challenge 签名。

多服务器历史

已知 Relay 服务器可以统一完成选择、连接、断开、重命名、查看详情与删除。

实时线程工作区

按工作目录浏览线程分组、恢复本地缓存,并在 iPhone 上继续与助手线程交互。

审批流处理

支持命令执行、文件变更、权限申请,以及基础的 requestUserInput 表单处理。

目录感知的新线程

通过 RPC 目录浏览能力创建项目目录,并直接在目标工作目录下启动新线程。

Challenge + WebSocket 传输

覆盖 challenge 鉴权、已认证 WebSocket 建连、连接生命周期管理与断线重连。

APNs Token 同步

当 iOS 获取到 APNs device token 后,Irisbrige 可以将它同步到 Relay 的设备链路中。

外观与传输设置

支持外观切换、系统设置跳转、设备信息查看、日志清理,以及自签名 Relay 所需的不安全 TLS 开关。

三个主要界面。 一个移动端操作视角。

当前应用结构直接对应真实的 iOS 使用流程:先配对并管理端点,再进入线程工作区,最后在需要时查看详情与请求状态。

01

控制中心

完成 Relay 配对、管理已知服务器、快速重连,并在进入线程前明确当前激活端点。

QR pairing Ed25519 /v1/pairing/complete
02

线程工作区

打开分组历史、在目录中创建线程、发送新 turn、对活动 turn 执行 steer 或 interrupt。

thread/group/list turn/steer fs/createDirectory
03

详情与请求账本

查看线程元数据、待处理审批、请求状态与原始事件账本,方便定位问题和追踪上下文。

requestApproval requestUserInput event ledger

当前已经实现的能力面

这个仓库已经覆盖了 Relay 承载 Codex 工作流的主要移动端闭环,同时也明确保留了暂未支持的边界。

HTTP 配对与鉴权

当前应用流程已经包含 pairing complete、auth challenge、APNs token 上报,以及已认证的 WebSocket 建连。

RPC 线程流程

已经支持 initialize、thread start/list/read/resume、turn start/steer/interrupt、分组历史,以及目录相关 RPC。

交互式服务端请求

客户端已处理命令审批、文件审批、权限审批,以及基础的 item/tool/requestUserInput 表单输入。

常见问题

什么是 Irisbrige?
Irisbrige 是一个基于 SwiftUI 的 iOS 客户端,用于连接 Relay 承载的 Codex App Server 工作流。它的目标是让 iPhone 也能安全配对、建立连接,并继续操作 Codex 线程。
它是怎么完成配对的?
应用会读取 Irisbrige 私有配对二维码或手动 token,提交配对请求并上传设备公钥,然后向 Relay 请求 challenge,在本地签名后再建立已认证的 WebSocket 连接。
现在已经能做什么?
目前可以管理 Relay 服务器、浏览按目录分组的线程历史、在目录下创建线程、继续对话、steer 或 interrupt turn、查看线程详情,并处理主要审批流。
iPhone 会直接连接到 Mac 吗?
不会。当前设计是 relay + edge 架构:iOS 只通过 HTTPS/WSS 连接 Relay,而 macOS 上的 edge 自己向 Relay 发起连接,并在本地对接 Codex App Server。
还有哪些部分没覆盖?
当前代码还没有单独的 Relay 健康检查页,没有完整支持 mcpServer/elicitation/request 和 item/tool/call,而且 UI 自动化测试覆盖仍然偏基础。