如何用 iPhone 控制 Mac 上的 Codex:Remodex 入门
Remodex 是一个本地优先的开源桥接器和 iOS 应用。它让 Codex 继续运行在 Mac 上,iPhone 通过配对安全会话远程发送任务、查看结果和处理 Git 操作。
Remodex 是一个本地优先的开源桥接器和 iOS 应用。它让 Codex 继续运行在 Mac 上,iPhone 通过配对安全会话远程发送任务、查看结果和处理 Git 操作。
- 难度
- 实战
- 预计耗时
- 25 分钟
- 路径
- Agent
你会获得
- 理解 Remodex 的工作方式
- 检查 Codex CLI 登录状态
- 安装并启动 Remodex 桥接器
- 用 iPhone 扫码配对 Mac
- 设置安全访问边界
教程目标
学完后,你可以判断 Remodex 是否适合自己,并完成一套最小可用配置:Mac 上运行 Codex,iPhone 作为远程控制端,随时发送任务、查看进度和接续对话。
最终产出
- Mac 上可运行的 Remodex bridge
- iPhone 上完成一次配对连接
- 一次从手机发给 Codex 的测试任务
- 一份安全检查清单
Remodex 是什么
Remodex 可以理解成“iPhone 到 Mac 上 Codex 的安全遥控器”。它不是把 Codex 搬到手机里运行,而是让 Codex runtime 继续留在你的 Mac 上,手机只负责发指令、看回复、排队追加提示词,以及在需要时处理 Git 操作。
这个设计的核心价值是:工作区、代码、密钥和 Codex 执行环境仍在本机,手机只是一个经过配对的控制端。
适合谁使用
- 经常在外面想到代码修改或 AI 任务的人
- Mac 上已经长期使用 Codex CLI 或 Codex 桌面端的人
- 希望手机能查看 Codex 执行进度的人
- 需要远程触发 Git status、commit、push、pull 等动作的人
- 能接受开源项目早期版本可能有 bug 的用户
准备材料
- 一台 Mac
- 一台 iPhone 或 iPad
- Node.js 18 或更高版本
- 已安装并登录的 Codex CLI
- Remodex iOS App,或自己从源码用 Xcode 构建安装
- 如果从源码构建 iOS App,需要 Xcode 16 或更高版本
第 1 步:先检查 Codex CLI 是否可用
Remodex 不负责管理 OpenAI 账号或 Codex 登录状态。它要求你的 Mac 上已经能正常运行 Codex。
先在 Mac 终端执行:
codex login status
如果没有登录,先执行:
codex login
如果你使用 API Key,也应该配置给 Codex 本身,而不是把密钥塞进 Remodex 的配置里。
第 2 步:安装 Remodex bridge
Remodex 的 bridge 可以通过 npm 安装。建议安装最新版本:
npm install -g remodex@latest
以后更新也用同一条命令:
npm install -g remodex@latest
安装后确认命令可用:
remodex --version
第 3 步:启动 Remodex
在 Mac 终端运行:
remodex up
在 macOS 上,这个命令会启动一个轻量后台 bridge 服务,并打印首次配对或恢复配对用的二维码。非 macOS 平台也可以运行 bridge,但部分桌面刷新和后台服务能力主要面向 macOS。
第 4 步:用 iPhone App 扫码配对
打开 Remodex iOS App,按照应用内引导扫描 remodex up 打印的二维码。
注意:不要先用系统相机或普通扫码工具扫这个二维码。项目说明里提到,如果在安装 App 之前用普通扫码器扫描,手机可能会把二维码内容当成普通文本或网页搜索,而不是进入配对流程。
首次配对成功后:
- iPhone 会把这台 Mac 保存为可信设备
- Mac bridge 会在本地保存配对状态
- 后续打开 App 时会尝试自动重连
- 如果信任关系变化,可以重新用二维码恢复
第 5 步:从 iPhone 发一个测试任务
连接成功后,在 iPhone 上发送一个低风险任务测试链路:
请查看当前项目状态,只读检查,不要修改文件。最后告诉我当前目录、Git 分支和是否有未提交文件。
如果一切正常,你应该能在手机上看到 Codex 的实时回复。此时 Codex 真正执行的位置仍然是 Mac,本地项目和工具权限也仍然在 Mac 上。
第 6 步:理解手机端能做什么
根据项目说明,Remodex 支持的手机端能力包括:
- 发送 Codex 对话和任务
- 在任务运行中追加后续提示词
- 查看运行完成或需要关注的通知
- 使用 Fast mode 降低延迟
- 使用 Plan mode 先规划再执行
- 通过
/subagents从手机触发子代理 - 进行 Git 操作,例如 status、commit、push、pull、切换分支
- 上传照片作为附件
- 查看和延续 Codex 线程历史
手机端最好先从只读任务、计划任务、文档整理任务开始,确认稳定后再授权文件修改或 Git 操作。
第 7 步:设置访问权限
Remodex 的手机端权限模式里有 On-Request 和 Full access 这类访问控制。
建议初期使用 On-Request:
- 每次敏感操作都要你确认
- 更适合代码仓库和生产项目
- 能降低手机误触或提示词写错带来的风险
只有在你非常确认任务范围、仓库状态和回滚方式时,再考虑 Full access。
第 8 步:处理远程连接方式
如果 iPhone 和 Mac 不在同一个可靠网络里,项目更推荐使用 Tailscale 或你自己控制的 relay。普通局域网 ws://192.168.x.x 方式可以测试,但 iOS 本地网络访问有时不稳定。
一个常见的私有网络方案是:
1. 在 Mac、迷你服务器或 VPS 上运行 relay
2. 把这台机器加入 Tailscale
3. 设置 REMODEX_RELAY 指向可访问的 relay 地址
4. 扫码配对一次
5. 后续让 iPhone 通过同一个 relay 重连可信 Mac
示例:
REMODEX_RELAY="wss://relay.example.com/relay" remodex up
如果只是临时测试,也可以用 Cloudflare Tunnel 暴露本地 relay,但长期使用更建议走自己能控制的网络和域名。
第 9 步:常用维护命令
启动:
remodex up
重启:
remodex restart
停止:
remodex stop
查看状态:
remodex status
重新配对:
remodex reset-pairing
remodex up
安全注意事项
- 不要把 OpenAI API Key 写进 Remodex 的 launchd plist 或 relay 配置
- 优先让 Codex CLI 自己完成登录
- 不要把 relay 部署在自己不了解的公开环境里
- 用 Full access 前先确认仓库没有危险操作
- 涉及 Git push、reset、stash pop 这类操作时先让 Codex 输出计划
- 如果处理敏感项目,优先自托管 relay 或走 Tailscale 私有网络
Remodex 的安全设计强调端到端加密:配对后的应用层消息会加密,transport 层看不到解密后的 prompt、工具调用、Codex 回复、Git 输出和工作区 RPC 内容。但连接元数据、握手控制信息、设备 ID 等仍然可能被 transport 层看到,所以最严格的方式仍然是自托管。
常见问题
启动时报 CODEX_API_KEY 缺失怎么办
这通常是 Codex CLI 自己的认证问题,不是 Remodex 的问题。先执行:
codex login
remodex restart
扫二维码后没有进入 App 怎么办
确认已经安装 Remodex iOS App,并从 App 内部扫码,不要用系统相机先扫。
手机线程为什么没有马上出现在 Codex 桌面端
项目说明里提到,Codex 桌面端默认不是手机会话的实时镜像。手机端是 live 的,Mac 桌面端可能需要重新挂载线程或使用刷新 workaround 才能看到最新内容。
Linux 或 Windows 能用吗
核心 bridge 可以工作,但 macOS 的后台服务、AppleScript 刷新和桌面体验更完整。非 macOS 环境通常需要前台运行 bridge,或自己配置系统服务。
验收清单
完成后检查:
codex login status正常remodex --version能输出版本号remodex up能打印二维码- iPhone App 能扫码配对
- 手机能发送一个只读测试任务
- Codex 的执行仍发生在 Mac 上
- Git 和文件修改操作仍需要明确授权
资料来源
本文根据 Remodex 开源项目 README 整理。项目仓库名:Emanuele-web04/remodex。