
1. 为什么要在 Android 手机上跑 OpenClawOpenClaw 是一个可自托管的 AI 助理框架支持对话、文件管理、系统监控、网页自动化、知识库问答等能力适合想在自己设备上搭建私人助理的开发者。而 Termux 是 Android 上的终端模拟器它提供了一套接近完整 Linux 的用户空间包含 pkg 包管理器、Python、Node.js、Git、编译工具链不需要 root也不改动系统分区。把这两者组合起来你手里那台常年吃灰的旧手机就能变成一个随身携带、电池供电、带 GPS 和麦克风的 AI 助理节点。适合谁手上有闲置 Android 手机或平板的人需要移动办公、现场查询、临时计算的人想低成本体验自托管 AI 助理的学生和技术爱好者。不适合谁指望它替代服务器跑高并发推理的人手机端更适合做轻量任务和入口层。这篇内容聚焦一件事在 Termux 里把 OpenClaw 跑起来并接入 TaoToken 的统一 Key/API 通道让模型调用走一个稳定的入口而不是在配置文件里到处散落不同厂商的地址和密钥。下面所有命令都可以直接复制到 Termux 里执行配置文件骨架也给了完整字段。2. TaoToken 前置准备拿到统一 Key 与 API 地址TaoToken 在这里扮演的角色是「统一模型调用入口」。你不需要在 OpenClaw 里为每个模型厂商写一套 base_url 和 key而是把请求指向同一个 API 地址用同一个 Key 去调用不同模型。对移动端来说这点很关键手机上的配置文件越简单出错概率越低。你需要准备两样东西第一API Key。登录控制台后在 API Keys 页面创建形如sk-开头的一串字符。创建后立刻复制保存页面刷新后通常不再完整显示。第二API 地址。OpenClaw 的模型配置里填https://taotoken.net/api注意这个地址不带任何查询参数直接作为 base_url 使用。相关入口按用途分开注册与总览https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content创建和管理 Keyhttps://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi-keys控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentconsole接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc注意Key 只存在手机本地配置文件里不要提交到 Git 仓库也不要在截图里露出完整字符串。Termux 的 home 目录默认在应用私有空间其他应用无法直接读取这一点比放在共享存储里安全。如果你打算长期在手机上跑编码类或 Agent 类任务可以顺带了解 Coding Plan它更适合持续性的代码生成场景https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding-plan3. Termux 环境搭建与 OpenClaw 可复制配置3.1 安装 Termux 与基础依赖从 F-Droid 或 Termux 官方 GitHub Release 下载 APK 安装不要用来路不明的第三方包。首次启动等待初始化完成后依次执行pkg update pkg upgrade -y pkg install -y git python nodejs-lts redis curl wget vim openssl libffi build-essential termux-setup-storagetermux-setup-storage会弹出存储权限请求允许后 Termux 才能访问/sdcard。接着验证关键组件python --version node --version redis-server --versionPython 建议 3.10 以上Node.js 建议 18 以上。如果nodejs-lts装不上退回pkg install nodejs。3.2 拉取 OpenClaw 并装依赖mkdir -p ~/projects cd ~/projects git clone https://github.com/openclaw/openclaw.git cd openclaw python -m venv venv source venv/bin/activate pip install --upgrade pip pip install -r requirements.txt如果requirements.txt里有需要编译的包在 ARM64 上失败先补pkg install -y clang rust再重试。前端部分cd web npm install npm run build cd ..3.3 配置文件骨架含 TaoToken 接入字段mkdir -p config data logs cp config/config.example.yaml config/config.yaml vim config/config.yaml把ai段替换成下面这样重点是base_url和api_key两个字段server: host: 127.0.0.1 port: 8080 debug: false database: type: sqlite path: ./data/openclaw.db redis: host: localhost port: 6379 db: 0 ai: provider: openai-compatible base_url: https://taotoken.net/api api_key: sk-你的TaoToken密钥 model: claude-sonnet-4-5 max_tokens: 2048 temperature: 0.7 timeout: 60 performance: max_workers: 2 queue_size: 50 cache_ttl: 300 power_mode: balanced security: api_key: 本地访问口令自定义 allowed_hosts: - 127.0.0.1 - localhost logging: level: INFO file: ./logs/openclaw.log max_size: 10MB backup_count: 3provider写openai-compatible是因为 TaoToken 的接口形态与 OpenAI 兼容OpenClaw 会按这个协议拼/v1/chat/completions之类的路径。model字段填你想用的模型名切换模型只改这一行不用动 Key 和地址。提示server.host保持127.0.0.1只在手机本机访问最安全。确实需要局域网访问时再改成0.0.0.0同时把security.api_key设复杂一点。3.4 启动 Redis 与 OpenClawmkdir -p ~/redis/data redis-server --daemonize yes --dir ~/redis/data redis-cli ping返回PONG说明 Redis 正常。然后启动主程序cd ~/projects/openclaw source venv/bin/activate python main.py3.5 后台常驻与防休眠用 tmux 让进程在会话里常驻pkg install -y tmux tmux new -s openclaw # 在会话内启动 python main.py然后 CtrlB 再按 D 分离 tmux attach -t openclaw防止 Android 休眠杀进程装 Termux:API 后申请唤醒锁pkg install -y termux-api termux-wake-lock同时在系统设置里把 Termux 的电池策略设为「无限制」关闭对该应用的电池优化。4. 验证请求与成功结果4.1 先用 curl 验证 TaoToken 通道在启动 OpenClaw 之前先确认 Key 和地址是通的这样能把「网络/鉴权问题」和「OpenClaw 配置问题」分开curl -s https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的TaoToken密钥 \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-5, messages: [{role: user, content: 只回复两个字通了}], max_tokens: 32 }返回 JSON 里choices[0].message.content出现预期文字说明通道正常。如果返回 401是 Key 问题返回 404检查 base_url 是否多写了或漏写了/v1超时则先测curl -I https://taotoken.net/api看网络连通性。4.2 启动日志与接口自测OpenClaw 启动后日志里应能看到模型加载和技能注册信息。接着用本机接口发一条请求curl -s http://127.0.0.1:8080/api/chat \ -H Content-Type: application/json \ -H X-API-Key: 本地访问口令 \ -d {message: 介绍一下你当前运行在什么设备上}预期返回一段包含设备信息的回复。如果这里报模型调用失败但 4.1 的 curl 是通的那问题一定在config.yaml的ai段字段拼写上重点核对base_url和api_key的缩进与引号。4.3 浏览器界面确认手机浏览器打开http://127.0.0.1:8080能看到 Web 界面并完成一轮对话就说明整条链路打通了Termux → OpenClaw → TaoToken → 模型 → 返回。5. 本篇常见错误排查5.1 pip 安装依赖在 ARM64 编译失败典型报错是error: command clang failed或找不到Python.h。解决pkg install -y clang python-dev libxml2-dev libxslt-dev pip install --no-cache-dir -r requirements.txt个别包在 ARM 上没有预编译 wheel会走源码编译耐心等别中途 CtrlC。5.2 Redis 启动后连不上redis-cli ping报Could not connect多半是 Redis 没起来或目录权限问题。检查ps aux | grep redis ls -ld ~/redis/data redis-server --daemonize yes --dir ~/redis/data --logfile ~/redis/redis.log tail -f ~/redis/redis.log5.3 模型调用返回 401 / 403先确认 Key 没有多余空格或换行YAML 里用双引号包住。再确认base_url是https://taotoken.net/api不要自己拼成https://taotoken.net/api/v1/v1。如果 Key 是在别的项目里用过的去控制台确认它没有被删除或限流。5.4 手机息屏后助理失联这是移动端最常见的坑。三件事一起做termux-wake-lock申请唤醒锁系统设置里 Termux 电池策略设为无限制用 tmux 而不是直接前台运行。部分厂商系统还需要在「最近任务」里给 Termux 加锁防止一键清理时被杀。5.5 端口 8080 被占用ss -tlnp | grep 8080如果被别的进程占用改config.yaml里的server.port同时同步修改你 curl 测试时用的端口。5.6 存储权限没生效termux-setup-storage执行后如果/sdcard仍不可读去系统设置的应用权限里手动给 Termux 开存储权限然后重启 Termux 会话。6. 后续怎么用按场景选入口部署完成只是起点。日常对话和模型效果验证直接在 OpenClaw 的 Web 界面里切换model字段试不同模型即可想单独对比模型表现可以用模型对话入口https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodel-chat如果你要把这台手机当成长期的编码助手或 Agent 运行节点Key 的用量和模型调度会更频繁建议看一下 Coding Plan 的额度形态https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding-plan需要新增或轮换 Key 时在 API Keys 页面操作https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi-keys字段含义和协议细节以接入文档为准https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc最后给一个实测经验旧手机跑 OpenClaw把performance.max_workers设成 1 到 2、power_mode设成balanced比追求高性能更实用。我试过在 6GB 内存的机器上开 4 个 worker结果频繁触发系统回收反而比单 worker 更慢。移动端的瓶颈通常不是算力而是散热和后台存活策略把这两点处理好稳定性比参数调优重要得多。