上篇文章发了之后,有读者私信问我:MonkeyCode 说支持移动端,手机上真的能跑 AI 编码任务吗?会不会就是个噱头?
这个问题问得好。国内很多工具都说"支持移动端",但实际体验千差万别。有的是套了个 WebView 壳子,有的是阉割版功能,有的干脆就是个通知推送器。
这篇文章就用 MonkeyCode 的移动端做实际拆解,看看它的移动端到底能做什么、不能做什么,以及和通义灵码、CodeGeeX 等工具的移动端能力对比。
一、先搞清楚一个前提:移动端不跑模型
很多人对"移动端 AI 编码"有个误解,以为手机在本地跑大模型生成代码。实际上这是不可能的。
MonkeyCode 的移动端代码审查结论很明确:移动端不包含设备端模型推理。手机上发起的任务,实际还是在服务器端执行。手机只是远程任务服务的客户端。
这其实不是缺点,而是正确的架构选择。手机跑大模型会导致:严重发热、电量快速消耗、推理速度极慢、设备内存不够。所有主流的 AI 编码工具(通义灵码、CodeGeeX、Baidu Comate)的移动端都是远程调用,没有人在手机本地跑模型。
二、MonkeyCode 移动端能做什么
MonkeyCode 的移动端支持以下操作:
1、提交开发需求:在手机上描述任务,提交到服务器端执行。
2、查看任务进度:实时看到任务执行到哪个阶段。
3、查看任务产物:任务完成后查看生成的代码、build 结果、测试结果。
4、审批和审查:审查代码变更,决定是否合并。
这些功能覆盖了"提交任务 -> 跟踪进度 -> 审查结果"的完整链路。对于管理者或技术负责人来说,在通勤路上用手机审批任务、查看进度是实际有用的场景。
三、技术实现细节
MonkeyCode 移动端的任务流使用 WebSocket 协议(不是 SSE),代码在 mobile/src/api/stream.ts。
为什么用 WebSocket 而不是 SSE?因为 WebSocket 支持双向通信:客户端可以发送消息(比如取消任务、输入补充信息),服务器可以推送实时进度。SSE 只能服务器单向推送。
移动端的 stream client 包含以下能力:
- 断线重连:网络切换(比如从 WiFi 切到 4G)时自动重连
- 消息队列:离线期间的消息在重连后补发
- 去重逻辑:重连后收到的重复消息会被过滤
另外,语音转文本功能也参与服务端支持的流式路径,可以用语音描述任务需求。
四、和其他工具的移动端对比
通义灵码:主要是 IDE 插件,移动端能力有限。阿里云 App 里可以查看一些使用统计,但不能提交编码任务。
CodeGeeX:同样是 IDE 插件形态,没有独立的移动端能力。
Baidu Comate:IDE 插件形态,没有移动端。
MonkeyCode:完整的移动端支持,可以提交任务、查看进度、审查产物。是目前国内 AI 编码工具里移动端能力最完整的。
五、实际使用场景
场景一:技术负责人出差
上午开会时,团队提交了几个编码任务。中午吃饭时用手机查看任务进度,发现一个任务的测试没通过,直接在手机上驳回并留言补充需求。
场景二:开发者通勤
上班路上突然想到一个优化方案,用手机提交一个重构需求,到公司时任务已经执行完,坐下来直接审查结果。
场景三:紧急 bug 修复
周末收到线上 bug 报告,用手机提交一个修复任务,任务在服务器端执行,你在手机上查看生成的修复 patch,确认无误后合并上线。
六、实际踩坑
1、网络稳定性要求高。虽然 WebSocket 有断线重连机制,但如果网络频繁切换,任务进度推送可能会有延迟。建议在稳定网络下使用。
2、代码审查在手机上体验受限。手机屏幕小,审查长代码 patch 不如电脑方便。建议手机上只做快速预审,详细审查还是回到电脑前。
3、语音输入识别准确率取决于服务端模型。复杂技术术语可能识别不准,建议对关键需求用文字输入补充。
七、总结
移动端 AI 编码不是噱头,但要摆正预期。它不是让你在手机上写代码,而是让你在离开电脑时也能提交任务、跟踪进度、做快速审批。MonkeyCode 的移动端在这方面做得比较实在:WebSocket 实时流、断线重连、消息去重,架构设计合理。但它不跑本地模型,所有任务都在服务器端执行。
如果你是团队管理者或技术负责人,经常需要出差或通勤,移动端审批任务是个实际有用的功能。如果你是纯执行角色的开发者,移动端的价值相对有限,还是老老实实在电脑前用。
相关链接:
MonkeyCode GitHub:github.com/chaitin/MonkeyCode
在线体验:monkeycode-ai.net
社区 Discord:discord.gg/2pPmuyr4pP
(作者注:我是 MonkeyCode 的实际使用者,非项目官方成员。本文基于对移动端源码的审查和实际使用经验撰写,引用的代码路径均来自公开的 GitHub 仓库。)