← 返回学习中心 · Codex 与 Claude 实战OiOi Academy
CODEX 实战 · 12

手机远程操控与多端协同

官方方案配置(@vista8)→ 踩坑与协同流程(@thinkszyg)→ 第三方多工具方案(Paseo)。

原作者 @vista8 / @thinkszyg / Paseo 来源 X 长文 / GitHub README 发布 2026 年
📱

开篇:手机当遥控器,电脑当主机

这一课讲一个很有画面感的能力:手机远程操控 Codex。出门在外,手机上点两下,家里的电脑就自动把活干了,结果同步回手机。

关键认知(来自 @thinkszyg 的踩坑复盘,原文):任务在主机上运行,结果同步回移动端。手机不是把整个 Codex 装进口袋,它更像一个遥控器——遥控的是家里的电脑。

本课三层结构:① 官方方案怎么配置(@vista8);② 真实踩坑与协同流程(@thinkszyg,3 天排障复盘);③ 第三方多工具方案(Paseo,自托管、支持 Claude Code / Codex / OpenCode)。

高中生类比
手机远程操控像用遥控器开空调:遥控器(手机)只是发指令和看温度,真正制冷的是挂机(电脑主机)。遥控器没电了空调照样转;反过来,挂机要是堵了(线程过大),遥控器按烂了也没用——这正是 @thinkszyg 踩的坑。
⚙

官方方案配置:扫码这一步最容易错

以下来自 @vista8(X,2026 年)。官方移动端入口的配置步骤:

前置条件

  • 必须是官方订阅账号——API 或中转站模式看不到移动端入口;
  • 先更新 Codex 本地客户端到最新版;
  • 目前仅支持 macOS 主机。

配置步骤

  1. 电脑端 Codex 客户端左侧找到 "设置 Codex 移动版";
  2. 必须用苹果 / 安卓原生相机扫码——微信扫码不行,ChatGPT 里面也没有扫码按钮;
  3. 扫码后还要再登录一次 ChatGPT 账号;
  4. 可以设置电脑保持唤醒(防止睡着断连);
  5. 设置 → 连接,可以绑定多台设备。
原文配图:Codex 移动版扫码配置界面(@vista8)
原文配图:Codex 移动版扫码配置界面(@vista8)
避坑
更新坑(@vista8 原文):"客户端内更新经常失灵"——点更新没反应时,直接去官网下新版安装包覆盖安装,别跟更新按钮较劲。

配好之后的工作模型:任务在主机(Mac)上运行,结果同步回移动端。你在外面用手机发指令、看进度、做轻量接力;重活还是家里电脑干。

🕳

踩坑复盘:3 天排障,根因是线程太大了

以下来自 @thinkszyg(X 长文,2026 年)。他花了 3 天排查一个"手机端加载消息失败"的 bug——最终复盘,根因和他最初想的完全不是一回事。

故障现象 → 根因

现象:手机端"加载消息失败",详情页打不开。
排查过程:让 Codex 自己排查 Codex(前提:先只读排查,不要一上来就重启、归档、清理)。
根因:线程太大了——~/.codex/sessions 约 3.5GB,最大单线程约 1.4GB,BLCaptain 主线程几百 MB。作者的规则:线程超过 50MB 就要警惕,考虑迁移。

两个关键区分(@thinkszyg 原文)

  • priority / fast vs reasoning_effort:priority / fast 影响的是服务层优先级(排队快慢),reasoning_effort = "xhigh" 影响的是思考强度(想得深不深)。两码事,别混用;
  • 深度模式 vs 日常模式:
深度模式:gpt-5.5 + xhigh
日常模式:gpt-5.5 + medium 或 low

复杂规划、架构判断、疑难排障用 xhigh;日常执行、整理、轻量修改用 medium 或 low——省 Token 也快。

Handoff:把上下文变成项目资产

这次排障最有价值的动作:把上下文从聊天记录里搬出来。旧线程很长,但续接真正需要的信息没那么多:

当前目标
已完成事项
用户确认过的结论
最新产物路径
当前风险
下一步最小动作
换新线程后的提示词

实践:维护成项目文件——

tasks/handoff.md
tasks/current-state.md
tasks/todo.md
tasks/lessons.md

新线程不用回放几百 MB 历史,读这些文件就能接上。不要把项目上下文只存在聊天记录里,要把它变成项目资产。旧线程保留当历史,新线程只读 handoff 继续推进。

原文配图:线程过大导致加载失败的排障过程(@thinkszyg)
原文配图:线程过大导致加载失败的排障过程(@thinkszyg)
🤝

协同流程:手机 + 电脑像接力,不是实时同步

以下来自 @thinkszyg。排障中的认知修正:手机端和桌面端不总是严格实时同步。手机发了消息,电脑端未必马上滚动显示。常见原因:

  1. 两端打开的不是同一个 thread;
  2. 手机端消息落到了另一个活跃线程;
  3. 桌面 UI 没订阅手机远控那条 live stream;
  4. 当前线程太大,重新拉取失败;
  5. 一个 turn 还没结束,另一端又发消息。

所以更稳的方式是接力协同:

同一时间只让一个端输入
一个 turn 完成后再切换设备
切换后重新进入同一个线程
不要在手机端打开几百 MB 的旧线程

同步检查话术(切换设备后发一句)

原文话术:"请复述当前线程最新进度、最后一个用户指令、最后一个已完成动作、下一步。"——如果 Codex 能复述手机端刚做的事,说明同步到了;复述不出来,大概率是打开了不同线程,或桌面端还没拉到最新状态。

让 Codex 排查 Codex:先只读排查八项

  1. remote-control 守护进程是否在线;
  2. 代理和 WebSocket 是否正常;
  3. 手机端和桌面端的 env 是否一致;
  4. 是否存在 stale pid、旧 socket、旧 env;
  5. 当前线程 rollout 有多大;
  6. 手机端消息实际落到了哪个 thread;
  7. 配置里是不是用了 xhigh 推理;
  8. 日志库和 WAL 是否过大。

最容易被忽略的是第 5、6 点:你以为"手机端消息丢了",实际是消息落到了另一个 thread;你以为"手机端离线",实际是手机端正在打开一个几百 MB 的大线程,详情加载失败。

最终工作流(@thinkszyg 原文)

桌面端做复杂任务
手机端做查看、轻量接力和远程触发
长线程定期 handoff
大图用文件路径引用,少直接粘贴进对话
切换设备后做同步检查
超过 50MB 的线程考虑迁移
复杂任务用 xhigh,日常任务用 medium 或 low

一句话总结(作者原话):Codex 双端协同能用,但要按项目工作流来用。线程定期 handoff,手机端接轻量线程,桌面端处理复杂执行,双端用同步检查接力。

原文配图:双端协同接力流程示意(@thinkszyg)
原文配图:双端协同接力流程示意(@thinkszyg)

让 Codex 操作浏览器发文:

@chrome 打开 X 的 Articles 写作页面。
标题用:让 Codex 排查 Codex:手机端和桌面端协同踩坑复盘。
把这篇文章作为正文粘贴进去,保持段落格式。
如果遇到字数限制,就告诉我,不要自动删减。
粘贴完成后不要发布,停下来让我检查。

最后一句一定要保留:不要发布,先让我确认。审批权在你手里——这条和课 11 的铁律一脉相承。

🧰

第三方方案:Paseo,一个遥控器管所有 Agent

官方方案只管 Codex、只支持 macOS。如果你的工具箱里还有 Claude Code、OpenCode,来看 Paseo(getpaseo/paseo,GitHub 开源,AGPL-3.0 协议)。

五大卖点(README 原文)

  • Self-hosted:自托管 daemon,你自己的机器上跑;
  • Multi-provider:统一调度 Claude Code / Codex / OpenCode;
  • Voice control:语音控制;
  • Cross-device:跨设备;
  • Privacy-first:隐私优先。

上手(README 原文)

  1. 至少装好一个 agent CLI(Claude Code / Codex / OpenCode)并配好凭证;
  2. 从 paseo.sh/download 或 GitHub releases 下载 Paseo,daemon 自动启动;
  3. 手机扫 Settings 里二维码连接。

常用 CLI(README 原文)

npm install -g @getpaseo/cli   # 安装 CLI
paseo                            # 终端显示二维码
paseo run --provider claude/opus-4.6 "implement user authentication"
paseo run --provider codex/gpt-5.4 --worktree feature-x "implement feature X"
paseo ls                         # 列出会话
paseo attach abc123              # 接入会话
paseo send abc123 "also add tests"
paseo --host workstation.local:6767 run "run the full test suite"

实验性 skills(README 原文)

先 npx skills add getpaseo/paseo 安装,再用三个斜杠命令:

  • /paseo-handoff:跨工具接力——Claude 规划,handoff 给 Codex 实现;
  • /paseo-loop:Ralph 循环,最多 10 轮;
  • /paseo-orchestrator:团队编排——Claude 规划、Codex 实现和评审。

文档见 paseo.sh/docs。

三方案对比(课程整理)

  • 官方方案(@vista8):只管 Codex,仅 macOS,配置最简单;
  • 踩坑复盘(@thinkszyg):不是替代方案,是"官方方案 + 协同流程"的增强包——handoff、接力、同步检查;
  • Paseo:自托管、多工具统一调度、跨设备,适合"不止用 Codex"的人,但要自己维护 daemon。
高中生类比
三方案像三种遥控器:官方方案是空调原装遥控器——只控这一台,但最省心;@thinkszyg 的协同流程是"遥控器使用说明书"——告诉你电池(线程)别装太大、按一下等它反应完再按下一 下;Paseo 是万能遥控器——空调电视音响全控,但要自己配码(维护 daemon)。
🧭

收尾:选哪条路,看你的工具箱

三节内容合起来,给你一张选择指南:

  • 只用 Codex + Mac → 官方方案(@vista8 配置)+ @thinkszyg 的协同流程(handoff、接力、同步检查、50MB 警戒线);
  • 多工具混用(Claude Code / OpenCode) → Paseo 自托管统一调度;
  • 不管走哪条 → 记住三件事:线程定期 handoff(别让聊天记录当全部上下文)、大图用文件路径引用少粘贴、复杂任务 xhigh、日常任务 medium/low。

最后一句回到 @thinkszyg 的总结:Codex 双端协同能用,但要按项目工作流来用。手机是遥控器,电脑是主机,handoff 是项目资产——这三句话就是这门课的全部。

记住:手机远程操控三句话:手机是遥控器(发指令、看进度),电脑是主机(跑任务),handoff 是项目资产(别把上下文只存在聊天记录里)。
词

术语翻卡:点卡片看解释

远程操控
Remote Control
手机当遥控器、电脑当主机的模式:任务在主机运行,结果同步回移动端。官方方案需订阅账号 + macOS 主机。
线程
thread
一次对话会话。线程过大(~/.codex/sessions 3.5GB、单线程 1.4GB)会导致手机端加载失败;超过 50MB 就要警惕。
handoff
handoff
把上下文从聊天记录搬成项目文件(handoff.md / current-state.md / todo.md / lessons.md),新线程读文件就能接上。
接力协同
接力协同
双端协作方式:同一时间只一端输入,一个 turn 完成再切换,切换后重进同一线程——不追求严格实时同步。
reasoning_effort
reasoning_effort
思考强度参数。xhigh 适合复杂规划/排障,medium/low 适合日常执行。别和 priority/fast(服务层优先级)混淆。
turn
turn
一轮交互:你发指令 → AI 执行完 → 回到等你输入。一个 turn 没结束另一端又发消息,是同步错乱的常见原因。
stale pid
stale pid
残留的旧进程 ID。排障八项之一:旧 socket、旧 env 残留会导致远控异常,先只读排查再动手。
自托管
Self-hosted
Paseo 的 daemon 跑在你自己的机器上,不经过第三方服务器——隐私优先,但要自己维护。
测

自测一下:点问题展开参考答案

必须用苹果/安卓原生相机扫码——微信扫码不行,ChatGPT 里也没有扫码按钮。扫完还要再登录一次 ChatGPT 账号。前置条件:官方订阅账号(API/中转站模式看不到入口),目前仅 macOS 主机。

根因是线程太大:~/.codex/sessions 约 3.5GB,最大单线程约 1.4GB,导致手机端"加载消息失败"。规则:线程超过 50MB 就要警惕,考虑 handoff 迁移到新线程。

priority/fast 影响服务层优先级(排队快慢),reasoning_effort=xhigh 影响思考强度(想得深不深)。复杂规划、架构判断、疑难排障用 xhigh;日常执行用 medium/low 更省更快。

接力协同:同一时间只一端输入,一个 turn 完成后切换,切换后重进同一线程,不在手机端打开几百 MB 旧线程。同步检查话术:"请复述当前线程最新进度、最后一个用户指令、最后一个已完成动作、下一步。"能复述手机端刚做的事才算同步到了。

官方方案:只用 Codex + Mac,配置最简单(@vista8 步骤)。Paseo:自托管、多工具统一调度(Claude Code/Codex/OpenCode)、跨设备,适合工具箱不止 Codex 的人,但要自己维护 daemon。@thinkszyg 的协同流程是两者的增强包。