「device token mismatch」 錯誤表示你裝置上儲存的 token 與 OpenClaw gateway 預期的不一致。這通常發生在 gateway 重啟、容器重建,或從新的瀏覽器連線時。
你可能看到的錯誤訊息
以下這些都指向同一個問題:
connect failed: device token mismatch
disconnected (4008): connect failed — device token mismatch
openclaw gateway device token mismatch
快速修復:openclaw doctor
最快的解決方案:
openclaw doctor --fix
這會偵測 token 不一致並重新產生匹配的 token。之後重新啟動:
openclaw restart
手動修復:重設裝置 Token
如果 doctor 無法解決問題,手動重設裝置身份:
步驟 1:列出已註冊的裝置
openclaw devices list
這會顯示所有已核准的裝置及其 token 狀態。
步驟 2:移除不匹配的裝置
openclaw devices remove DEVICE_ID
步驟 3:重新連線
打開瀏覽器或 Telegram bot 並重新連線。你會看到一個新的配對請求:
openclaw devices list
# 尋找待核准的裝置
openclaw devices approve DEVICE_ID
為什麼會發生這種情況?
原因 1:Gateway Token 在重啟時改變
除非你固定 token,否則 OpenClaw 每次重啟都會重新產生 gateway token。這會使所有現有的裝置連線失效。
永久修復 ——設定一個固定的 token:
openclaw config set gateway.token "your-stable-token-here"
或透過環境變數:
export OPENCLAW_GATEWAY_TOKEN="your-stable-token-here"
原因 2:容器被重建
如果你在 Docker 中運行 OpenClaw,重建容器會產生全新的 gateway 身份。所有先前配對的裝置都會失效。
預防方法 ——掛載資料目錄:
docker run -v openclaw-data:/app/data openclaw-stack
原因 3:多個實例
在同一台機器上運行兩個 OpenClaw 實例可能會造成 token 衝突。每個實例需要自己的資料目錄和連接埠。
原因 4:瀏覽器快取
有時瀏覽器會在 localStorage 中保留舊的 token。
修復方法: 清除你 OpenClaw URL 的網站資料,然後重新連線。
Docker 專用修復方法
如果你在 Docker 中運行 OpenClaw:
# 進入容器
docker exec -it YOUR_CONTAINER_ID bash
# 在容器內執行 doctor
openclaw doctor --fix
# 或手動設定固定 token
openclaw config set gateway.token "your-stable-token"
# 離開並重啟容器
exit
docker restart YOUR_CONTAINER_ID
預防檢查清單
為避免未來的 token 不一致:
- 固定你的 gateway token:使用
OPENCLAW_GATEWAY_TOKEN環境變數或gateway.token設定 - 使用 Docker volumes 持久化資料目錄
- 每台機器使用一個實例,除非你已配置不同的連接埠和資料目錄
- 升級後執行
openclaw doctor以及早發現不一致
驗證修復
解決不一致後:
# 檢查 gateway 狀態
openclaw status
# 確認裝置已連線
openclaw devices list
所有裝置應顯示 connected 狀態。
徹底告別 Token 問題
ClawTank 自動處理 gateway token、裝置配對和容器持久化。不需要手動管理 token——只需部署並連線。
