Termux 安装 OpenClaw 并配置飞书:TaoToken 统一 Key 接入与 settings.json 骨架
1. Termux 里跑 OpenClaw 的真实痛点Termux 是个好东西安卓手机上装完就能有个像样的 Linux 环境Python、Node、Git 都能跑。但真要把 OpenClaw 这种带飞书机器人能力的工具塞进去麻烦就来了OpenClaw 本身要读settings.json飞书那边要配 App ID、App Secret、Verification Token、Encrypt Key模型侧还得填 API Key。三套凭证分散在三个地方改一个忘一个重启一次就报 401。更难受的是 Key 管理。你如果同时用 Claude、GPT、DeepSeek 几个模型每个平台一套 KeyOpenClaw 的配置文件里就得写多份换模型要改文件、重启进程。Termux 没有 systemd进程管理靠nohup或tmux改完配置忘了重启是常事。这篇要解决的就是这件事用 TaoToken 的统一 Key 把模型侧收敛成一个入口OpenClaw 的settings.json只写一份模型配置飞书侧单独配机器人凭证两边解耦。目标是一次跑通飞书消息收发不用来回翻文档。适合谁看手上有一台安卓机、装了 Termux、想让 OpenClaw 接飞书机器人、又不想在多个模型平台之间反复注册和换 Key 的人。下面所有命令都可以直接复制路径按 Termux 默认的$HOME来写。2. 前置准备TaoToken 统一 Key 与 Termux 环境TaoToken 在这里扮演的角色是「模型侧的统一入口」。你不需要在 OpenClaw 里分别填 Claude、GPT、DeepSeek 的 Key只需要一个 TaoToken 的 API Key然后在settings.json里把base_url指向 TaoToken 的 API 地址模型名按需切换。这样换模型只改一个字段不用动 Key。先去控制台拿 Key注册/登录入口https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentconsole拿 API Keyhttps://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi-keysAPI 基础地址统一用https://taotoken.net/api注意这个地址后面不加 UTM 参数直接写进配置文件。Termux 侧先把基础环境装好。打开 Termux依次执行pkg update pkg upgrade -y pkg install -y python nodejs-lts git openssl libffi clang rust这里解释一下为什么装这些python是 OpenClaw 的运行环境nodejs-lts是部分依赖的构建工具openssl和libffi是 Python 加密库的编译依赖clang和rust是某些 pip 包需要本地编译时的工具链。Termux 的 pip 装包经常因为缺编译工具失败提前装好省事。装完验证一下版本python --version node --version git --version如果python --version输出 3.11 以上就没问题。Termux 的 Python 版本一般比较新不用额外处理。注意Termux 的存储权限默认没开如果你要把 OpenClaw 的配置放在共享目录先跑termux-setup-storage。但本文所有路径都放在$HOME下不需要额外授权。3. 安装 OpenClaw 与依赖OpenClaw 的安装方式取决于你拿到的分发形式。如果是 pip 包直接pip install --upgrade pip pip install openclaw如果是从 Git 仓库拉源码流程是cd $HOME git clone https://github.com/your-org/openclaw.git cd openclaw pip install -r requirements.txt pip install -e .把your-org换成实际仓库地址。-e是开发模式安装改代码不用重装调试阶段方便。装完确认命令可用openclaw --version如果提示command not found检查 pip 的 bin 目录是否在 PATH 里。Termux 下一般是$PREFIX/binpip 装的脚本会放这里通常不用手动加。接下来建工作目录和配置文件mkdir -p $HOME/.openclaw cd $HOME/.openclaw touch settings.jsonOpenClaw 默认会读$HOME/.openclaw/settings.json如果你的版本读的是当前目录就在启动时用--config指定路径。下面给的骨架两种方式都能用。依赖里有一个容易踩的坑cryptography在 Termux 上编译需要libffi和openssl的头文件前面已经装了。如果 pip 装的时候还是报ffi.h not found执行pkg install -y libffi-dev openssl-dev再重试 pip 安装。Termux 的包名和标准 Debian 略有差异-dev后缀的包在 Termux 里叫libffi-dev这种形式不是libffi-devel。4. settings.json 骨架与 TaoToken 接入这是全文最核心的部分。下面这份骨架把模型侧和飞书侧分开模型侧只认 TaoToken 一个入口飞书侧单独填机器人凭证。字段名按 OpenClaw 常见约定写如果你的版本字段名不同按注释对应替换。{ model: { provider: openai-compatible, base_url: https://taotoken.net/api, api_key: sk-你的TaoToken密钥, model_name: claude-sonnet-4-20250514, max_tokens: 4096, temperature: 0.7, timeout: 60 }, feishu: { app_id: cli_你的AppID, app_secret: 你的AppSecret, verification_token: 你的VerificationToken, encrypt_key: 你的EncryptKey, bot_name: openclaw-bot, webhook_path: /feishu/webhook, listen_host: 0.0.0.0, listen_port: 8080 }, logging: { level: info, file: $HOME/.openclaw/openclaw.log } }逐段说明。model段里provider写openai-compatible因为 TaoToken 的 API 走 OpenAI 兼容协议OpenClaw 用这个 provider 就能对接。base_url固定https://taotoken.net/api不要加尾斜杠也不要加 UTM 参数。api_key填你在控制台拿到的 Key以sk-开头。model_name按你实际要用的模型填换模型只改这一行。feishu段的四个凭证来自飞书开放平台。app_id和app_secret在「凭证与基础信息」页verification_token和encrypt_key在「事件订阅」页。webhook_path是 OpenClaw 暴露给飞书回调的路径飞书那边填的请求地址要跟这个对上。listen_port默认 8080如果 Termux 里 8080 被占改成 8090 之类。logging段把日志写到文件Termux 下排查问题全靠它。$HOME在 JSON 里不会被自动展开OpenClaw 如果支持环境变量替换就没事不支持的话写绝对路径比如/data/data/com.termux/files/home/.openclaw/openclaw.log。注意settings.json里含密钥权限设成 600chmod 600 $HOME/.openclaw/settings.json。Termux 虽然是你自己的设备但养成习惯没坏处。飞书侧还需要在开放平台做几件事创建企业自建应用、开启机器人能力、在「事件订阅」里填请求地址就是你的 Termux 公网可达地址加webhook_path、订阅im.message.receive_v1事件。Termux 本身没有公网 IP这一步需要你把 Termux 的服务通过内网穿透或反向代理暴露出去具体方案不在本文范围按你手头可用的方式处理。5. 启动与飞书连通性验证配置写完先做一次语法检查python -c import json; json.load(open($HOME/.openclaw/settings.json)); print(JSON OK)输出JSON OK说明格式没问题。然后启动 OpenClawcd $HOME/.openclaw nohup openclaw --config $HOME/.openclaw/settings.json $HOME/.openclaw/stdout.log 21 用nohup是因为 Termux 切后台后进程容易被杀nohup加能让它挂着。启动后看日志tail -f $HOME/.openclaw/openclaw.log正常的话会看到类似model provider initialized、feishu webhook listening on 0.0.0.0:8080的输出。如果卡在模型初始化多半是api_key或base_url有问题。验证模型侧通不通单独发一个请求curl -s https://taotoken.net/api/chat/completions \ -H Authorization: Bearer sk-你的TaoToken密钥 \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: ping}], max_tokens: 16 }返回里有choices字段就说明 Key 和地址都对。这一步能过OpenClaw 的模型侧基本不会出问题。验证飞书侧在飞书里给机器人发一条消息比如「你好」。然后看 OpenClaw 日志tail -n 50 $HOME/.openclaw/openclaw.log成功的话会看到received event: im.message.receive_v1、calling model、reply sent这样的链路。如果只看到received event但没有reply sent说明模型调用失败回去看模型侧日志。如果连received event都没有说明飞书回调没打到 Termux检查请求地址和端口映射。想快速验证模型对话能力也可以直接用网页版试模型对话https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodel-chat在网页里发一条消息能正常回复说明 Key 有效再回到 Termux 排查配置问题。6. 本篇常见报错排查报错一401 Unauthorized或invalid api key先确认settings.json里api_key没有多余空格base_url是https://taotoken.net/api而不是带/v1的地址。然后用第 5 节的 curl 命令单独测 Key。如果 curl 也 401去控制台重新生成一个 Key。报错二ModuleNotFoundError: No module named openclawpip 装到了别的 Python 环境。Termux 下pip和python要对应执行which pip和which python看路径是否一致。不一致就用python -m pip install openclaw。报错三飞书回调verification failedverification_token填错或者飞书事件订阅里填的 Token 和settings.json里不一致。飞书在配置请求地址时会发一个 challenge 请求OpenClaw 要能正确响应。看日志里有没有challenge received没有的话说明请求根本没到 OpenClaw检查端口和路径。报错四Address already in use8080 被占。pkg install -y net-tools后跑netstat -tlnp | grep 8080看谁占的或者直接把listen_port改成 8090飞书那边的请求地址同步改。报错五Termux 切后台后进程消失安卓会杀后台进程。用tmux挂会话pkg install -y tmux然后tmux new -s openclaw在里面启动 OpenClawCtrlB再按D脱离。这样切后台进程不会被杀。报错六cryptography编译失败前面提过补pkg install -y libffi-dev openssl-dev然后pip install --no-cache-dir cryptography重试。--no-cache-dir避免用之前编译失败的缓存。报错七模型返回model not foundmodel_name写错了。TaoToken 支持的模型名以控制台或文档为准别自己拼。换模型时只改model_namebase_url和api_key不动。7. 长期跑 OpenClaw 的 Key 与配置管理如果你只是偶尔用上面这套够了。但如果要让 OpenClaw 长期挂在 Termux 上跑Key 管理得再收一收。第一别把 Key 硬编码在settings.json里。OpenClaw 如果支持读环境变量就在settings.json里写api_key: ${TAOTOKEN_API_KEY}然后在$HOME/.bashrc里export TAOTOKEN_API_KEYsk-xxx。这样配置文件可以备份、可以分享Key 不泄露。第二多模型切换用 TaoToken 的 Coding Plan 更省事。如果你主要拿 OpenClaw 做编码辅助或 Agent 任务Coding Plan 的额度模型比按量计费更适合长期挂机Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding-plan第三配置变更后不用重启整个 OpenClaw。如果你的版本支持热加载改完settings.json发个信号就行不支持的话kill掉旧进程再nohup起新的日志里确认新配置生效。第四接入文档放在手边字段名对不上时直接查接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc第五如果你用 Claude Code 或 Anthropic 风格的客户端TaoToken 也有对应的接入方式Key 可以复用Claude Code / Anthropic 接入https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaudecode-anthropic实测下来Termux 跑 OpenClaw 最稳的组合是tmux 挂会话 环境变量存 Key 日志写文件 飞书回调走固定端口。这四件事做到剩下的就是模型侧的事而模型侧已经被 TaoToken 收敛成一个base_url和一个api_key换模型不用动飞书配置改一行model_name就行。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →