资讯动态

手机远程使用 Codex CLI:SSH 连接与多模型切换实战

发布时间:2026/10/2 8:40:25 来源:尧图企业网站定制
最近折腾 Codex CLI 的时候总会遇到一个尴尬场景代码写到一半人已经不在电脑前但脑子里还在想下一条指令怎么给。等项目跑完回到工位发现输出结果早就出来了白白浪费了一段等待时间。后来把手边的旧手机翻出来直接通过 SSH 连回台式机操作 Codex发现体验其实挺顺畅的。这篇文章就把这套“手机远程用 Codex”的完整思路整理一遍包括电脑端配置、手机端连接、多模型互通以及几个高频坑的排查方法。内容覆盖三块核心需求一是让 Codex CLI 跑在电脑上手机只作为远程控制端二是通过 SSH 隧道转发或参数配置让手机与电脑之间的指令和输出保持稳定三是在同一个 Codex 环境中配置多个模型并自由切换。无论你是想远程跑通一个脚本还是想在通勤路上给开发任务收个尾这套方案都能直接参考。1. 背景与核心概念1.1 Codex 是什么为什么需要远程使用Codex 是 OpenAI 推出的智能编程命令行工具它以对话方式运行在终端中能够读取项目目录结构、分析代码上下文并直接执行命令或生成代码片段。你可以把它理解成一个跑在终端里的 AI 编程助手特别适合代码生成、文件修改、命令执行和项目级任务编排。但 Codex 默认运行在你启动它的那台机器上。如果你在公司电脑上启动就只能在公司电脑上操作出差或回家后想继续使用就得重新配置环境。远程使用的核心价值在于代码和运行环境都留在电脑端不需要在手机、平板上重复搭建开发环境。长耗时任务放在电脑端跑手机随时查看输出结果。一个模型配置、一套环境变量多个设备共享。1.2 远程控制的本质手机 SSH Codex手机远程使用 Codex并不是在手机里装 Codex而是通过 SSH 连接电脑终端然后在终端中启动 Codex。整个过程可以理解为电脑端安装 Codex CLI配置模型 API保持 SSH 服务可用。手机端安装 SSH 客户端如 Termius、JuiceSSH连接电脑。连接建立后手机上的终端窗口等同于电脑终端可以输入 Codex 指令并查看输出。这种方式的好处是轻量。手机只承担终端渲染和键盘输入计算与推理全部在电脑端完成。而且 SSH 自带加密比明文 Telnet 安全得多。1.3 多模型互通一套 Codex 环境对应多个模型Codex CLI 的模型配置支持通过环境变量、配置文件或--model参数指定。也就是说你可以在同一台电脑上配置 OpenAI 官方模型、第三方兼容模型或本地模型然后在运行 Codex 时自由切换。多模型互通的好处是不同任务选用不同模型例如代码生成用模型 A代码审查用模型 B。某个模型 API 临时不可用时切到备用模型继续工作。多个设备通过远程连接访问同一套模型配置不需要每台设备单独设置。后面我们会用一个完整的示例演示如何配置两个模型并在手机远程操作中切换。2. 环境准备与版本说明2.1 软硬件需求下面是本文示例所需的运行环境。版本需要根据你的项目实际情况调整这里以常见环境为例重点演示配置思路。端侧要求说明电脑端Windows 10/11、macOS、Linux 均可本文以 Windows 11 为例手机端Android / iOS需要 SSH 客户端 AppCodex CLI最新稳定版安装方式见下文Node.js18.0 以上Codex CLI 依赖 Node.js 运行SSH 服务电脑端开启 OpenSSH ServerWindows 可选功能网络电脑与手机处于同一局域网或电脑具备公网地址 / 内网穿透条件不在同一局域网时需要额外配置2.2 安装 Codex CLICodex CLI 可以通过 npm 安装。打开电脑终端执行npm install -g openai/codex安装完成后检查版本codex --version如果输出类似codex 0.x.x说明安装成功。如果提示找不到命令请检查 Node.js 是否已加入 PATH或重新打开终端窗口。2.3 配置模型 APICodex CLI 支持通过环境变量指定模型服务地址和 API Key。以 OpenAI 官方模型为例export OPENAI_API_KEYsk-你的密钥 export OPENAI_BASE_URLhttps://api.openai.com也可以创建~/.codex/config.toml配置文件持久化保存model gpt-5 api_key sk-你的密钥 base_url https://api.openai.com如果你使用了第三方兼容服务例如 DeepSeek、智谱或其他支持 OpenAI 协议的服务只需要修改base_url和model即可。2.4 开启电脑端 SSH 服务Windows 10/11 开启 OpenSSH Server 的方法是进入“设置” - “系统” - “可选功能” - 点击“添加可选功能”搜索“OpenSSH 服务器”并安装。安装完成后在“服务”中启动sshd并将启动类型设为“自动”。macOS 和 Linux 通常在“系统设置 - 共享”中开启“远程登录”或执行sudo systemctl enable --now sshd开启 SSH 后建议使用密钥登录而不是密码登录。我们会在下一节详细介绍。3. 核心原理与配置拆解3.1 SSH 连接的基本流程手机远程连接电脑的过程本质上是建立一个 SSH 会话。SSH 客户端与电脑端sshd服务握手后创建一个加密通道手机终端的所有输入输出都通过这个通道传输。在局域网内连接命令非常简单ssh 用户名电脑IP地址但这里的“用户名”是电脑上的系统用户名不是 Codex 或 OpenAI 的账号。电脑 IP 地址可以通过ipconfigWindows或ifconfigmacOS/Linux查看。3.2 端口转发让手机找到 Codex 的“入口”如果电脑和手机不在同一个局域网比如你在外面用 4G/5G 网络就需要让手机的 SSH 连接能到达电脑。常见方案有三种公网 IP 端口映射在路由器上把 22 端口映射到电脑内网 IP但需要公网 IP 且存在暴露风险。内网穿透工具通过 frp、Tailscale、ZeroTier 等工具组建虚拟局域网安全且无需公网 IP。第三方 SSH 中转服务部分 SSH 客户端内置中转功能但配置相对复杂。本文示例以同一局域网为准这样最简单、也最安全。如果你确实需要跨公网访问推荐使用 Tailscale 这类零配置组网工具不直接暴露端口。3.3 多模型配置的结构Codex 的模型配置最终都汇聚到config.toml中。一个支持两个模型的配置示例[profiles] [profiles.openai] model gpt-5 base_url https://api.openai.com api_key sk-openai-key [profiles.deepseek] model deepseek-reasoner base_url https://api.deepseek.com api_key sk-deepseek-key运行 Codex 时通过--profile参数选择不同配置codex --profile openai codex --profile deepseek这样同一台电脑上就有了两个模型入口。手机远程连接后在手机终端的 Codex 会话中随时切换。4. 完整实战手机远程使用 Codex下面进入完整实操。我们从电脑端配置开始一步步走到手机端操作。4.1 电脑端配置 SSH 密钥登录先为电脑创建一个 SSH 密钥对。在电脑终端执行ssh-keygen -t ed25519 -C mobile-access一路回车即可生成的默认路径是C:\Users\你的用户名\.ssh\id_ed25519。然后查看公钥type C:\Users\你的用户名\.ssh\id_ed25519.pub复制公钥内容写入电脑的authorized_keys文件中。Windows OpenSSH Server 的授权文件路径通常是C:\ProgramData\ssh\administrators_authorized_keys或者如果是普通用户路径为C:\Users\你的用户名\.ssh\authorized_keysmacOS / Linux 则是~/.ssh/authorized_keys写入公钥后重启 SSH 服务sudo systemctl restart sshd4.2 手机端连接电脑在手机上安装 TermiusiOS/Android 均支持选择 “New Host”填写电脑的局域网 IP、SSH 用户名然后在密钥管理中导入第 4.1 步生成的私钥。点击连接后手机会出现一个 Linux/Windows 终端界面。输入uname -a或者echo $HOSTNAME如果返回电脑的系统信息说明连接成功。4.3 在手机终端中启动 CodexSSH 连接成功后直接输入codex如果 Codex 已经在 PATH 中它会正常启动。手机终端会显示 Codex 的交互界面你可以输入中文或英文指令例如请帮我写一个 Python 脚本统计当前目录下所有 .txt 文件的行数电脑端 Codex 会读取当前目录结构生成并执行脚本。你会在手机终端看到完整输出。如果手机端提示找不到codex命令可能是因为 SSH 登录的是非登录 shellPATH 中没有包含 npm 全局目录。可以在手机终端先执行export PATH$PATH:$(npm prefix -g)/bin再运行codex。4.4 使用多模型切换在 Codex 会话中可以通过菜单或配置指定模型。假设你已经配置好了openai和deepseek两个 profile在手机终端中codex --profile deepseek此时 Codex 会使用 DeepSeek 模型。输入一条指令观察模型行为。如果想切回 OpenAIcodex --profile openai每次切换都会启动一个新的 Codex 会话之前的会话上下文不会保留。如果需要同时维护多个会话建议使用终端的多标签功能如 Termius 的多会话支持。4.5 在电脑端查看任务状态手机终端的输出与电脑终端基本同步。你可以在手机上发起一个长任务例如请执行 npm run build并将错误日志输出到 build.log然后锁屏。等任务完成后重新打开手机终端看到 Codex 已经停在新的输入提示符。build.log 的内容可以随时查看tail -n 50 build.log这里需要注意SSH 会话如果被手机端强制断开比如锁屏时间过长、网络切换正在执行的命令可能会被终止。为了避免这个问题可以使用tmux或screen保持会话。我们会在后面的最佳实践中详细说。5. 常见问题与排查思路远程使用 Codex 过程中最容易出问题的集中在几个环节。下面整理成表格方便对照排查。问题现象常见原因解决思路手机 SSH 连接时提示“远程计算机拒绝连接”电脑端 SSH 服务未启动或防火墙拦截 22 端口检查 sshd 服务状态确认防火墙放行 22连接后输入命令没有任何输出终端没有进入交互 shell或 PATH 错误执行ls、echo $PATH检查基本命令codex命令不存在npm 全局目录不在 SSH 的 PATH 中手动添加 PATH或使用绝对路径执行Codex 切换模型后没有变化配置文件中的 profile 名称拼写错误检查config.toml中的 profiles 区块锁屏后 SSH 会话中断手机端网络切换或被系统回收使用 tmux / screen 保持会话网络延迟导致输入卡顿SSH 会话交互受网络质量影响尝试更换网络或使用 Mosh 替代 SSH 客户端Codex 启动后无法连接模型 API电脑端防火墙限制出网或 API Key 无效检查环境变量OPENAI_API_KEY与OPENAI_BASE_URL5.1 远程计算机拒绝连接这是出现频率最高的报错。电脑端如果安装 OpenSSH Server但服务没有启动就会拒绝连接。排查步骤如下第一步在电脑本地打开终端测试 sshd 是否运行Get-Service sshd如果显示 Stopped执行Start-Service sshd第二步确认防火墙规则。以管理员身份运行New-NetFirewallRule -Name Allow SSH -DisplayName Allow SSH -Protocol TCP -LocalPort 22 -Action Allow第三步在电脑上从本机连接自己验证服务可用ssh 用户名localhost如果本地能连说明服务正常问题出在局域网或防火墙层面。此时检查手机和电脑是不是在同一个网段并尝试用电脑的 IP Ping 通。5.2 SSH 端口的 PATH 问题用 SSH 登录后环境变量未必和电脑本地登录时完全一致。特别是 Windows OpenSSH Server 默认不加载用户的环境变量导致 npm 全局目录中的codex命令无法执行。解法是在 SSH 会话中手动补充export PATH$PATH:$(npm prefix -g)/bin如果你用zsh或bash建议把这一行写入~/.bashrc或~/.zshrc这样每次登录自动生效。5.3 Codex 响应中断或超时当模型 API 响应较慢或者网络不稳定时Codex 可能长时间没有输出。这通常不是 Codex 本身卡住而是在等待 API 返回。排查步骤先轻量测试 API 连通性curl base_url看是否返回 200。确认 API Key 是否有效检查账户余额。确认配置文件中base_url是否带了多余的路径比如/v1不同服务的要求不同。如果长期在移动网络下使用建议任务尽量短小或者把长任务放到 tmux 中执行避免网络切换导致会话中断。6. 最佳实践与工程建议6.1 优先使用密钥认证而非密码SSH 暴露在网络环境中密码认证容易受到暴力破解攻击。建议电脑端开启密钥认证并关闭密码登录。具体做法是把 SSH 配置文件中的PasswordAuthentication设为no# /etc/ssh/sshd_config PasswordAuthentication no PubkeyAuthentication yes这样手机端连接时只验证密钥安全性显著提升。请妥善保管私钥不要放到公共网盘或聊天记录中。6.2 使用 tmux 保持任务不中断在手机远程使用 Codex 时最怕的是命令跑到一半网络断了。SSH 一旦断开前台运行的进程会收到终端关闭信号而退出。解决办法是在电脑端启动一个 tmux 会话tmux new -s codex-remote codex手机连接后先重新接入这个会话tmux attach -t codex-remote这样即使手机与电脑断开Codex 进程仍在 tmux 中运行。重新连接后再 attach就能看到完整输出。这是一个很实用的技巧强烈建议远程使用前先 tmux。6.3 配置文件管理不同模型的 API Key 不要直接明写在代码或随手创建的脚本中。Codex 支持从配置文件读取配置也支持从环境变量读取。更稳妥的做法是使用系统密钥管理器或.env文件并在.env中加入OPENAI_API_KEYsk-... DEEPSEEK_API_KEYsk-...然后通过加载环境变量供 Codex 使用。不要把 API Key 提交到代码仓库。6.4 网络与安全边界在服务器上开启远程访问时要严格限制访问来源。对于局域网用户通过防火墙只允许内网网段访问 22 端口不要暴露到公网。对于跨网络访问推荐使用 Tailscale 一类组网工具而不是在路由器上映射 22 端口。涉及公网访问时务必经过合法授权和风险评估遵循最小权限原则。6.5 多模型选择的适用场景不同模型适合不同任务OpenAI 官方模型在复杂代码生成、推理类任务上表现稳定。DeepSeek 类模型在中文理解、代码补全上也有不错效果且接口兼容 OpenAI 协议切换成本低。本地模型如 Ollama 启动的 Qwen、Llama延迟低适合离线环境或隐私要求较高的场景。建议在config.toml中维护清晰的 profile 名称别用model1、model2这种无意义命名。将来加模型时一眼就能看出每个 profile 对应什么服务。6.6 远程操作的排错清单最后整理一份远程使用 Codex 的排错清单供你在遇到问题时按顺序检查[ ] 电脑端 sshd 是否运行[ ] 电脑端防火墙是否放行 22 端口[ ] 手机与电脑是否在同一局域网IP 是否可达[ ] SSH 用户名是否正确[ ] 密钥是否已正确导入电脑的 authorized_keys[ ] SSH 登录后是否能执行ls、pwd[ ]codex --version能否输出版本号[ ] 启动 Codex 是否进入交互界面[ ] 运行指令后是否有 API 响应7. 总结与学习路线这套方案的实用之处在于电脑上只维护一套 Codex 环境手机通过 SSH 连入后即可操作。多模型配置通过config.toml的 profile 管理切换模型只是启动参数不同。局域网内配置起来非常简单适合日常开发跨网络场景则推荐用组网工具安全性和稳定性都更有保障。接下来可以继续尝试的方向包括在电脑端用 tmux 同时管理多个 Codex 任务、把手机终端换成更轻量的 SSH 方案、将模型切换封装成 Shell 快捷脚本。如果手上没有 OpenAI 官方 Key也可以先用 DeepSeek 等兼容接口跑通整个远程流程后续再慢慢扩容模型列表。整个配置链路打通之后你会发现“手机远程跑 Codex”并不是一个花哨操作而是真正能提高开发利用率的小基建。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑