用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 快捷指令,则让手机上的终端操作少了一些重复输入。

相关推荐
风之九子2 小时前
在上游一天两版的项目上做二次开发:9 天 65 次提交的 fork 手记 (dsh-our-free-model)
人工智能·ai·github
邱杰4703 小时前
数智人事系统(十七):加班核算与薪资构成
后端·github
小弥儿3 小时前
GitHub今日热榜 | 2026-10-20:智能体基建七席连庄,生成类项目回流
学习·开源·github
江厌013 小时前
两张卡部署两个模型:物理分卡、MIG、张量并行的选择与可复现配置
github·模型部署·vllm
问天_观心3 小时前
模型微调学习(二)
开发语言·人工智能·学习·语言模型·github
回眸&啤酒鸭3 小时前
【回眸】GitHub Copilot 智能编程辅助效果实测
github·copilot
Brilliantwxx4 小时前
【Linux】基础IO(下):输出重定向、dup2 与 minishell 重定向实战
linux·运维·服务器·github·bash
miofly4 小时前
GitHub 今日推荐|security-audit-skill:让编码代理自己审计漏洞还互相验证
javascript·开源·github
inrichtt6 小时前
第十课时:中断优先级揭秘:抢占与嵌套的底层逻辑:
c语言·stm32·单片机·嵌入式硬件·github