
1. 為什么要在 Termux 里跑 OpenClaw 并接飛書Termux 是安卓上的一個終端模擬器裝上它之后你的手機就變成了一臺能跑 Python、Node.js、Git 的迷你 Linux 機器。OpenClaw 是一個開源的 AI 助手框架支持多模型接入和工具調(diào)用適合做個人助理、自動化任務(wù)、消息機器人。飛書則是國內(nèi)團(tuán)隊協(xié)作里用得很多的 IM 工具開放平臺提供了完善的自建應(yīng)用和機器人能力。把這三樣?xùn)|西串起來你得到的效果是在手機上跑一個 AI 助手通過飛書機器人收發(fā)消息模型調(diào)用走 TaoToken 的統(tǒng)一 API 通道。整個鏈路不依賴電腦隨身攜帶隨時可用。適合誰一是想在移動端做 AI 實驗的開發(fā)者二是需要把 AI 助手接入團(tuán)隊飛書群做自動化通知或問答的人三是手頭沒有服務(wù)器但想跑一個 7x24 在線機器人的朋友。Termux 配合安卓的后臺?;铍m然不能保證 100% 不掉線但作為輕量級方案已經(jīng)夠用。我實測下來整個流程分四步Termux 環(huán)境準(zhǔn)備、OpenClaw 安裝、settings 配置改到 TaoToken、飛書機器人對接與驗證。每一步都有坑下面逐個拆。核心檢索詞先明確Termux 安裝 OpenClaw、OpenClaw 配置飛書機器人、OpenClaw settings 改 TaoToken、飛書回調(diào)參數(shù)配置。這四個詞貫穿全文你照著做就能跑通。2. Termux 環(huán)境準(zhǔn)備與 OpenClaw 安裝命令2.1 Termux 初始化與依賴安裝先從 F-Droid 或 GitHub Release 下載 Termux 安裝包不要用 Google Play 版本那個版本更新滯后且包管理有問題。裝好后打開先執(zhí)行基礎(chǔ)更新pkg update pkg upgrade -y pkg install -y python nodejs git openssl libffi rust clang make這里解釋一下為什么裝這些Python 是 OpenClaw 的運行環(huán)境Node.js 用于部分前端工具鏈git 用于拉取源碼openssl 和 libffi 是 Python 加密庫的編譯依賴rust 和 clang 是某些 pip 包需要本地編譯時的工具鏈。裝完后設(shè)置 pip 源加速國內(nèi)網(wǎng)絡(luò)環(huán)境下這一步很關(guān)鍵pip install --upgrade pip pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple然后創(chuàng)建虛擬環(huán)境避免污染系統(tǒng) Pythonpython -m venv ~/openclaw-env source ~/openclaw-env/bin/activate每次重新打開 Termux 都需要重新 activate可以寫進(jìn).bashrcecho source ~/openclaw-env/bin/activate ~/.bashrc2.2 安裝 OpenClawOpenClaw 的安裝方式取決于你拿到的發(fā)行方式。如果是 pip 包pip install openclaw如果是源碼倉庫cd ~ git clone https://github.com/openclaw/openclaw.git cd openclaw pip install -r requirements.txt pip install -e .安裝完成后驗證openclaw --version如果報command not found檢查虛擬環(huán)境是否激活以及~/.local/bin是否在 PATH 里。Termux 下 pip 安裝的可執(zhí)行文件通常在~/openclaw-env/bin/下確認(rèn)一下ls ~/openclaw-env/bin/ | grep openclaw2.3 目錄結(jié)構(gòu)與配置文件位置OpenClaw 的配置默認(rèn)放在~/.openclaw/下核心文件是settings.json或settings.toml取決于版本。先確認(rèn)ls -la ~/.openclaw/如果沒有這個目錄手動創(chuàng)建mkdir -p ~/.openclaw配置文件的具體格式和字段名下一節(jié)詳細(xì)展開。這里先記住路徑~/.openclaw/settings.json。Termux 的存儲權(quán)限也要注意如果你需要 OpenClaw 讀寫手機存儲里的文件執(zhí)行termux-setup-storage會彈窗請求權(quán)限允許后~/storage/下就能訪問共享目錄。3. 把 OpenClaw settings 改到 TaoToken 的完整配置片段3.1 理解 settings 的結(jié)構(gòu)OpenClaw 的 settings 文件控制模型提供商、API 地址、密鑰、默認(rèn)模型等。不同版本字段名可能有差異但核心邏輯一致你需要告訴它「去哪里調(diào)模型」和「用什么身份調(diào)」。TaoToken 提供統(tǒng)一的 API 通道Base URL 是https://taotoken.net/api你只需要一個 Key 就能調(diào)用多個模型。這比每個模型單獨配 Key 省事得多。3.2 可復(fù)制的 settings.json 片段以下是我實測可用的配置路徑為~/.openclaw/settings.json{ provider: openai-compatible, base_url: https://taotoken.net/api, api_key: sk-你的TaoToken密鑰, model: 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 } }如果你用的是 TOML 格式~/.openclaw/settings.toml等價寫法provider openai-compatible base_url https://taotoken.net/api api_key sk-你的TaoToken密鑰 model 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三件套必須齊全Base URL 填https://taotoken.net/apiKey 填你在 TaoToken 控制臺生成的密鑰Model ID 填你要用的模型標(biāo)識。缺一個都會報錯。3.3 獲取 TaoToken Key 與模型 ID訪問 TaoToken 控制臺創(chuàng)建 API Key拿到sk-開頭的字符串。模型 ID 可以在模型列表頁查看常用的有claude-sonnet-4-20250514、gpt-4o、deepseek-chat等。填哪個取決于你的套餐和需求。Key 不要硬編碼在代碼里settings 文件權(quán)限設(shè)為 600chmod 600 ~/.openclaw/settings.json3.4 飛書應(yīng)用配置參數(shù)飛書側(cè)需要創(chuàng)建自建應(yīng)用拿到 App ID 和 App Secret。在「事件訂閱」頁面拿到 Verification Token 和 Encrypt Key。這些參數(shù)填進(jìn) settings 的feishu字段。飛書機器人的回調(diào)地址需要公網(wǎng)可達(dá)Termux 本身沒有公網(wǎng) IP所以你需要一個內(nèi)網(wǎng)穿透工具或者把 OpenClaw 部署在有公網(wǎng) IP 的機器上。如果只是本地測試可以用飛書的長連接模式WebSocket不需要公網(wǎng)回調(diào)地址。OpenClaw 支持長連接模式的話在 settings 里加feishu: { mode: websocket, app_id: cli_你的AppID, app_secret: 你的AppSecret }長連接模式下不需要 Verification Token 和 Encrypt Key飛書 SDK 會自動處理鑒權(quán)。4. 啟動驗證日志檢查、飛書回執(zhí)與 API 連通性測試4.1 啟動 OpenClaw 并檢查日志配置寫好后啟動 OpenClawopenclaw start --config ~/.openclaw/settings.json或者如果它作為服務(wù)運行openclaw serve觀察啟動日志正常輸出應(yīng)該包含[INFO] Loading settings from /data/data/com.termux/files/home/.openclaw/settings.json [INFO] Provider: openai-compatible [INFO] Base URL: https://taotoken.net/api [INFO] Model: claude-sonnet-4-20250514 [INFO] Feishu bot initialized: openclaw-bot [INFO] Server listening on 0.0.0.0:8080如果看到Base URL和Model正確加載說明 settings 解析沒問題。如果報provider not supported檢查provider字段是否拼寫正確。4.2 API 連通性測試在 Termux 里直接用 curl 測試 TaoToken 的 API 是否通curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的TaoToken密鑰 \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: ping}], max_tokens: 10 }正常返回應(yīng)該是一個 JSON包含choices數(shù)組和模型回復(fù)內(nèi)容。如果返回 401說明 Key 不對或沒傳如果返回 404檢查 URL 路徑是否正確如果超時檢查網(wǎng)絡(luò)。這一步通過后說明 TaoToken 通道沒問題問題只可能在 OpenClaw 的配置解析或飛書對接上。4.3 飛書側(cè)消息回執(zhí)驗證在飛書里給機器人發(fā)一條消息比如「你好」。觀察 OpenClaw 的日志[INFO] Received message from feishu: user_idxxx, content你好 [INFO] Calling model claude-sonnet-4-20250514... [INFO] Model response received, length45 [INFO] Sending reply to feishu...如果日志走到Sending reply但飛書沒收到檢查機器人的發(fā)送權(quán)限和事件訂閱配置。如果日志停在Calling model說明 API 調(diào)用卡住了回到 4.2 檢查連通性。飛書側(cè)的消息回執(zhí)可以在開發(fā)者后臺的「事件訂閱」頁面查看有詳細(xì)的請求和響應(yīng)日志。4.4 端到端驗證清單逐條核對第一Termux 里openclaw --version有輸出。第二~/.openclaw/settings.json里 base_url 是https://taotoken.net/api。第三curl 測試 API 返回 200。第四OpenClaw 啟動日志顯示模型和飛書初始化成功。第五飛書發(fā)消息有日志記錄。第六飛書收到機器人回復(fù)。六條全過鏈路就通了。5. 常見報錯排查401、local proxy failed、reading choices、OAuth5.1 401 Unauthorized報錯原文{error: {message: Invalid API key, type: invalid_request_error}}原因TaoToken Key 填錯、過期、或者沒傳。檢查 settings 里的api_key字段確認(rèn)是sk-開頭且沒有多余空格。如果 Key 剛生成等幾秒再試有時候有緩存延遲。還有一種情況是 Key 權(quán)限不足在 TaoToken 控制臺確認(rèn)這個 Key 有調(diào)用目標(biāo)模型的權(quán)限。5.2 local proxy failed報錯原文Error: local proxy failed: dial tcp 127.0.0.1:7890: connect: connection refused原因系統(tǒng)或環(huán)境變量里設(shè)置了本地代理但代理服務(wù)沒跑。檢查env | grep -i proxy如果有http_proxy或https_proxy指向本地端口取消掉unset http_proxy https_proxy all_proxy然后重啟 OpenClaw。Termux 下不需要額外代理直連即可。5.3 reading choices 報錯報錯原文KeyError: choices或者IndexError: list index out of range原因API 返回的 JSON 結(jié)構(gòu)不符合預(yù)期??赡苁悄P?ID 填錯了返回了錯誤信息而不是正常的 completions 結(jié)構(gòu)。檢查 settings 里的model字段確認(rèn)模型 ID 在 TaoToken 的模型列表里存在。另一個可能是max_tokens設(shè)得太小模型還沒輸出就被截斷。調(diào)大到 4096 試試。5.4 OAuth 相關(guān)報錯報錯原文OAuth token expired or invalid原因如果你用的是 OAuth 方式鑒權(quán)而不是 API Keytoken 過期了。TaoToken 的 API 通道用 Key 鑒權(quán)不需要 OAuth。檢查 settings 里是不是混入了 OAuth 配置刪掉相關(guān)字段只用api_key。5.5 飛書回調(diào)驗證失敗報錯原文feishu callback verification failed: invalid verification token原因Verification Token 填錯或者飛書后臺的 Token 和 settings 里的不一致。重新復(fù)制一遍注意不要帶空格。如果用長連接模式這個字段不需要填。5.6 模型返回空內(nèi)容日志顯示調(diào)用成功但回復(fù)為空。檢查max_tokens是否被設(shè)成 0 或負(fù)數(shù)。另外某些模型對temperature敏感設(shè)成 0 可能導(dǎo)致輸出退化調(diào)到 0.7 試試。6. 長期運行與 Coding Plan 接入建議Termux 在安卓上會被系統(tǒng)殺后臺要長期運行 OpenClaw需要做幾件事。第一在安卓設(shè)置里給 Termux 加鎖禁止電池優(yōu)化。第二用termux-wake-lock保持 CPU 喚醒termux-wake-lock第三用 tmux 或 screen 讓 OpenClaw 在會話里跑斷開 SSH 也不影響pkg install tmux tmux new -s openclaw openclaw serve按CtrlB然后D脫離會話下次tmux attach -t openclaw回來。如果你打算長期用 OpenClaw 做編碼助手或 Agent 任務(wù)建議關(guān)注 TaoToken 的 Coding Plan。它針對高頻編碼場景做了優(yōu)化模型調(diào)用更穩(wěn)定適合 7x24 跑的機器人。接入方式不變還是 Base URL 加 Key 加 Model ID 三件套只是在控制臺選套餐時選 Coding Plan 即可。飛書機器人跑起來之后你可以擴(kuò)展它的能力接入飛書多維表格做數(shù)據(jù)查詢接入日歷做日程管理或者用 OpenClaw 的工具調(diào)用能力執(zhí)行 shell 命令。這些都在 settings 的tools字段里配置原理和模型配置一樣填對參數(shù)就能用。最后提醒一點Termux 里的 OpenClaw 適合個人實驗和輕量級使用如果要上生產(chǎn)環(huán)境還是建議部署到有公網(wǎng) IP 的服務(wù)器上飛書回調(diào)也更穩(wěn)定。手機端作為開發(fā)和調(diào)試環(huán)境配合 TaoToken 的統(tǒng)一通道已經(jīng)能覆蓋大部分驗證需求。