OpenClaw
OpenClaw(前身為 Clawdbot 或 Moltbot)是 2026 年最受矚目的開源 AI 代理人(AI Agent)架構之一。與傳統的聊天機器人(Chatbot)不同,OpenClaw 被設計為一個「對話優先」且「本地優先」的自動化引擎。
它能直接運行在你的電腦(或伺服器)上,透過你常用的通訊軟體(如 WhatsApp, Telegram, Discord, Slack)作為介面,並獲得授權執行終端指令、瀏覽網頁、管理文件與行事曆。
🚀 OpenClaw 詳細介紹:你的數位員工
OpenClaw 的核心理念是將 AI 從「網頁上的對話框」釋放到你的「本地作業系統」中。
核心特徵
- 長期記憶(Persistent Memory): 它會記錄與你的過往對話、偏好與工作習慣,存儲為本地的 Markdown 或 YAML 文件,不會隨著新對話而遺忘。
- 多管道接入(Bridges): 你不需要打開特定 App,直接在 Telegram 或 WhatsApp 傳訊息給它,就像在傳簡訊給同事。
- 技能擴展(Skills): 透過開源社區提供的「Skills」,它可以操作 Google Drive、Obsidian、甚至是你的 Linux 終端(Shell)。
- 隱私可控: 你可以選擇連接雲端模型(Claude, OpenAI),也可以搭配本地模型(透過 Ollama),確保敏感數據不出本地。
💡 高可行性的應用場景
OpenClaw 的強大在於它能「跨工具」執行任務:
- 遠端伺服器維護員:
人在外面時,透過手機 Telegram 傳一句:「檢查我 Ubuntu 的硬碟空間,如果超過 80% 就把舊的 Log 檔壓縮並備份到雲端。」OpenClaw 會直接在終端執行
df -h、tar和上傳指令。 - 智慧晨報與排程: 設定定時任務,讓 OpenClaw 在每天早上 8 點抓取你 Google Calendar 的行程、當天天氣,並加上 Hacker News 的熱門技術新聞,整理成簡報發送到你的 WhatsApp。
- 單據與收據自動化: 你拍一張紙本收據照片傳給它,OpenClaw 透過 OCR 解析內容,並自動開啟本地的試算表(或 Google Sheets)填入日期、類別與金額。
- 開發者的小秘書: 傳送一個 GitHub Repo 連結給它,叫它:「幫我研究這個專案的讀我檔案,並在我的桌面上建立一個 Docker Compose 環境試跑看看。」
🛠️ 在 Ubuntu 上安裝 OpenClaw
OpenClaw 主要基於 Node.js 運行,建議使用 Ubuntu 22.04 或 24.04 以上版本。
第一步:環境準備
確保安裝了 Node.js 22+ 以及包管理器(推薦使用 pnpm)。
# 安裝 pnpm
curl -fsSL https://get.pnpm.io/install.sh | sh -
# 重新載入 shell 環境
source ~/.bashrc
第二步:安裝 OpenClaw
使用全域安裝指令將 OpenClaw 加入系統。
pnpm add -g openclaw@latest
第三步:啟動引導嚮導(Onboarding)
這是最重要的步驟,它會引導你設定模型密鑰(API Key)、通訊頻道與守護進程。
openclaw onboard --install-daemon
提示: 嚮導會詢問你要連結哪個通訊軟體。例如選擇 WhatsApp 時,終端會出現一個 QR Code,用手機掃描即可完成連結。
⚙️ 自己建立與操作的流程
一旦安裝完成,你可以透過以下流程來自定義你的 AI 助手:
1. 配置模型與 API
編輯設定檔(通常位於 ~/.openclaw/config.yaml 或透過 TUI 介面):
- 雲端: 填入
ANTHROPIC_API_KEY或OPENAI_API_KEY。 - 本地: 啟動 Ollama 後,將模型指向
http://localhost:11434。
2. 安裝新技能 (Skills)
OpenClaw 的威力來自技能庫。你可以透過指令安裝社群開發好的技能:
# 例如安裝一個管理 GitHub 的技能
openclaw skill install github-automation
3. 操作流程建議 (Workflow)
- 指令觸發: 在 Telegram 輸入
/exec ls -la測試它是否有權限讀取你的目錄。 - 設定自動化任務(Cron): 你可以告訴 OpenClaw:「以後每週五下午 5 點,幫我總結這一週我在工作資料夾裡新增的文件內容。」它會自動寫入其內部的排程表。
- 安全沙盒(Sandbox): 若擔心 AI 亂刪檔案,建議在設定中開啟 Docker 沙盒模式,讓 OpenClaw 在容器內執行指令:
```bash
在 config 中將 sandbox 設為 “non-main” 或 “all”
openclaw gateway restart
案例「每日晨報機器人」
若要將 OpenClaw 打造為「每日晨報機器人」,最有效的方法是利用其 排程(Cron) 功能,結合 搜尋(Web Search) 與 內容總結(Summarization) 技能。可以透過以下三個步驟完成設定:
1. 建立晨報指令腳本 (morning_briefing.yaml)
首先,我們定義一個專門處理新聞與股市的技能。OpenClaw 會先去爬取資料,然後交給 LLM 進行分析與翻譯(如果你看的是國際新聞)。
name: daily_morning_report
description: "每日早上自動抓取國際頭條與股市數據並發送簡報"
permissions:
- web_search # 爬取新聞
- finance_api # 若有串接 Yahoo Finance 或 Alpha Vantage
- notification # 發送訊息到 Telegram/WhatsApp
2. 編寫自動化流程 (Workflow Logic)
這是 OpenClaw 執行時的邏輯偽代碼。你可以直接在對話中告訴 OpenClaw 這個邏輯,或寫入 index.js:
async function generateMorningBriefing(ctx) {
// 1. 抓取國際新聞 (例如:Reuters 或 Bloomberg)
const newsResults = await ctx.skills.web_search.execute({
query: "top international news headlines today Reuters Bloomberg",
num_results: 5
});
// 2. 抓取股市數據 (美股/台股)
// 你可以指定特定的標的,例如 S&P 500, TSMC, NVDA
const stockData = await ctx.skills.web_search.execute({
query: "S&P 500 price change today, NVIDIA stock price, TSMC ADR status"
});
// 3. 讓 LLM 整理並翻譯成繁體中文
const report = await ctx.llm.generate({
prompt: `
請根據以下資訊整理一份簡潔的晨報:
新聞來源:${JSON.stringify(newsResults)}
股市數據:${JSON.stringify(stockData)}
格式要求:
- 📅 日期:YYYY/MM/DD
- 🌍 國際大事:重點摘要 3 點
- 📈 股市概況:標普500漲跌、關鍵個股表現
- 💡 投資建議:基於今日新聞的簡短觀察
`
});
// 4. 發送到你的通訊軟體
await ctx.notification.send(report);
}
3. 使用 scheduler 建立自動執行排程
這是最關鍵的一步。你可以直接在 OpenClaw 的對話框中輸入指令來設定:
使用者: 「幫我設定一個排程,從明天開始,每天早上 8 點執行
daily_morning_report,並把結果發到我的 Telegram。」
Openclaw + GitHub
要使用 Openclaw(通常是指一款開源的自動化爬蟲或任務執行框架)來操作 GitHub,核心思路是將 Openclaw 產出的資料(如 JSON、Markdown 或 CSV)透過 Git 指令或 GitHub API 自動推送到倉庫。
由於 Openclaw 主要負責「抓取」與「處理」,它通常不內建「自動提交到 Git」的按鈕,我們需要透過 Shell 腳本 或 Python 整合 來達成。
以下是實現這套自動化流程的完整方案:
第一步:環境準備 (GitHub 認證)
在伺服器或本地執行 Openclaw 的環境中,必須先解決權限問題,否則 git push 會失敗。
- 產生 Personal Access Token (PAT):
- 前往 GitHub [Settings] -> [Developer settings] -> [Personal access tokens]。
- 勾選
repo權限。
- 配置 Git 使用 Token:
- 建議使用 SSH Key 或者在遠端 URL 中嵌入 Token:
git remote set-url origin https://<YOUR_TOKEN>@github.com/username/repo.git
- 建議使用 SSH Key 或者在遠端 URL 中嵌入 Token:
第二步:整合 Openclaw 與 Git 操作
你可以根據你的開發習慣選擇以下兩種方式之一:
方法 A:使用 Shell 腳本 (最簡單、最通用)
這是最推薦的方式,將 Openclaw 的執行指令與 Git 指令寫在一起。
#!/bin/bash
# 1. 執行 Openclaw 爬蟲/分析任務
# 假設 Openclaw 的啟動指令如下,並將結果輸出到 results 目錄
openclaw run my_task.yaml
# 2. 進入資料倉庫目錄
cd /path/to/your/github-repo
# 3. 執行 Git 標準流程
git add .
TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
git commit -m "Auto-update: $TIMESTAMP"
git push origin main
方法 B:使用 Python 腳本 (適合 AI 分析後處理)
如果你在 Openclaw 抓取後,還需要用 Python 進行 AI 分析(如呼叫 OpenAI API),可以用 GitPython 套件來完成。
import os
from git import Repo # pip install GitPython
def upload_to_github(repo_path, commit_message):
repo = Repo(repo_path)
# 確保在正確的分支
repo.git.add(all=True)
repo.index.commit(commit_message)
origin = repo.remote(name='origin')
origin.push()
# 執行流程
# 1. 調用 Openclaw 抓取數據
# 2. AI 分析邏輯...
# 3. 上傳結果
upload_to_github('./my-data-repo', 'Update AI analysis results')
---
### 第三步:實現「定期」自動化
要讓這一切自動運作,你需要一個調度器。
1. **使用 Linux Cron (最穩定):**
輸入 `crontab -e`,設定每天凌晨 2 點執行:
```bash
0 2 * * * /bin/bash /path/to/your/upload_script.sh
- 使用 GitHub Actions (雲端全自動):
如果你的 Openclaw 可以在 Docker 或 GitHub 的虛擬環境中運行,你可以直接寫一個
.github/workflows/main.yml。- 優點: 不用自己準備伺服器。
- 缺點: 如果爬蟲需要特定 IP 或長延時,Actions 可能會被封或超時。
具體應用場景建議
| 需求 | 建議做法 |
|---|---|
| 定期 Commit 資料 | 使用 cron + git commit。 |
| 上傳爬蟲結果 | 在 Openclaw 任務結束的 hook 或迴圈中加入 git push。 |
| AI 分析結果 | 建議先將 AI 處理後的結果存為 Markdown,這樣在 GitHub 上可以直接預覽美觀的報告。 |
⚠️ 注意事項
- 避免頻繁 Commit: 如果爬蟲每分鐘跑一次,建議先將資料暫存,每 6 或 12 小時才 Commit 一次,否則 Git 歷史紀錄會變得非常臃腫。
.gitignore設定: 確保不要把 Openclaw 的日誌 (logs) 或敏感設定檔 (config.yaml) 推送到公開倉庫。- 衝突處理: 如果你在多台電腦操作同一個 Repo,記得在腳本開頭先執行
git pull --rebase。
Openclaw 外部串接分類
1. Openclaw 核心模組與功能
這張表能幫助你理解 Openclaw 是如何運作的,以及它靠什麼來「操作」外部世界。
| 模組名稱 | 角色定位 | 主要功能 |
|---|---|---|
| Brain (AI 核心) | 大腦 | 串接 OpenAI、Claude、DeepSeek,負責理解指令與生成內容。 |
| Skills (技能插件) | 手腳 | 透過 SKILL.md 定義 API 呼叫,讓 AI 學會操作 GitHub、Notion 等。 |
| Gateway (通訊網關) | 嘴巴 | 串接 Telegram、Discord 或 Slack,讓你可以用聊天的方式下指令。 |
| Shell (執行環境) | 軀幹 | 允許 AI 在伺服器上執行 git、curl 或 Python 腳本。 |
2. Openclaw 支援的雲端平台與整合
根據你的需求,這裡整理了它最常連動的平台分類:
| 分類 | 支援平台 / 工具 | 典型應用場景 |
|---|---|---|
| 代碼託管 | GitHub, Gitea | 定期備份爬蟲結果、自動提交 AI 分析報告。 |
| 生產力工具 | Notion, Google Sheets, Obsidian | 將抓取的資料轉存為結構化表格或知識庫筆記。 |
| 通訊介面 | Telegram, Discord, Slack, iMessage | 透過手機接收爬蟲完成通知,或下令執行任務。 |
| AI 模型雲 | OpenAI, Anthropic, OpenRouter | 對原始資料進行總結、翻譯、或情緒分析。 |
| 雲端存儲 | Cloudflare R2, Google Drive | 儲存大型圖片或爬取下來的文件檔案。 |
3. GitHub 自動化操作方案對比
如果你要操作 GitHub,可以根據你的技術背景選擇不同的路徑:
| 方案 | 難易度 | 優點 | 缺點 |
|---|---|---|---|
| Shell 腳本 (Bash) | ⭐ | 設定最快,直接在 Cron Job 執行即可。 | 功能較單一,難以處理複雜邏輯。 |
| Python (GitPython) | ⭐⭐ | 適合在 AI 分析後直接調用,邏輯嚴謹。 | 需要安裝額外的 Python 套件環境。 |
| GitHub Actions | ⭐⭐⭐ | 完全雲端化,不佔用自己的電腦或 VPS。 | 有執行時數限制,且不適合高頻率爬蟲。 |
| Openclaw Skill | ⭐⭐⭐ | 整合度最高,可以直接對 AI 說「幫我推送到 Git」。 | 需要撰寫符合規範的 SKILL.md 文件。 |
4. 典型工作流:從爬蟲到 GitHub
這是一個完整的自動化鏈條,你可以參考這個邏輯來設計你的任務:
| 步驟 | 動作 | 工具 / 方法 |
|---|---|---|
| 1. 觸發 | 定時啟動 (例如每日 09:00) | Linux Crontab / GitHub Actions Schedule |
| 2. 抓取 | 執行 Openclaw 爬蟲任務 | openclaw run task.yaml |
| 3. 處理 | AI 進行內容分析或格式轉換 | Openclaw Brain (GPT-4o / Claude 3.5) |
| 4. 儲存 | 將結果存為 result.md 或 data.json |
Local File System |
| 5. 上傳 | Git Commit & Push | git add . && git push |
| 6. 通知 | 發送執行成功訊息 | Openclaw Gateway (Telegram) |