OpenClaw 存取與控制 Claude 產品的方式與最佳實踐

OpenClaw 存取與控制 Claude 產品的方式與最佳實踐

一、先搞清楚三個 Claude 產品的定位

OpenClaw 是通用型生活自動化助理,透過訊息平台連接 AI 模型,24/7 背景運行。Claude Code 是終端機內的程式碼 Agent。Claude Cowork 是桌面端的檔案/工作流 Agent,運行在沙盒化 VM 中。三者架構完全不同,OpenClaw 要「控制」它們,方法也不一樣。


二、OpenClaw 接入 Claude 模型的三種認證路徑

路徑 1:Anthropic API Key(官方推薦、最安全)

OpenClaw 官方文件明確建議:若使用 Anthropic,API Key 是最安全的路徑,優先於訂閱制的 setup-token。操作方式:

  • 在 Anthropic Console 建立 API Key
  • 設定環境變數 ANTHROPIC_API_KEY 或寫入 ~/.openclaw/.env
  • 執行 openclaw models status 確認

優點:完整模型存取(含 1M context)、符合 TOS、穩定。
缺點:按 token 計費,無消費上限。

路徑 2:Claude Code setup-token(訂閱制轉接)

在 gateway 主機上執行 claude setup-token,再透過 openclaw models auth setup-token --provider anthropic 貼入。

但要注意:這個憑證僅授權用於 Claude Code,不能用於其他 API 請求。Anthropic 過去曾封鎖訂閱制在 Claude Code 以外的使用。

路徑 3:OAuth 流程(風險最高,正在被收緊)

一位使用者測試發現:選用 1M token context window 的模型會導致 OAuth 失敗,切換到 Sonnet 4.6 或 Opus 4.6 的 200k context 就恢復正常。但同時,Anthropic 已向 OpenCode 等第三方發出法律請求,確認將移除第三方 Claude 整合的 OAuth 支援。


三、OpenClaw 控制 Claude Code 的方式

社群開發了一個專門的 MCP 技能套件 — openclaw-claude-code-skill

透過 MCP 協議直接存取所有 Claude Code 工具,支援持久化 Session、effort 等級控制(low/medium/high/max + ultrathink)、Plan Mode、Context 管理、Agent 團隊部署、工具細粒度控制及預算上限。

安裝方式:

git clone https://github.com/Enderfga/openclaw-claude-code-skill.git
cd openclaw-claude-code-skill && npm install && npm run build && npm link

常用指令:

claude-code-skill session-start myproject -d ~/project --effort high
claude-code-skill session-send myproject "Add rate limiting" --stream --plan
claude-code-skill session-compact myproject   # context 不夠時壓縮
claude-code-skill session-model myproject sonnet  # 中途切換模型

四、OpenClaw 接入 Claude Desktop App / Claude.ai 的方式

社群有 openclaw-mcp 橋接方案:

這是一個 MCP server,作為 Claude.ai 與自架 OpenClaw 助理之間的安全橋接,支援 OAuth2 認證。架構是:

Claude.ai (MCP Client) → OpenClaw MCP Bridge Server (:3000) → OpenClaw Gateway (:18789)

這讓你可以從 Claude.ai 介面直接對話你的 OpenClaw agent。


五、OpenClaw 與 Claude Cowork 的整合

Claude Cowork 是封閉式沙盒環境,無法直接被 OpenClaw 控制。社群的替代方案:

  1. Relay(SeventeenLabs/relay):一個 Electron 桌面應用,提供與 Claude Cowork 相同的體驗——自主任務執行、排程、子 Agent、連接器——但在你自己的基礎設施上,使用你選擇的模型,並有真正的治理機制。

  2. Dispatch + Channels 搭配:Anthropic 推出了 Dispatch(從手機遠端操控桌面 Claude Cowork session)和 Channels(連接 Telegram/Discord),形成 Cowork + Dispatch + Channels 的原生堆疊。如果不想折騰,這是最省事的路。


六、社群推薦的最佳實踐

認證策略

  • 生產環境 / 長時間運行:用 API Key,不要用 OAuth
  • 個人實驗:setup-token 可以用,但要理解政策風險
  • Anthropic 官方已澄清:不會因為使用 OpenClaw 而取消帳號,但如果你是在 Agent SDK 之上建構商業產品,應該使用 API Key。

安全性

  • 永遠不要以 root 身份運行 OpenClaw。使用 openclaw.json 中的 Allowlist 限制 Agent 可存取的目錄。保持 tail -f ~/.openclaw/logs/gateway.log 監控。讓 Agent 執行 shell 指令時,Docker 容器是最佳選擇。

成本控制

  • 善用 model 和 effort 前置設定:Haiku 做分類/篩選、Sonnet 中等 effort 處理例行任務、Opus 高 effort 只用於複雜推理。搭配 maxTurns 防止成本失控。

架構建議

  • 推薦的做法是:OpenClaw 可以觸發 Claude Code 任務、監控 repo、並協調工作流。兩者搭配使用,OpenClaw 當 daemon 排程層,Claude Code 當程式碼執行層。

七、TL;DR 決策表

需求 推薦方案
OpenClaw 用 Claude 模型 Anthropic API Key(最穩)
OpenClaw 控制 Claude Code openclaw-claude-code-skill via MCP
Claude.ai 對話 OpenClaw agent openclaw-mcp bridge server
取代 Cowork 但開源 Relay (SeventeenLabs)
手機遠端控制桌面 Agent Anthropic 原生 Dispatch + Channels
24/7 + 強推理 OpenClaw daemon + Claude API Key

OpenClaw agent 透過 tool calling 直接操控本地的 Claude Desktop App,去使用 Cowork 的能力

坦白說,這目前沒有官方支援的乾淨路徑。Cowork 跑在 Claude Desktop App 的沙盒 VM 裡,沒有公開 API。但社群有幾條 workaround:


方法一:透過 macOS 桌面自動化操控 Claude Desktop App

OpenClaw 的 exec tool 可以執行 shell 指令。在 macOS 上,你可以用 AppleScript / osascript 直接操控 Claude Desktop App 的 GUI:

# OpenClaw exec tool → osascript → 操控 Claude Desktop
osascript -e '
  tell application "Claude" to activate
  delay 1
  tell application "System Events"
    keystroke "幫我整理 Downloads 資料夾" 
    keystroke return
  end tell
'

限制

  • 需要授予 Accessibility 權限
  • 純粹是 GUI 模擬(按鍵、點擊),不是結構化 tool calling
  • Cowork 的回應無法程式化地回傳給 OpenClaw — 你得再用截圖 + OCR 或 AppleScript 讀取視窗內容
  • Claude Cowork 在 session 內運作,關閉桌面 app 就停了,不像 OpenClaw 可以持久運行

適用場景:簡單的「幫我觸發一個 Cowork 任務」、不需要回傳結果的 fire-and-forget 型操作。


方法二:用 Claude Code CLI 當中間層(社群推薦做法)

社群推薦的做法是:OpenClaw 觸發 Claude Code 任務、監控 repo、協調工作流。兩者互補。

Claude Code CLI 是有結構化 API 的,而 Cowork 和 Claude Code 底層共用同一個 Agent SDK。所以實務上的做法是:繞過 Cowork GUI,直接用 Claude Code CLI 達成同樣的事

社群已經有現成的 OpenClaw Skills:

claude-code-task — 在背景執行 Claude Code 任務,自動回傳結果。claude-tmux — 管理跑在 tmux session 裡的 Claude Code 實例。claude-team — 透過 iTerm2 協調多個 Claude Code worker。

以及前面提到的 openclaw-claude-code-skill(MCP 方式):

透過 MCP 協議直接存取所有 Claude Code 工具,支援持久化 Session、effort 控制、Plan Mode、Agent 團隊部署。

# 安裝 skill
openclaw install claude-code-task

# OpenClaw agent 就可以在對話中直接呼叫:
# "用 Claude Code 幫我把 ~/Downloads 裡的 PDF 整理到按日期分類的資料夾"
# → OpenClaw 透過 claude-code-task skill → 啟動 Claude Code CLI → 執行任務 → 回傳結果

這是目前社群最推薦的路徑,因為 Claude Code CLI 本身就有 Computer Use 能力,效果等同 Cowork 但可程式化控制。


方法三:Dispatch API(新,待觀察)

Dispatch 是 Claude Cowork 內的一個功能,提供跨裝置的持久對話 thread。你可以在通勤時從手機啟動任務,Claude 會在你家的 Mac 上接手執行。

目前 Dispatch 只能從 Claude mobile app 觸發,沒有公開 REST API。但理論上 OpenClaw 可以:

  1. exec tool 模擬 Claude mobile app 的行為(難度高)
  2. 等 Anthropic 開放 Dispatch API(還沒有時程表)
  3. 透過 Channels(Telegram/Discord)間接觸發 — OpenClaw 發訊息到 Telegram → Claude Code Channels 接收 → 執行

方法四:openclaw-mcp bridge(反向橋接)

openclaw-mcp 是一個 MCP server,作為 Claude.ai 與自架 OpenClaw 之間的橋接。

這是反向的 — 讓 Claude Desktop App 可以呼叫 OpenClaw 的能力,不是 OpenClaw 控制 Cowork。但如果你的真正需求是「兩邊互通」,可以搭配方法二形成雙向架構:

OpenClaw → claude-code-task → Claude Code CLI → 執行任務
Claude Desktop (Cowork) → openclaw-mcp → OpenClaw Gateway → 呼叫 OpenClaw Skills

TL;DR 決策建議

你真正想做的事 推薦路徑
OpenClaw 觸發 Cowork 做檔案整理 方法二:用 claude-code-task skill 直接呼叫 Claude Code CLI,效果等同 Cowork
OpenClaw 操控 Claude Desktop App GUI 方法一exec + AppleScript,但很 hacky
從手機透過 OpenClaw 遠端觸發電腦上的 Cowork 方法三:等 Dispatch API,或用 Channels 間接繞路
雙向互通 方法二 + 四:claude-code-task + openclaw-mcp

核心結論:目前不存在 OpenClaw 直接 tool-call Cowork 的官方管道。社群的共識是 — 不要試圖操控 Cowork GUI,而是直接用 Claude Code CLI 作為程式化的替代品,因為底層能力是一樣的,而 Claude Code 有 CLI/MCP 介面可以被 OpenClaw 結構化地呼叫。