2. 核心配置与工具解析(已在前面暗中铺垫)
躺床上用手机遥控AI写代码,听起来像个段子,但我是真把它当日常工具用了。这期是AI三分钟系列第3弹,前两期聊了提示词和AI工具选型,这期直接上一个全网比较少人细讲的玩法:手机不装IDE、不开远程桌面,只用SSH发给AI指令,让AI去读项目代码、改Bug、提PR,全程你只需要躺在被窝里动动手指。
先花30秒说清楚这套东西为什么成立:现在的AI编程工具已经不只是"补全几行代码",而是能独立完成"读文件—改代码—跑测试—提交"这一整条链路。那手机端的核心需求就只剩两件事——给AI下指令、查看AI的产出。SSH恰好是满足这两个需求的最轻路径,不需要在手机上跑什么重型环境,也不需要把项目搬到云端。
这个思路适合谁?适合手里有个人项目、经常有"突然来了灵感/用户报了个Bug"但人不在电脑前的人;也适合想尝试AI编程但不想被IDE绑死的朋友。看完这篇,你能搭出一套自己的"被窝编程"环境,并且知道哪些坑我已经帮你踩过了。
1. 这套方案的整体设计:手机为什么适合当“遥控器”
1.1 不是远程桌面,而是“AI替你写代码”
很多人一听"手机控制电脑编程",第一反应是装个TeamViewer或向日葵,然后远程操控电脑屏幕。我一开始也是这么干的,实际用下来问题很大:手机屏幕太小,鼠标选不中、快捷键按不了,看代码更是眼睛受罪;网络稍微不稳定,整个画面糊成一团。这不是"用手机编程",这是"用手机受刑"。
换个思路就顺了。既然AI编程工具能自己读文件、自己改代码,那手机的角色就不是"屏幕",而是"大脑和嘴"。你只负责描述需求,比如"把订单模块的分页参数校验加上",然后AI在电脑上自动完成剩下的活。手机屏幕上只需要显示AI输出的修改方案和最终diff,这些恰好是纯文本,SSH终端完全能胜任。
所以这套方案的架构很干净:
- 电脑端:跑SSH服务 + 一个AI编程CLI工具(我常用aider)
- 手机端:装一个SSH客户端App(推荐Termius)
- 连接方式:手机通过SSH连到电脑的终端会话,在终端里启动aider,然后用自然语言和AI对话
这个设计的好处是,手机端不依赖图形界面,弱网环境下也能聊天式操作,哪怕网络只有一格的Wi-Fi也足够。而且电脑端AI工具是整个流程的"执行者",项目的编译、测试、Git操作都在电脑本地完成,手机上只传递文本指令和结果。
1.2 整套方案的核心组件与选型逻辑
搭建这套环境,需要四样东西,缺一不可:
- 一台能跑开发环境的电脑(Windows、macOS、Linux都行,关键是别让它随便休眠)
- 电脑上安装并启动SSH服务(系统自带,打开就行)
- 一个AI编程命令行工具(我用的是aider,支持多种大模型API)
- 手机上的SSH客户端(Termius免费版够用,iOS和Android都有)
选型逻辑我简单说下:为什么选SSH而不是其他方案?因为SSH是最通用的远程控制协议,手机端App成熟、稳定,而且只传输字符数据,对带宽的要求几乎可以忽略。相比之下,云IDE方案遇到国内网络环境容易不稳定,而且很多场景下项目根本不在云上;远程桌面方案则天生不适合小屏操作。所以,SSH + AI CLI是"手机遥控编程"里性价比最高的组合,没有之一。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 为什么我不推荐其他四种方案
2.1 云IDE、远程桌面、手机IDE、语音助手的优缺点对比
为了让你少走弯路,我把试过的几条路线放在一起对比:
我知道你可能想喷:直接用GitHub Codespaces或是任意云IDE不香吗?浏览器一开,随时随地写代码。这个方案的问题在于,第一,很多云IDE在国内访问不够顺畅,操作延迟有时候能让你怀疑人生;第二,你的项目如果是跑在本地电脑上的(数据库、私钥、大数据集都在本地),迁到云上很麻烦。远程桌面的问题前面说了,卡顿和屏幕适配是硬伤。手机IDE(比如Termux里跑vim)看起来极客,但让AI编程工具在手机上跑,性能和内存都不够看,而且代码项目往往不在手机里。
还有一个大家可能想过的路线:语音助手(比如对Siri喊"帮我写个Python脚本")。这个目前还太玩具,顶多生成几行模板代码,真让它改一个1000行的项目,基本没戏。所以,最终我锁定了SSH + AI CLI,核心原因就一个:AI工具在功能完整的电脑上运行,手机的通信成本又足够低,二者组合出的体验远远超过任何"手机全能"方案。
2.2 这套方案解决的真实痛点:从“灵感丢失”到“打车回家”
你可能觉得"被窝里写代码"是个伪需求,但真实情况是,程序员的一天里有很多碎片时间:通勤路上、排队等位、晚上躺床上刷手机。以前这些时间想碰代码几乎不可能,因为打开电脑要2分钟,连上环境要3分钟,等你想清楚要改什么,灵感已经跑光了。有了这套方案,我可以在等地铁的3分钟里,让AI先做一个代码审查,或者在睡觉前把第二天要重构的模块让AI先拆出方案。
还有一个更实际的场景:人不在电脑前,但生产环境出了Bug。以前必须"打车回家开电脑"或者用手机远程桌面登服务器,那叫一个痛苦。现在我可以直接在手机上下达"登录服务器查一下日志,把报错发给我"的指令,虽然不如人在跟前那么精细,但至少能定位到问题,拖延时间。这套方案显然不是万能的,但它在很多"手边没有电脑"的紧急场景里,足够解决问题。
3. 实操:从零搭一套“被窝AI编程”环境
3.1 电脑端准备:开启SSH并安装aider
第一步,先把电脑的SSH服务打开。
- Windows:打开"设置" -> "系统" -> "可选功能",添加"OpenSSH 服务器",然后启动服务(可以用命令
Start-Service sshd) - macOS:打开"系统设置" -> "通用" -> "共享",勾选"远程登录",即可允许SSH连接
- Linux(Ubuntu/Debian):执行
sudo apt install openssh-server并启动sudo systemctl start ssh
这里有个比较重要的细节:如果你的电脑会在晚上自动休眠,SSH连接就直接断了。我踩过这个坑,后来在电脑上设置了"插电时永不睡眠",并根据需求开启了局域网唤醒(Wake on LAN),这样在外面也能随时通过网络唤醒电脑。
第二步,安装aider。它是一个开源的AI编程命令行工具,最大的特点是可以接入各种大模型API。安装命令很简单:
bash复制python -m pip install aider-chat
装完后,需要配置API Key。aider支持很多模型,包括Anthropic、OpenAI,以及一些国内容易访问的兼容API。我建议把API Key配置在环境变量里,而不是直接写在命令行中,否则会留在Shell历史记录里,存在泄露风险。具体做法是:
bash复制export AIDER_MODEL="deepseek/deepseek-chat"
export AIDER_OPENAI_API_KEY="你的API Key"
这时在项目目录里运行 aider,它会自动读取项目结构,进入一个交互式聊天界面。你在里面用中文或英文告诉它要改什么,它就会自动编辑代码,并在提交前跟你确认diff。这个工具的好处是,不需要写复杂的提示词,像跟同事说话一样描述需求就行。
3.2 手机端准备:用Termius实现SSH连接
手机端推荐Termius,免费版支持保存主机信息、使用密钥登录,足够日常使用。安装后,新建一个Host,填入电脑的IP地址(同一局域网下填内网IP,比如192.168.1.10;如果不在同一网段,需要配合内网穿透方案,这次先不展开),用户名填电脑的登录账号,端口默认22。
这里强烈建议配置SSH密钥而不是密码登录。原因是手机输入长密码太痛苦,而且每次连接都要输。配置密钥后,手机和电脑之间可以做到"一键连接"。具体做法:在电脑上生成一对密钥(ssh-keygen -t ed25519),把公钥加到 ~/.ssh/authorized_keys 里,然后把私钥文件通过Wi-Fi或数据线传到手机,在Termius里导入即可。全程不需要在手机上敲密码。
另外一个实际操作心得:Termius的界面里,建议把字体调大、启用横屏锁定,这样在手机上看AI输出的代码diff会舒服很多。还有一个容易被忽略的点——Termius免费版虽然支持保存多台主机,但"端口转发"功能是收费的,如果以后需要手机通过SSH访问电脑的本地服务(比如调试网页),可能要考虑订阅或换用其他免费App。
3.3 第一次实操:躺在被窝里让AI修一个Bug
环境就绪,终于到这一步了。我拿前几天实际修的一个Bug举例。
当时我的项目是一个用Flask写的待办事项API,用户反馈"新增待办偶尔返回500错误"。正常情况下我要开电脑、跑日志、查代码,但那天我正窝在被子里,手机就在手边。
操作流程是这样的:
- 打开Termius,点击保存好的主机,1秒连上
- 在终端里输入
cd ~/projects/todo-api再输入aider进入AI编程界面 - 输入指令:
text复制新增待办事项时偶尔会返回500错误,帮我排查一下可能的原因,并修复它。先看一下路由和数据库连接的代码。
- AI先分析了路由代码,发现数据库连接没有使用上下文管理器,在并发请求时连接不会被正确关闭,导致连接池耗尽。它给出的建议是改用
with语句;然后等我确认后,自动修改了代码,并运行了测试 - 我输入
y接受修改,AI用Git提交了变更
整个过程大约5分钟,我除了打字和点击确认,没有碰过电脑。这个体验在几个月前还很难想象。当然,AI并不是每次都能一次改对,如果它给出的修改方案有问题,我会描述具体的报错信息让它重新修,这个交互过程和坐在电脑前没有差别。
4. 常见问题与排查技巧实录
4.1 SSH连接不上的几类典型原因
这套环境搭好之后,最大的不稳定点其实不是AI,而是SSH连接。我整理了一份排查表,直接对照着看就行:
遇到"连接超时"是最频繁的,大概率是电脑休眠了。所以建议在电脑上设置插电时永不休眠,或者开启Wake on LAN。另外一个容易忽略的点是:手机和电脑必须在一个局域网下(如果都是内网IP)。如果你人在外面,手机走的是4G/5G流量,裸SSH是连不上的,需要配合内网穿透工具,比如frp或自建跳板机,这类话题展开讲又是一篇长文,建议先把局域网场景跑通再扩展。
最后提醒一句,Windows的防火墙会默认拦截SSH端口,第一次连接失败时,先检查防火墙是否放行了22端口,这一步能省下不少排查时间。
4.2 AI工具在手机终端里输出的问题
用手机终端跑AI编程工具,最影响体验的就是"输出太长"。
AI有时会一次性输出几百行代码或者一段长分析,手机屏幕上翻页会非常痛苦。我的做法有三个:
- 在启动aider时,给它设置一个System Prompt,比如"每次回答控制在150字以内,先给方案再改代码"
- 如果AI输出太长,直接输入
/compact让它压缩上下文,重新开始对话 - 在命令前加
< /dev/null避免AI等待额外输入,然后让它在后台执行,完成后通知你
aider默认安装后会托管电脑上的大模型,通过官方API调用,正常情况下稳定性没问题,但如果你用一些免费API或自建模型网关,偶尔会出现"连接超时"或"上游返回异常",遇到这类报错,可以先检查环境变量里的API Key是不是过期了,或者换一个模型接口试试。
4.3 手机打字效率低怎么办
手机键盘在终端里敲长描述确实费劲,我的解决方案是"模板化"。
在手机备忘录里存几个常用指令模板,比如:
- "请分析当前项目结构,列出你建议修改的模块,先不要改代码"
- "修复我在下面描述的问题:[问题描述],改完后运行测试并贴出测试结果"
- "用git比较当前分支和main分支的差异,总结出所有改动点"
用的时候,打开Termius的快捷短语功能(免费版有这个功能),把模板粘贴进去,改几个字就行。另外,iOS和Android的语音输入在终端里也挺好用,我试过用系统自带的语音转文字描述Bug,识别率还不错,尤其是外语模型名称和代码里的英文单词。当然,如果你想追求效率,手机配一个折叠蓝牙键盘,体验会再上一个台阶。
5. 这个玩法的边界和后续扩展
这套"手机SSH + AI编程"的方案,用了一个多月,日常使用频率很高,但也有明显的边界。比如,你要是在手机上让AI改一个涉及图形界面、需要实时预览的项目,就很不方便——终端里看不到界面,只能靠AI的推断和测试结果。再比如,AI托管模型如果接到限速严格的API,生成的响应时间会比较长,手机端会一直转圈,急性子慎用。
后续我准备尝试两个扩展:第一个是用手机连接家里的Windows电脑,配合夜间定时任务,让AI在我睡觉前自动处理当天提交的issue;第二个是做一套Shell脚本,把AI的修复结果自动整理成日报推送到手机,这样早上醒来只需要看播报,不用逐条翻终端记录。
如果你也经常面临"人不在电脑前但代码在电脑上"的困境,这套方案值得试一下。个人体会是,"手机控制AI编程"真正的意义不是效率提升,而是把写代码这件事从"必须坐在电脑前"的束缚中解放出来。当然,这并不代表AI能完全取代人在电脑前的思考,但至少在灵感来临时,你不会再因为"懒得开电脑"而把想法憋回去了。
