最近在通勤路上用安卓手机修好了一个生产环境的正则表达式Bug工具链是Termux Codex CLI cc-switch全程没开电脑。放在两年前我根本不敢想——那时候Claude Code和Cursor这类AI编程Agent基本都绑死在桌面端而今天这篇我就分享怎么在安卓手机上把CCClaude Code、Codex和Cursor的实用性拉到最高以及这一路上值得记录的环境搭建、踩坑和取舍。先说结论手机跑Agent不是伪需求它真正解决了“电脑不在身边但活儿不能停”的痛点。下面所有操作我都实测过命令和配置可以直接抄。1. 想清楚再动手手机跑Agent到底能干什么1.1 不是装酷这些场景真的需要移动端Agent很多朋友一听到“安卓手机跑Agent”就觉得是在折腾但我的实际体会是程序员的时间并不总发生在电脑前。通勤、排队、差旅、陪家人这些碎片时间过去只能刷新闻现在可以让一个AI编程Agent替你先干活。比如让Claude Code检查某个Python脚本的编码问题或者让Codex自动补一批单元测试这些任务的算力消耗不大但能节省大量“回到电脑前再说”的等待。另一个高频场景是远程管理。我在云端保留了几个开发容器手机Termux通过SSH连上去让Agent执行代码审查、依赖升级、日志分析和自动化测试。手机屏幕和键盘确实小但Agent的输出是流式文本阅读起来没有障碍。更关键的是Agent可以代替我敲大量命令手机输入短板被AI天然缓解了。1.2 三条路线怎么选原生Termux、Proot容器、远程桌面选型之前先理清差别我用一张表总结了市面上几种主流方案方案优点缺点最适合Termux原生环境启动快、省电、包管理器方便部分Linux系统组件缺失运行CLI型AgentCodex、Claude CodeTermux Proot可安装完整Linux发行版兼容性更好模拟层有性能损耗占用存储需要完整Linux包且不想带电脑安卓虚拟机能在平板上运行完整桌面IDE资源开销大、发热严重、操作别扭偶尔体验桌面软件远程桌面完整体验Cursor等图形IDE需要有一台常开电脑或云主机需要图形界面且不介意延迟我的选择策略是优先用原生Termux跑Agent遇到必须完整Linux内核的场景就切Proot碰到需要图形IDE远程操作时直接远程桌面。这套组合能覆盖90%的需求而且不会把手机变成暖手宝。2. 环境搭建让 Termux 变成 Agent 驾驶舱2.1 基础安装和权限配置Termux的生命线是包管理器。请务必从F-Droid官网下载最新的Termux安装包不要用应用商店里的旧版本。安装完成后执行pkg update pkg upgrade -y pkg install nodejs-lts git python openssh termux-api -y接着授权存储访问termux-setup-storage这里解释一下每个包的作用nodejs-lts是Codex CLI和Claude Code的运行时环境git用来操作代码仓库python负责运行被Agent控制的脚本openssh用于远程连接或本机SSH服务termux-api则提供手机传感器和系统交互能力。存储权限必须开否则Agent只能访问Termux的私有数据目录访问不到你手机里的项目文件。最后启动唤醒锁termux-wake-lock这一行是保证Agent长时间运行时屏幕锁定后进程不被系统杀掉的第一个关键动作。2.2 安装Codex CLI并让它接入不同模型Codex CLI是OpenAI出的编程Agent命令行工具安装命令很直接npm install -g openai/codex第一次运行codex会生成配置文件~/.codex/config.toml默认连接OpenAI官方服务。但如果你想把它接到DeepSeek或其他兼容接口改配置文件就行。我自己目前更常用DeepSeek做日常任务响应速度和成本都更友好。配置方法如下[model_providers.deepseek] name deepseek base_url https://api.deepseek.com env_key DEEPSEEK_API_KEY然后在配置里选择模型model deepseek-chat model_provider deepseek这就是热词里“codex接入deepseek”的正确姿势。设置好环境变量DEEPSEEK_API_KEY之后执行codex 查看当前目录代码并写一份测试计划就能工作。Codex CLI的交互界面是TUI手机上用起来不算难受但最好配合折叠键盘或外接蓝牙键盘。2.3 cc-switch解决“多个Agent多套配置”的痛点如果你同时使用Codex、Claude Code甚至本地跑的一些AI脚本会发现每个工具都有自己的配置文件、密钥、模型参数来回切换极其繁琐。cc-switch就是来解决这个的它把多种AI客户端的API配置集中管理并提供一个本地转发网关让不同工具统一指向这个网关再按当前选择把请求转给对应后端供应商。安装cc-switch我推荐去它的GitHub Releases页面下载对应手机架构的二进制或者看项目文档选择Node版本安装。启动之后它会在本地监听一个端口比如12121。然后在Codex或Claude Code的配置里把base_url指向http://127.0.0.1:12121/对应的前缀。切换模型供应商时只需要在cc-switch的控制台操作不用再改客户端配置文件。有个容易被忽略的点cc-switch不是神仙工具它会把请求原样转发。如果你的某个供应商接口路径和Codex标准不兼容这个转发层也会报错。这个坑后面第4章会详细说先记住。2.4 密钥安全与多环境变量管理手机是很容易丢失的设备密钥管理比在PC上更值得认真对待。我强烈建议所有API Key统一放在Termux的~/.bashrc或~/.profile里而不是直接写进Agent的对话历史。例如export OPENAI_API_KEYsk-xxx export ANTHROPIC_API_KEYsk-xxx export DEEPSEEK_API_KEYsk-xxx然后让cc-switch从这些环境变量里读取对应供应商的Key。这样有三点好处一是不同工具共享一套密钥配置改一处就全局生效二是密钥不会出现在Agent和模型的对话上下文中降低泄露风险三是换手机时只要备份这几个文件迁移成本极低。3. 实操落地手机上用CC、Codex和Cursor的正确姿势3.1 把Claude CodeCC跑起来在Termux终端执行npm install -g anthropic-ai/claude-code export ANTHROPIC_API_KEY你的密钥然后输入claudeClaude Code就会进入交互式Agent会话。给你看一个我实际跑过的例子项目目录下有个Python脚本打开是乱码。我对Claude Code说修复当前目录下所有Python脚本的编码问题统一转换成UTF-8然后运行pytest确认通过。Claude Code会先列出文件修改编码头执行测试把失败结果抓回来迭代修复。整个过程在手机屏幕上就能看到。第一次跑的时候我最大的感慨是它真的在Termux里使用我的环境变量、文件权限和git身份和桌面端没有本质区别。注意几个细节Claude Code需要Node.js 18版本Termux默认的bash缺少某些交互能力建议执行pkg install zsh或者在保持默认终端时注意处理编码如果脚本需要执行权限Termux不会自动给你加chmod x这些都要在提示词里要求Agent自己检查。3.2 想在手机上用Cursor两条可行路径先说结论Cursor目前没有官方安卓版网上流传的“安卓版Cursor安装包”大都是套壳或割韭菜不建议安装。但这不代表你不能在手机上体验Cursor级别的AI编程能力。路径一是远程桌面。在常开的电脑或云主机上安装RustDesk或ToDesk然后用手机客户端连接。这台机器上正常安装Cursor登录自己的账号和插件。手机屏幕上会出现完整的IDE界面你可以用触控板模式模拟鼠标也可以外接蓝牙键盘。好处是体验原汁原味坏处是延迟和流量消耗。路径二是“AI IDE重构”。在Termux或Proot里安装code-serverVS Code的网页版再安装Continue这类AI插件。这样访问手机本地端口就能在浏览器里得到一个带AI聊天、代码补全的编辑器。虽然它不叫Cursor但Agent体验的核心——让AI理解项目、改写代码、执行命令——已经完整覆盖。我个人更喜欢路径二尤其配合云主机时相当于随身带了一个“伪Cursor”。3.3 中文化设置和终端体验优化这里分享三个非常实用的小点。第一远程桌面里的Cursor设置中文打开命令面板手机端模拟快捷键CtrlShiftP或通过菜单进入输入“Configure Display Language”选择中文。如果没有中文条目先到扩展市场搜索“Chinese Language Pack”安装重启即可。第二Codex CLI和Claude Code虽然没有中文界面但你可以直接要求它们用中文回复。比如在会话中说“请全程使用中文包括变量命名建议和注释”比改任何语言配置都有效。如果遇到中文显示乱码先检查有没有中文字体pkg install which fontconfig fc-list :langzh如果没有中文字体安装fonts-noto或在Termux设置里切换Nerd Fonts字体。顺便把编码强制为UTF-8能解决大部分终端显示问题。4. 踩坑实录常见问题与排查速查表4.1 cc-switch 本地转发失败Codex 请求中断这是cc-switch用户最常遇到的问题症状是Codex发出请求后终端报出类似“local转发失败 while handling codex endpoint /responses”的错。注意这里的“local转发失败”指的就是本地转发网关没能把请求正确送到后端。我从日志里总结出三个高频原因第一cc-switch里选中的后端供应商地址写错比如漏了https://协议头第二API Key过期或没有权限网关透传后被对方拒收第三本地端口被其他应用占用Codex的请求根本没送到cc-switch。排查方法很朴素# 检查监听端口 ss -tlnp | grep 12121 # 手动模拟一次请求看后端是否返回200 curl -i http://127.0.0.1:12121/codex/responses如果curl返回401说明密钥或认证头有问题回cc-switch控制台重新选择供应商并更新Key如果连接失败检查后端地址和网络联通性。我印象最深的一次故障就是用了过期的DeepSeek Key日志里清清楚楚写着401换掉Key秒好。4.2 401 Unauthorized风暴不管是Codex还是Claude Code频繁出现401本质上都是认证没过。在Termux环境下有几个容易踩的情况环境变量没有应用到当前Shell比如你在一个终端窗口里export了Key但Agent是在另开的会话里运行的cc-switch没有透传自定义认证头以及你配置了多个Key但实际用的是旧的那个。我建议统一在~/.bashrc里加载Key并且让cc-switch的配置使用同一个环境变量名。测试密钥有效性时不要依赖Agent日志直接手动请求curl -i https://api.deepseek.com/models -H Authorization: Bearer $DEEPSEEK_API_KEYKey有效再回头检查转发层能省下大量排查时间。4.3 安卓系统杀后台Agent任务消失这是手机跑Agent最影响体验的问题。即使设置了termux-wake-lock如果系统开启了激进省电模式Termux进程依然可能被后台清理。解决办法分三步。第一在系统设置里把Termux加入“不受电池优化限制”的应用白名单。不同品牌设置入口不同可以在系统设置搜索“电池优化”找到对应项。第二在最近任务列表里给Termux卡片下拉锁定。第三打开Termux的通知栏常驻服务让系统识别为前台应用。我实测过这三步做完一个需要跑十分钟的Agent任务基本能稳定执行完。如果仍然被中断说明手机系统限制太激进这个时候把重任务丢到云主机上手机Termux只做SSH客户端让Agent在云端跑手机只看日志是最务实的解法。4.4 虚拟机或Proot连不上网有人问“安卓虚拟机怎么联网”这里分两种情况说。如果你用的是Termux Proot容器默认共享宿主机网络不需要额外设置但偶尔需要手动配置DNSecho nameserver 8.8.8.8 /etc/resolv.conf如果你用的是安卓虚拟机类应用关键在网络模式选择。选择“NAT”通常就能正常上网需要和宿主机局域网互访时则选“桥接模式”。需要提醒的是不要在Proot里折腾systemd网络管理Termux的Proot不是完整内核跑不起来很正常。用curl和ping这类命令行工具排查网络就够了。4.5 Agent 在 Termux 中意外终止有时你会在终端里看到agent execution terminated due to error。这个错误信息很大但本质不外乎几类原因一是内存不足Termux默认有内存上限Agent处理超大仓库时容易崩。解决方法是减少同时加载的文件数量或者分阶段让Agent处理。二是命令执行权限问题Termux的非root环境限制了很多系统调用遇到权限类错误要么切换Proot以获得更完整的环境要么在提示词里明确要求Agent使用用户目录下的工具链。三是API超时如果你的网络到后端供应商延迟太大模型会在长时间等待后中断响应此时可以调大Codex或Claude Code的超时时间配置。我自己用得比较顺手的一个习惯是给Agent设定“心跳文件”。让Agent每完成一个步骤就在Git仓库或临时目录的某个标记文件里写入时间戳。这样即使手机锁屏导致任务中断我回来也能通过时间戳判断它是在哪个阶段挂掉的避免从头再来。这个小习惯帮我节省了不知道多少排查时间。5. 经验小结手机跑Agent的边界与更多玩法用了几个月的移动端Agent我的核心感受是这不是为了“替代电脑”而是为了“抢占碎片时间”。手机的性能和屏幕决定了它不适合做大规模架构重构但非常适合做AI能自动完成的细碎任务——改Bug、写测试、整理代码、提交PR、看日志。只要网络稳定Agent的实时反馈就能让手机变成一块高效的任务面板。几个很实用的扩展方向供你参考把Termux命令接入Tasker设定定时触发。比如每天早上8点让Claude Code自动更新某个项目的依赖并运行测试再把结果推送到钉钉或微信机器人。这样手机直接变成一个无人值守的自动化工作节点。如果你正在做Agent开发可以把手机当成一个轻量级Agent运行时。很多Agent框架支持在移动端运行轻量化智能体配合cc-switch统一管理接口能省下大量配置成本。最后外接一个蓝牙键盘。Termux的快捷键体系完整之后输入效率会提升非常多。我已经用这套组合在高铁上完成过两次小型线上修复体验出乎意料地稳定。
企业数字化 ERP 产品动态
相关推荐
光学设计与仿真入门:从Zemax到FDTD的完整技术路径与工程实践 光学设计和仿真在最近几年已经成为这个行业里最热门的交叉方向之一。标题用了“祝贺”两个字,我理解的意思是:能在硕博士阶段就看清楚并切入这个赛道的年轻人,算是踩中了一个不错的节点。这篇文章不吹概念、不画饼,重点讲三件实在… · 2026/11/4 13:29:24
无人机机载AI部署实战:从模型压缩到实时推理的完整链路 十四讲讲到这里,飞机已经能稳定起飞、能悬停、能在地面站里看到状态数据了,不少朋友开始追问同一个问题:什么时候让飞机自己看东西,自己躲障碍,自己判断目标?这一讲就专门聊这件事——机载AI部署࿰… · 2026/11/4 13:28:23
Selenium浏览器驱动自动化管理实践指南 1. 为什么我们需要自动化管理浏览器驱动? 作为一名长期使用Selenium进行自动化测试的开发者,我深刻理解浏览器驱动管理带来的痛苦。每次Chrome自动更新后,测试脚本突然无法运行,控制台抛出"SessionNotCreatedException"… · 2026/11/4 13:28:23
带外管理网建设指南:选型、布线、配置与隔离验证 1. 为什么要把管理口单独拉一张网很多机房里都存在这样的场景:机柜里十几台设备堆着,业务网段跑得好好的,某天核心设备配置出错断了网,人只能抱着笔记本冲到机房,插上串口线慢慢敲命令。或者更尴尬的是,业务… · 2026/11/4 14:56:32
小米MiMo-V2.6开源双版本实测:Pro与Flash选型、部署与调优指南 1. 这次开源到底放了什么料小米把 MiMo-V2.6 系列直接开源了,而且一上来就是 Pro 和 Flash 两个版本,API 价格跟前代持平。这个消息在开发者圈子里传开的时候,我第一反应是去翻它的模型卡和定价页,因为"开源双版本价格不变&q… · 2026/11/4 14:56:32
半导体设备SEMI S2认证全解析:EHS风险评估、安全联锁与进场整改 设备从装配车间打包发运,到了客户厂房门口却被拦下来,这种事在半导体设备行业里并不罕见。拦人的往往不是技术参数不达标,也不是交期延误,而是一份文件——客户EHS部门在设备进场审批表上等着的那份第三方安全评估报告。围绕这份报… · 2026/11/4 14:56:32
HammerDB压测结果解读:TPM、tpmC与仓库数指南 数据库选型评审会上,最容易被问住的一句话不是"你们选了哪个库",而是"你们那个 HammerDB 的测试报告,TPM 到底怎么算出来的"。我见过太多团队把压测跑完、截图一贴,数字很漂亮,可一旦被追问仓库数… · 2026/11/4 14:56:32
Docker数据卷核心概念与实战技巧详解 1. Docker数据卷核心概念解析 Docker数据卷是容器化环境中数据管理的基石。作为一名长期奋战在一线的运维工程师,我见过太多因为数据卷使用不当导致的生产事故。数据卷本质上是一个绕过容器Union File System的特殊目录,直接挂载到宿主机文件系统上。这种… · 2026/11/4 14:56:32
GEO优化技术在三维九项体系认证中的应用与实践 1. 项目背景与行业现状三维九项体系认证作为企业质量管理领域的重要评估标准,正在经历从传统人工审核向智能化评估的转型期。2023年行业白皮书显示,采用地理优化(GEO)技术的认证机构,其评估效率平均提升47%,… · 2026/11/4 14:55:31
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
从生成Token到直接决策:Jev如何重塑AI Agent工程实践 1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17
32G统一内存跑大模型:内存账、TPS实测与端云分流 想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38