用iPhone操作Codex CLI:ToDesk远程终端让我接回了开发环境

我这次用iPhone打开ToDesk,连接自己的 iMac,再从设备页进入远程终端。电脑上的Codex CLI 已经能正常登录、操作,手机不用重新准备一套开发环境。

不过,第一次输入 codex 时,我碰到了一个很实际的问题:终端提示找不到命令。解决命令入口后,我在手机端提交了一条中文需求,让 Codex 做一个 PoetryLab 古诗阅读页面,再到 Mac 上查看效果。同一条会话也出现在电脑的 Codex 里,还能继续对话。这篇就按这次操作过程,聊聊手机接回 AI 编程环境的体验。

手机接回我已经配好的开发环境

我想用手机处理的,主要是给 AI 编程工具补充需求、查看回复,以及确认项目现在是什么状态。代码和依赖都在 iMac 上,如果换一台设备重新配置,反而把简单的事情弄复杂了。

ToDesk的做法很直接。我在手机设备页里能同时看到桌面和"终端"入口,敲命令就进终端,要操作电脑里的浏览器或编辑器,再进入桌面。

图 1 终端选择

我们先把分工说清楚:ToDesk提供远程连接和输入界面,Codex CLI 在电脑上处理项目。我没有在 iPhone 本地安装 Codex,也没有把代码搬到手机里。Codex 的工作目录、依赖和权限仍然需要在电脑侧准备好。OpenAI 官方文档也把 CLI 定义为在终端中使用的编程工具,可以读取项目、修改代码和运行命令;具体能做什么,还取决于我们给它的权限。

找不到 codex,先检查命令入口

接下来,我进入项目目录,输入:

复制代码
cd ~/workspace/sapi codex --version

终端返回了 zsh: command not found: codex。这条报错说明当前 shell 找不到这个命令,还不能据此判断 ToDesk无法运行 Codex。

我换成电脑上已有程序的完整路径检查版本,得到了明确的回显:

复制代码
codex-cli 0.158.0-alpha.2.1

这次用到的是 App 内置的 CLI,不是另行安装的一份独立版本。因为完整路径太长,在手机上反复输入不方便,所以我们给现有程序增加了 /usr/local/bin/codex 符号链接。接下来,我在手机当前终端里直接输入 codex --version,也得到了上面的版本回显,不用再输入完整路径了。

这个办法解决的是命令入口问题,不会重新安装 Codex,也不代表换成了稳定版。以后 App 的位置或内置程序路径发生变化,链接可能需要重新检查。

下面的启动截图是在另一个项目目录中记录的,和前面的版本检查分开看。画面里已经出现 Codex 的版本信息和需求输入位置,接下来就可以输入具体要求了。

图 2 启动界面

手机输入,不能只有字母键

进入终端以后,我更关心的其实是键盘。我们在命令行里经常要补全目录、移动光标或者退出当前界面,只有普通字母键还不够。

ToDesk的电脑键盘里,Tab、Esc、方向键和组合键都能直接看到,上方还有"手机键盘"和"快捷指令"入口。Control+C 可以通过组合键模式输入:选中 Control,再按 C。写中文需求时则可以切到手机键盘,不用拿字母键硬凑。

图 3 组合键界面

还有一个我经常用到的操作:清屏。我把 clear 保存到快捷指令里,名称和命令都填 clear。终端输出多了,就点一下这条指令清屏,不用每次重新敲命令。在手机上少输几个字,反复用起来还是很方便的。

图 4 一键清屏

常用快捷键和保存好的快捷指令,解决的是两类操作:前者发送按键组合,后者执行我们存好的命令。这里记录了 Control+C 的组合键入口和我实际使用 clear 的体验,没有把所有按键都写成逐项验证过。

会话管理,要分清进入和退出

我的手机图里还有"选择要控制的终端"面板:可以选择已有终端,也可以新建连接。图 1 记录了这个入口,静态列表本身还不能证明接管之后的任务状态。

退出时也有一个要看清的地方。ToDesk提示远端仍有命令执行时,会把"仅退出页面"和"结束并终止命令行"分开,还可以取消。如果只是暂时离开页面,就不要误选终止命令行。这个弹窗记录的是退出选项,我没有把它当成断线恢复测试。

图 5 退出选项

在 iPhone 上提交一个古诗页面需求

这次用到的是一个新的 PoetryLab 项目。我在 iPhone 的 ToDesk终端里把中文需求提交给 Codex,没有从复杂的功能开始:三首唐诗,一个切换按钮,全部代码放在一个 HTML 文件里。

实际提交的需求是:

帮我做一个名为 PoetryLab 的古诗阅读网页。内置三首唐诗,展示诗名、作者和全文,点击"换一首"按钮切换诗歌。页面简洁清爽,全部代码放在 index.html,不安装依赖。

手机端随后能看到执行日志和完成输出。Codex 回复已经完成 index.html,内置《静夜思》《春晓》《登鹳雀楼》,并说明"换一首"会循环切换诗歌、同步更新配图。日志中还有检查返回 passed 的记录,列出的页面宽度包括 320、375、560、768、1024 和 1440。

图 6 完成输出

准备复现时,还要留意权限:只检查项目可以用 read-only;需要创建文件,可以在核对过的项目目录中启动工作区可写模式:

复制代码

codex --sandbox workspace-write --no-alt-screen

workspace-write 是 Codex 的权限选项,不是 ToDesk的功能;--no-alt-screen 用于不使用备用屏幕,可以作为查看滚动输出的尝试。我不会为了这次小任务使用全局开放权限的参数。

上面的参数是复现建议,截图没有记录我这次启动时的完整命令,不能反推实际使用了哪组参数。如果已有 index.html,也应先检查文件,再明确允许修改的范围,避免覆盖现有页面。

回到 Mac,页面和同一条会话都能接着看

这次页面效果是在 Mac 上查看的。浏览器里已经打开 PoetryLab,能看到《静夜思》的诗名、作者、全文,以及"换一首"按钮。手机里的一段完成输出,到了电脑上就有了对应的页面画面。

图 7 页面与会话

比页面本身更值得记一笔的是会话:我在 iPhone 端发起的这条对话,也出现在 Mac 的 Codex 桌面端里,而且还能继续聊。启动 Codex 后我先发了句 hello 测试连通,手机端和电脑端都记录到了 hello 及对应回复。本轮用的是 App 内置的 alpha CLI,这是这套 Codex 环境中的实际表现,不把会话显示和续聊归到 ToDesk的功能里,也不推断所有版本都有相同效果。

所以,用手机终端是不是就够了,要看当前任务。给 Codex 补一句要求、查输出,我会先选终端;读长代码差异或检查页面,还是电脑大屏更舒服。人在外面又需要图形界面时,可以再用 ToDesk进入远程桌面,但这次 Mac 页面截图不是手机远程桌面的验收记录。

这次实测下来,ToDesk远程终端也能让我用手机进行 Vibe Coding:我在 iPhone 上用中文提出需求,让电脑上的 Codex 生成 PoetryLab 页面,再回到 Mac 查看效果,并在同一条会话里继续对话。ToDesk负责把 iPhone 接回电脑终端;命令入口、Codex 权限和具体项目,仍然要在电脑侧准备好。组合键和常用的 clear 快捷指令,则让手机上的终端操作少了一些重复输入。

相关推荐
miofly2 小时前
GitHub 日榜趋势速报 | 2026-10-01
开源·github
阿里嘎多学长3 小时前
2026-09-30 GitHub 热点项目精选
开发语言·程序员·github·代码托管
miofly15 小时前
GitHub 今日推荐|DiPlay:让 iPhone CarPlay 直连 BYD 车机,无需硬件适配器
开源·github
行者-全栈开发15 小时前
【前端/JS框架】CVE-2026-3854:GitHub Enterprise Server X-Stat注入XSS漏洞深度剖析与紧急修复指南
前端·javascript·github
怕浪猫17 小时前
2026年9月面18个后端
后端·面试·github
掘金0121 小时前
Cursor Agent Prompt 拆解
人工智能·程序员·github
樱花落木兰1 天前
SpringBoot + ECharts 后台数据统计报表模块实战
java·javascript·spring boot·ai·log4j·github·echarts
Gu0Qiang1 天前
从 0 到 1 打造 AI 提示流编排器:别把大模型当机械拼图!Case #7 字段冻结陷阱与代码回滚复盘(开源系列 15)
人工智能·github