How to setup your OpenClaw
DigitalOcean 上部署 OpenClaw + Telegram + Web Search
OpenClaw 2026.2.12 | DigitalOcean 1-Click Droplet | 2026 年 2 月實測可用
這篇文章會帶你從零開始,在 DigitalOcean 上跑一個能搜網頁,並在 Telegram 私訊和回復中記錄你的文字習慣和使用方式。每一步都是實際完成、踩坑的過程,適合初次體驗但卻沒有編程經驗的人
連貫對話記憶 + 聯網搜尋 + 訊息界面,造就 OpenClaw 優於其它 AI 對話的體驗
求快速完成並開始體驗 OpenClaw 的優勢和其不同,安裝成本較高,總計花費有 $50~$60 USD,且 Token 用量非常高,選的是 claude-sonnet-4 ,如果你已躍躍欲試,相信我,這些都是非常值得的花費和動手過程
在你進入安裝和設定前,這是會整合的所有軟體和服務:
- DigitalOcean — 一鍵部署在雲端,按系統推薦每月 $32,每日自動備份 $9,綁定信用卡支付。
- OpenRouter — 按 Claude 推薦選這個的理由是,在模型切換間非常好用,尤其你要 enable web search 功能需要切換到好一些的模型,最後用的是
claude-sonnet-4;初步儲值 $20 USD,一天很快就用完 Credit。 - Brave Search —
api-dashboard.search.brave.com註冊,月付 $5,拿到BSA...開頭的 key;Web Search 會是非常重要的操作體驗,不可跳過 - Telegram — 這是你和 OpenClaw 最主要的對話和交互方式
- OpenAI API Key ( Optional ) —
platform.openai.com語音轉文字功能需要 - Claude AI ( Opus 4.6 ) 一定要有這模型陪伴你的設置流程,避免低效糾錯
Gemini 和較低的模型都在說鬼話和鬼打墻;而且因為 OpenClaw 新,還是需要給些官方文檔、主動去 Discord 用你 issue 關鍵字搜尋,把對話複製下來給 Claude 分析
How to Install ( Overview )
- 1-Click deployment on Digital Ocean
- Create SSH Key ( Public & Private )
- SSH Login to your OpenClaw ( Digital Ocean )
- Initial Setup ( Model → Open Router )
- Brave Search API Token
- Telegram Setup(BotFather → get Bot Token)
- Setup Telegram Bot Token + Username
Step 1:建立 DigitalOcean Droplet

- 按建議配置 $32 USD/month
- Basic → Premium Intel ( NVMe SSD ) → 4G memory

- New SSH Key – 強烈建議和 Claude AI ( Opus 4.6 ) 溝通設置步奏
- 本地創建 SSH 私鑰、對應 Digital Ocean - Droplet 的存取權

ssh-keygen -t ed25519 -C "your_email@example.com"
cat ~/.ssh/id_ed25519.pubStep 2. Setup Your OpenClaw
- 首先你要從本地端開啟 Terminal
- 透過 SSH 的方式進到 Digital Ocean 上的 server 進行 OpenClaw 的初始設定

ssh root@{your droplet ip{- 如果初始設定卡住了,直接刪除 Droplet 重新跑一次。 我在這裡卡了 3 小時,最後發現重來最快。Select Model / Setup
SSH 進去後,終端會顯示一段 welcome message,裡面有你的 Dashboard URL 和 Gateway Token
接下來有 3 個步驟,仔細看著 OpenClaw 給的提示依序完成:
- Dashboard URL
http://你的Droplet_IP:18789到瀏覽器打開 - Dashboard 頁面貼上 Gateway Token 完成配對。配對成功後 Dashboard 會顯示 "connected"
- 回到 SSH 終端,輸入
continue進入 OpenClaw 的互動式設定引導(TUI)

進入 TUI 後,依序設定:
- 選擇:Model Provider → Open Router
- 貼上你的 OpenRouter API Key(
sk-or-v1-...開頭)

⚠️ 如果初始設定卡住了,直接刪除 Droplet 重跑一次。 我在這裡卡了 3 小時,最後發現重來最快。OpenClaw Discord 上也可能有類似問題的解答
Step 3. Connect OpenClaw to Telegram
- 建立 Telegram Bot
- 在 Telegram 搜尋 @BotFather
- 發送
/newbot - 照指示設定 bot 名稱和 username(username 必須以
bot結尾) - 拿到 Bot Token(格式像
123456789:ABCdefGHIjklMNOpqrsTUVwxyz)

- 取得你的 Telegram 數字 ID
- 數字 ID 不是你的 Telegram username,是一串純數字。config 裡要用
- 搜尋 @userinfobot
- 發送
/start - 拿到你的數字 ID(一串純數字,像
123456789)

⚠️ 數字 ID 不是你的 Telegram username,是一串純數字。等等 config 裡要用。
- 寫入 Config 並配對
- 先備份現有 config
cp/home/openclaw/.openclaw/openclaw.json/home/openclaw/.openclaw/openclaw.json.bak用這段 python 腳本寫入 Telegram 設定和模型。把 placeholder 換成你自己的值:
python3 << 'PYEOF'
import json
path = '/home/openclaw/.openclaw/openclaw.json'
with open(path) as f:
data = json.load(f)
# Telegram Channel
data['channels'] = data.get('channels', {})
data['channels']['telegram'] = {
"enabled": True,
"dmPolicy": "pairing",
"botToken": "你的BOT_TOKEN",
"allowFrom": [你的數字ID],
"groupPolicy": "allowlist",
"streamMode": "partial"
}
# 切到 Claude Sonnet 4(web search 必須用支援 tool calling 的模型)
data['agents'] = data.get('agents', {})
data['agents']['defaults'] = data['agents'].get('defaults', {})
data['agents']['defaults']['model'] = {
"primary": "openrouter/anthropic/claude-sonnet-4"
}
with open(path, 'w') as f:
json.dump(data, f, indent=2)
print('OK - telegram + model written')
PYEOFRestart your openclaw now :
# 強制終止所有 OpenClaw 進程(避免舊進程佔住 port 18789)
pkill -9 -f openclaw
# 等 5 秒,確保 port 完全釋放(不等會造成 crash loop)
sleep 5
# 透過 systemd 重新啟動 OpenClaw 服務
systemctl restart openclaw
Step 4. Web Search
聯網後的 OpenClaw 才初步展現出了其價值,這一步讓 bot 能搜尋網頁、讀取網頁內容、甚至是 Telegram 特定頻道的訊息
DigitalOcean 1-Click 的預設 sandbox 很嚴格,要啟用 OpenClaw 的 web search 需要改三個地方,缺一不可;這也是卡住最久的一個地方,但真的建議你努力和 Claude 協作把這個聯網搜尋功能搞定,才能發揮 OpenClaw 最有價值的地方
寫入 Web Search + Sandbox Tool Policy
| Config 路徑 | 作用 | 少了會怎樣 |
|---|---|---|
tools.web.search | 告訴 Gateway「Brave API 在哪」 | bot 根本沒有搜尋工具 |
tools.sandbox.tools.allow 含 group:web | 告訴 Sandbox「允許 agent 使用 web tools」 | bot 有工具但看不到,會說「我無法搜尋」 |
agents.defaults.sandbox.docker.env 含 BRAVE_API_KEY | 把 API key 注入 Docker 容器 | 工具可見但認證失敗 |
用這段腳本一次寫入 ( by Claude AI 總結、有可能會錯 )
python3 << 'PYEOF'
import json
path = '/home/openclaw/.openclaw/openclaw.json'
with open(path) as f:
data = json.load(f)
# Web Search + Fetch
data['tools'] = data.get('tools', {})
data['tools']['web'] = {
"search": {
"enabled": True,
"provider": "brave",
"apiKey": "你的BRAVE_API_KEY"
},
"fetch": {
"enabled": True
}
}
# Sandbox Tool Policy — 加入 group:web(關鍵!)
data['tools']['sandbox'] = {
"tools": {
"allow": [
"group:runtime", "group:fs", "group:sessions",
"group:memory", "group:web", "image"
]
}
}
# 把 BRAVE_API_KEY 注入 sandbox Docker 容器
data['agents']['defaults']['sandbox'] = data['agents']['defaults'].get('sandbox', {})
data['agents']['defaults']['sandbox']['docker'] = data['agents']['defaults']['sandbox'].get('docker', {})
data['agents']['defaults']['sandbox']['docker']['env'] = data['agents']['defaults']['sandbox']['docker'].get('env', {})
data['agents']['defaults']['sandbox']['docker']['env']['BRAVE_API_KEY'] = '你的BRAVE_API_KEY'
with open(path, 'w') as f:
json.dump(data, f, indent=2)
print('OK - web search config written')
PYEOF
OpenClaw Web Search - Brave Web Search
Restart Your OpenClaw
# 強制終止所有 OpenClaw 進程
pkill -9 -f openclaw
# 等 port 釋放
sleep 5
# 重新啟動
systemctl restart openclaw- 重新啟動你的 Openclaw 後,在 Telegram 發個
/new並問任何需要聯網的資訊
Pls help me to search todays btc, eth price ( latest )
and provide the link as source- 如果 bot 成功搜尋並回覆了結果,web search 設定完成
- 如果 bot 說它沒有搜網頁的能力,跑這個確認 sandbox 設定 ( 不確定 by Claude )

sudo -u openclaw -H openclaw sandbox explainopenclaw sandbox setup
看輸出的 Sandbox tool policy > allow 那行,裡面必須包含 group:web
OpenClaw 聯網後體驗
設定完 Web Search 後,OpenClaw 的體驗有質的飛躍。它不再是封閉在訓練資料裡的 AI,而是一個能即時查資料、記住你偏好、24 小時在 Telegram 裡待命的助手
僅僅輸入 2 個小時就能有顯著增效目的 — 這是我在 DigitalOcean 上開啟 $9/月每日備份的理由。已經體會到記憶連貫 + 聯網的強大,無法失去它的資料
OpenClaw 常用指令速查 ( Basic )
Claude 幫我總結在糾錯過程中常用到的,筆記給自己回顧,可能迭代或更新;建議在和 AI 對話時提醒到 Openclaw document 或是用 web search 搜尋最新經驗
# 安全重啟(每次改 config 後必做)
pkill -9 -f openclaw # 強制終止所有 OpenClaw 進程
sleep 5 # 等 port 18789 釋放
systemctl restart openclaw # 重新啟動服務
# 確認服務狀態
systemctl status openclaw --no-pager
# 看最近 log
journalctl -u openclaw --no-pager --since '5 min ago'
# 最重要的 debug 工具
sudo -u openclaw -H openclaw sandbox explain
# 還原到備份
cp /home/openclaw/.openclaw/openclaw.json.bak /home/openclaw/.openclaw/openclaw.json
systemctl restart openclawOpenClaw 設置流程糾錯心得
糾錯過程中,Claude Opus 4.6 確實答案最好。Gemini 和 Claude 較低的模型都在生成幻覺內容和鬼打墻。
因為 OpenClaw 比較新,還是需要看 OpenClaw 官方文檔、主動去 Discord 用你 issue 關鍵字搜尋,把對話複製下來:
- 去 docs.openclaw.ai 找對應頁面
- 去 discord.gg/openclaw 搜尋你遇到的問題關鍵字
- 把 Docs 和 Discord 對話複製給 Claude Opus 分析
Web search 問題最後就是在 Discord 得到解答的 — 一個叫 Krill 的用戶分享用 Digital Ocean 部署遇到的 Web Search 問題,有人回答是 sandbox tool policy 的 allowlist 預設不包含 group:web。

OpenClaw Setup Troubleshooting
- 改完 config 後 Gateway 一直 crash?
pkill -9 -f openclaw && sleep 8 && systemctl restart openclaw
舊進程沒殺乾淨會佔住 port 18789,形成 crash loop。sleep 不能省。
- Bot 在 Telegram 沒反應?
allowFrom 裡的 ID 必須是數字不是字串。[123456789] 是對的,["123456789"] 收不到訊息。
- Bot 回應了但不搜網頁?
- 跑
openclaw sandbox explain確認group:web在 allow 裡 - 確認模型是
claude-sonnet-4,不是gpt-4o-mini(後者經常不調用工具)
這篇在最開頭和關鍵流程的總結,是憑記憶直接輸出的;其它後面的步奏和 Code 都是由 Clade 讀取對話的歷史記錄,幫我總結安裝經驗和教學,所以不一定對或不適用你的安裝流程和設置
希望這個過程能幫你收斂安裝流程,少走彎路。儘管已經有 AI 輔助,不過這些資訊還是較新且牽涉到多平台的部署、環境等因素,還是對新手非常不容易,在 AI 給你的幻覺和過期 ( 1-2 weeks ago ) 的資訊中被混淆受挫。
OpenClaw 的體驗實在太驚艷,一個連貫的對話記錄、能夠完全按照我偏好和習慣的文字方式來回復的 AI Bot 一直是持續尋找的事,ChatGPT / Gemini / Claude 總是會突然跑偏,要不就是地區、VPN、網路切換的限制導致連線和使用狀況不穩,回復速度經常要等待 10-15 秒以上
現在有 OpenClaw 透過 API 存取模型並有連貫的記憶,體驗和產出上已拉開差距,會把更多平台 ( iMessage / LINE / WeChat / Lark ) 等方式鏈接到 OpenClaw 上,按功能和對話場景切分成如工作、日常、記賬等來輔助自己完善這套系統。