前 60 秒:如果有東西壞了
深度探測
執行 doctor(修復)
閘道快照(僅 WS)
快速開始與首次執行設定
首次執行問答 - 安裝、onboard、驗證路徑、訂閱、初始失敗 - 位於首次執行 FAQ。OpenClaw 是什麼?
用一段話說明 OpenClaw 是什麼?
用一段話說明 OpenClaw 是什麼?
價值主張
價值主張
- 你的裝置、你的資料:在任何你想要的位置執行閘道(Mac、Linux、VPS),並將工作區與工作階段歷史保留在本機。
- 真正的頻道,而不是網頁沙盒:Discord/iMessage/Signal/Slack/Telegram/WhatsApp/等等,加上支援平台上的行動語音與 Canvas。
- 不綁定模型:使用 Anthropic、MiniMax、OpenAI、OpenRouter 等,並支援每個代理的路由與故障轉移。
- 僅本機選項:執行本機模型,讓所有資料都能留在你的裝置上。
- 多代理路由:依頻道、帳號或任務分開代理,每個代理都有自己的工作區與預設值。
- 開源且可改造:可檢查、擴充並自行託管,沒有供應商鎖定。
我剛設定好 - 我應該先做什麼?
我剛設定好 - 我應該先做什麼?
OpenClaw 最常見的五個日常用途是什麼?
OpenClaw 最常見的五個日常用途是什麼?
- 個人簡報:摘要你關心的收件匣、行事曆與新聞。
- 研究與草擬:快速研究、摘要,以及電子郵件或文件初稿。
- 提醒與後續追蹤:由排程或心跳偵測驅動的提醒與檢查清單。
- 瀏覽器自動化:填寫表單、收集資料、重複執行網頁任務。
- 跨裝置協作:從手機送出任務,讓閘道在伺服器上執行,再把結果傳回聊天。
OpenClaw 能協助 SaaS 的潛在客戶開發、外展、廣告與部落格嗎?
OpenClaw 能協助 SaaS 的潛在客戶開發、外展、廣告與部落格嗎?
與 Claude Code 相比,OpenClaw 對網頁開發的優勢是什麼?
與 Claude Code 相比,OpenClaw 對網頁開發的優勢是什麼?
- 跨工作階段的持久記憶與工作區。
- 多平台存取(Telegram、WhatsApp、終端介面、WebChat)。
- 工具編排(瀏覽器、檔案、排程、hooks)。
- 常駐閘道(在 VPS 上執行,從任何地方互動)。
- 用於本機瀏覽器/螢幕/相機/exec 的節點。
Skills 與自動化
如何自訂 Skills,而不讓 repo 變髒?
如何自訂 Skills,而不讓 repo 變髒?
~/.openclaw/skills/<name>/SKILL.md(或透過 ~/.openclaw/openclaw.json 中的 skills.load.extraDirs 新增資料夾)。優先順序:<workspace>/skills -> <workspace>/.agents/skills -> ~/.agents/skills -> ~/.openclaw/skills -> 隨附 -> skills.load.extraDirs,因此受管理的覆寫會勝過隨附 Skills,且不會碰到 git。若要全域安裝但限制只有部分代理可見,請將共用複本放在 ~/.openclaw/skills,並使用 agents.defaults.skills / agents.list[].skills 控制可見性。只有值得上游收錄的編輯,才應該針對 repo 複本送出 PR。我可以從自訂資料夾載入 Skills 嗎?
我可以從自訂資料夾載入 Skills 嗎?
~/.openclaw/openclaw.json 中透過 skills.load.extraDirs 新增目錄(在上述順序中優先順序最低)。clawhub 預設安裝到 ./skills,OpenClaw 會在下一個工作階段將其視為 <workspace>/skills。若要限制只讓特定代理可見,請搭配 agents.defaults.skills 或 agents.list[].skills。如何針對不同任務使用不同模型或設定?
如何針對不同任務使用不同模型或設定?
- 排程工作:隔離工作可以為每個工作設定
model覆寫。 - 代理:將任務路由到不同代理,並使用不同的預設模型、思考層級與串流參數。
- 隨選切換:
/model可隨時切換目前工作階段模型。
agents.defaults.models["provider/model"].params,然後把代理特定覆寫放在扁平的 agents.list[].params。不要在巢狀的 agents.list[].models["provider/model"].params 下重複相同模型;該路徑是用於每代理模型目錄與執行階段覆寫。請參閱排程工作、多代理路由、設定、斜線命令。Bot 在執行繁重工作時凍結。我要如何卸載該工作?
Bot 在執行繁重工作時凍結。我要如何卸載該工作?
Discord 上的執行緒綁定子代理工作階段如何運作?
Discord 上的執行緒綁定子代理工作階段如何運作?
- 使用
sessions_spawn搭配thread: true生成(可選用mode: "session"以支援持久後續追蹤)。 - 或使用
/focus <target>手動綁定。 /agents檢查綁定狀態。/session idle <duration|off>與/session max-age <duration|off>控制自動取消聚焦。/unfocus會解除執行緒附加。
session.threadBindings.enabled(全域開關)、session.threadBindings.idleHours(預設 24,0 停用)、session.threadBindings.maxAgeHours(預設 0 = 無硬性上限),以及每頻道覆寫 channels.discord.threadBindings.{enabled,idleHours,maxAgeHours}。channels.discord.threadBindings.spawnSessions 會限制生成時的自動綁定(預設 true)。文件:子代理、Discord、設定參考、斜線命令。子代理完成了,但完成更新傳到錯誤位置或完全沒有發布。我該檢查什麼?
子代理完成了,但完成更新傳到錯誤位置或完全沒有發布。我該檢查什麼?
- 完成模式的子代理遞送會優先使用已綁定的執行緒或對話路由(如果存在)。
- 如果完成來源只帶有頻道,OpenClaw 會退回使用請求者工作階段儲存的路由(
lastChannel/lastTo/lastAccountId),讓直接遞送仍可成功。 - 沒有綁定路由,也沒有可用的已儲存路由:直接遞送可能失敗,結果會退回到佇列工作階段遞送,而不是立即發布。
- 無效或過時的目標也可能強制退回佇列,或導致最終遞送失敗。
- 如果子代理最後可見的助理回覆正好是
NO_REPLY/no_reply或ANNOUNCE_SKIP,OpenClaw 會刻意抑制公告,而不是發布較早的過時進度。
openclaw tasks show <lookup>,其中 <lookup> 是任務 id、run id 或工作階段 key。文件:子代理、背景任務、工作階段工具。排程或提醒沒有觸發。我該檢查什麼?
排程或提醒沒有觸發。我該檢查什麼?
Cron 已觸發,但沒有任何內容傳送到頻道。為什麼?
Cron 已觸發,但沒有任何內容傳送到頻道。為什麼?
--no-deliver/delivery.mode: "none":不會預期有 runner 後援傳送。- 缺少或無效的公告目標(
channel/to):runner 已略過外送傳遞。 - 頻道驗證失敗(
unauthorized、Forbidden):runner 嘗試傳遞,但憑證阻擋了它。 - 靜默的隔離結果(僅
NO_REPLY/no_reply)會被視為刻意不可傳遞,因此佇列中的後援傳遞也會被抑制。
message 工具直接傳送。--announce 只控制代理尚未自行傳送之最終文字的 runner 後援傳遞。偵錯:為什麼隔離的排程執行會切換模型或重試一次?
為什麼隔離的排程執行會切換模型或重試一次?
如何在 Linux 上安裝 Skills?
如何在 Linux 上安裝 Skills?
openclaw skills 命令,或將 Skills 放進你的工作區;macOS Skills UI 在 Linux 上不可用。可在 https://clawhub.ai 瀏覽 Skills。openclaw skills install 預設會寫入作用中工作區的 skills/ 目錄。加入 --global 可安裝到所有本機代理共用的受管理 Skills 目錄。只有在要發布或同步自己的 Skills 時,才需要安裝獨立的 clawhub 命令列介面。使用 agents.defaults.skills 或 agents.list[].skills 來限制哪些代理可看到共用 Skills。OpenClaw 可以依排程或持續在背景執行工作嗎?
OpenClaw 可以依排程或持續在背景執行工作嗎?
可以從 Linux 執行僅限 Apple macOS 的 Skills 嗎?
可以從 Linux 執行僅限 Apple macOS 的 Skills 嗎?
metadata.openclaw.os 加上必要二進位檔限制,且只有在閘道主機符合資格時才會載入。在 Linux 上,僅限 darwin 的 Skills(apple-notes、apple-reminders、things-mac)除非覆寫限制,否則不會載入。三種受支援模式:選項 A - 在 Mac 上執行閘道(最簡單)。在有 macOS 二進位檔的位置執行閘道,然後從 Linux 以遠端模式或透過 Tailscale 連線。因為閘道主機是 macOS,Skills 會正常載入。選項 B - 使用 macOS 節點(無需 SSH)。在 Linux 上執行閘道,配對一個 macOS 節點(選單列應用程式),並在 Mac 上將節點執行命令設為「Always Ask」或「Always Allow」。當節點上存在必要二進位檔時,OpenClaw 會將僅限 macOS 的 Skills 視為符合資格;代理會透過 nodes 工具執行它們。使用「Always Ask」時,在提示中核准「Always Allow」會將該命令加入允許清單。選項 C - 透過 SSH 代理 macOS 二進位檔(進階)。將閘道保留在 Linux 上,但讓必要的命令列介面二進位檔解析為會在 Mac 上執行的 SSH wrapper,然後覆寫 Skill 以允許 Linux,讓它保持符合資格。- 為二進位檔建立 SSH wrapper(範例:Apple Notes 的
memo): - 將 wrapper 放到 Linux 主機的
PATH上(例如~/bin/memo)。 - 覆寫 Skill 中繼資料(工作區或
~/.openclaw/skills)以允許 Linux: - 啟動新的工作階段,讓 Skills 快照重新整理。
你們有 Notion 或 HeyGen 整合嗎?
你們有 Notion 或 HeyGen 整合嗎?
- 自訂 Skill / 外掛:最適合可靠的 API 存取(兩者都有 API)。
- 瀏覽器自動化:不需程式碼即可運作,但速度較慢且較脆弱。
skills/ 目錄;使用 --global 可供所有本機代理使用,或設定 agents.defaults.skills / agents.list[].skills 以限制可見性。有些 Skills 需要透過 Homebrew 安裝的二進位檔;在 Linux 上這表示 Linuxbrew。請參閱 Skills、Skills 設定、ClawHub。如何在 OpenClaw 中使用我現有已登入的 Chrome?
如何在 OpenClaw 中使用我現有已登入的 Chrome?
user 瀏覽器設定檔,它會透過 Chrome DevTools MCP 連接:existing-session / user 設定檔相較於受管理的 openclaw 設定檔,目前限制如下:click、type、hover、scrollIntoView、drag和select需要快照 ref,而不是 CSS 選擇器。- 上傳 hook 需要
ref或inputRef,一次一個檔案,不支援 CSSelement。 responsebody、PDF 匯出、下載攔截和批次動作仍需要受管理的瀏覽器路徑。
沙箱與記憶
Docker 感覺受限,如何啟用完整功能?
Docker 感覺受限,如何啟用完整功能?
可以用同一個代理讓 DM 保持個人,但讓群組公開/沙箱化嗎?
可以用同一個代理讓 DM 保持個人,但讓群組公開/沙箱化嗎?
agents.defaults.sandbox.mode: "non-main",讓群組/頻道工作階段(非主要鍵)在已設定的沙箱後端執行,而主要 DM 工作階段保留在主機上。啟用沙箱後,Docker 是預設後端。透過 tools.sandbox.tools 限制沙箱化工作階段可用的工具。設定教學:群組:個人 DM + 公開群組。重要參考:閘道設定。記憶如何運作?
記憶如何運作?
memory/YYYY-MM-DD.md,精選長期筆記位於 MEMORY.md(僅限主要/私人工作階段)。OpenClaw 也會在壓縮摘要對話之前,執行靜默的壓縮前記憶清理,提醒模型先寫入持久筆記。它只會在工作區可寫入時執行(唯讀沙箱會略過);可用 agents.defaults.compaction.memoryFlush.enabled: false 停用。請參閱記憶。記憶一直忘記事情。如何讓它記住?
記憶一直忘記事情。如何讓它記住?
記憶會永遠保留嗎?有哪些限制?
記憶會永遠保留嗎?有哪些限制?
語意記憶搜尋需要 OpenAI API 金鑰嗎?
語意記憶搜尋需要 OpenAI API 金鑰嗎?
OPENAI_API_KEY 或 models.providers.openai.apiKey)。若要保持本機使用,請設定 agents.defaults.memorySearch.provider: "local"(GGUF/llama.cpp)。其他支援的提供者:Bedrock、DeepInfra、Gemini(GEMINI_API_KEY 或 memorySearch.remote.apiKey)、GitHub Copilot、LM Studio、Mistral、Ollama、OpenAI 相容,以及 Voyage。設定詳情請參閱記憶與記憶搜尋。內容在磁碟上的位置
所有與 OpenClaw 搭配使用的資料都會儲存在本機嗎?
所有與 OpenClaw 搭配使用的資料都會儲存在本機嗎?
OpenClaw 會將資料儲存在哪裡?
OpenClaw 會將資料儲存在哪裡?
$OPENCLAW_STATE_DIR 底下(預設:~/.openclaw):| 路徑 | 用途 |
|---|---|
$OPENCLAW_STATE_DIR/openclaw.json | 主要設定(JSON5) |
$OPENCLAW_STATE_DIR/credentials/oauth.json | 舊版 OAuth 匯入(首次使用時複製到驗證設定檔) |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json | 驗證設定檔(OAuth、API 金鑰、可選的 keyRef/tokenRef) |
$OPENCLAW_STATE_DIR/secrets.json | file SecretRef 提供者的可選檔案支援祕密酬載 |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json | 舊版相容性檔案(靜態 api_key 項目已清除) |
$OPENCLAW_STATE_DIR/credentials/ | 提供者狀態(例如 whatsapp/<accountId>/creds.json) |
$OPENCLAW_STATE_DIR/agents/ | 每個代理的狀態(agentDir + 工作階段) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/ | 對話歷史與狀態(每個代理) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json | 工作階段中繼資料(每個代理) |
~/.openclaw/agent/* 會由 openclaw doctor 遷移。你的工作區(AGENTS.md、記憶檔案、Skills 等)是分開的,透過 agents.defaults.workspace 設定(預設:~/.openclaw/workspace)。AGENTS.md / SOUL.md / USER.md / MEMORY.md 應該放在哪裡?
AGENTS.md / SOUL.md / USER.md / MEMORY.md 應該放在哪裡?
~/.openclaw。- 工作區(每個代理):
AGENTS.md、SOUL.md、IDENTITY.md、USER.md、MEMORY.md、memory/YYYY-MM-DD.md、可選的HEARTBEAT.md。小寫根目錄memory.md僅作為舊版修復輸入;當兩者都存在時,openclaw doctor --fix可將它合併到MEMORY.md。 - 狀態目錄(
~/.openclaw):設定、頻道/提供者狀態、驗證設定檔、工作階段、日誌、共享 Skills(~/.openclaw/skills)。
~/.openclaw/workspace,可設定:我可以讓 SOUL.md 更大嗎?
我可以讓 SOUL.md 更大嗎?
建議的備份策略
建議的備份策略
~/.openclaw 底下的任何內容(憑證、工作階段、權杖、加密祕密酬載)。若要完整還原,請分別備份工作區與狀態目錄。文件:代理工作區。我要如何完全解除安裝 OpenClaw?
我要如何完全解除安裝 OpenClaw?
代理可以在工作區之外運作嗎?
代理可以在工作區之外運作嗎?
agents.defaults.sandbox 或每個代理的沙箱設定。若要將某個 repo 設為預設工作目錄,請將該代理的 workspace 指向 repo 根目錄 - OpenClaw repo 本身只是原始碼,因此除非你刻意要讓代理在其中工作,否則請將工作區分開。遠端模式:工作階段儲存區在哪裡?
遠端模式:工作階段儲存區在哪裡?
設定基礎
設定是什麼格式?在哪裡?
設定是什麼格式?在哪裡?
$OPENCLAW_CONFIG_PATH 讀取可選的 JSON5 設定(預設:~/.openclaw/openclaw.json)。如果檔案遺失,它會使用相對安全的預設值,包括預設工作區 ~/.openclaw/workspace。我設定了 gateway.bind: "lan"(或 "tailnet"),現在沒有任何東西在監聽 / UI 顯示未授權
我設定了 gateway.bind: "lan"(或 "tailnet"),現在沒有任何東西在監聽 / UI 顯示未授權
gateway.auth.mode: "trusted-proxy"。gateway.remote.token/.password本身不會啟用本機閘道驗證;只有在未設定gateway.auth.*時,本機呼叫路徑才可使用gateway.remote.*作為後備。- 對於密碼驗證,請設定
gateway.auth.mode: "password"加上gateway.auth.password(或OPENCLAW_GATEWAY_PASSWORD)。 - 如果
gateway.auth.token/.password透過 SecretRef 明確設定且無法解析,解析會封閉失敗(不會以遠端後備遮蔽)。 - 共享祕密 Control UI 設定會透過
connect.params.auth.token或connect.params.auth.password(儲存在 app/UI 設定中)驗證。帶有身分的模式,例如 Tailscale Serve 或trusted-proxy,則改用請求標頭 - 避免將共享祕密放入 URL。 - 使用
gateway.auth.mode: "trusted-proxy"時,同主機 loopback 反向代理需要明確設定gateway.auth.trustedProxy.allowLoopback = true,並在gateway.trustedProxies中加入 loopback 項目。
為什麼現在 localhost 也需要權杖?
為什麼現在 localhost 也需要權杖?
gateway.auth.token、gateway.auth.password、OPENCLAW_GATEWAY_TOKEN 或 OPENCLAW_GATEWAY_PASSWORD。你也可以選擇密碼模式,或對具備身分感知的反向代理使用 trusted-proxy。若要開放 loopback,請明確設定 gateway.auth.mode: "none"。openclaw doctor --generate-gateway-token 可隨時產生權杖。變更設定後一定要重新啟動嗎?
變更設定後一定要重新啟動嗎?
gateway.reload.mode: "hybrid"(預設)會熱套用安全變更,並針對關鍵變更重新啟動。也支援 hot、restart 與 off。大多數 tools.*、agents.* 政策、session.* 與 messages.* 變更會立即套用,完全不需要重新載入動作;gateway.* 綁定/連接埠變更需要重新啟動。我要如何啟用網頁搜尋(以及網頁擷取)?
我要如何啟用網頁搜尋(以及網頁擷取)?
web_fetch 不需要 API 金鑰即可運作。web_search 取決於你選擇的提供者:| 提供者 | 不需金鑰 | 環境變數 |
|---|---|---|
| Brave | 否 | BRAVE_API_KEY |
| DuckDuckGo | 是(非官方、基於 HTML) | - |
| Exa | 否 | EXA_API_KEY |
| Firecrawl | 否 | FIRECRAWL_API_KEY |
| Gemini | 否 | GEMINI_API_KEY |
| Grok | 否(xAI OAuth 或金鑰) | XAI_API_KEY |
| Kimi | 否 | KIMI_API_KEY 或 MOONSHOT_API_KEY |
| MiniMax Search | 否 | MINIMAX_CODE_PLAN_KEY、MINIMAX_CODING_API_KEY 或 MINIMAX_API_KEY |
| Ollama Web Search | 是(需要 ollama signin) | - |
| Perplexity | 否 | PERPLEXITY_API_KEY 或 OPENROUTER_API_KEY |
| SearXNG | 是(自行託管) | SEARXNG_BASE_URL |
| Tavily | 否 | TAVILY_API_KEY |
openclaw onboard --auth-choice xai-oauth)。建議:使用 openclaw configure --section web 並選擇提供者。plugins.entries.<plugin>.config.webSearch.* 底下。舊版 tools.web.search.* 供應商路徑仍會為了相容性而載入,但不應在新設定中使用。Firecrawl 網頁擷取後援設定位於 plugins.entries.firecrawl.config.webFetch.* 底下。- 允許清單:加入
web_search/web_fetch/x_search,或使用group:web代表全部三者。 web_fetch預設已啟用。- 如果省略
tools.web.fetch.provider,OpenClaw 會從可用憑證中自動偵測第一個就緒的擷取後援供應商;官方 Firecrawl 外掛會提供該後援。 - 常駐程式會從
~/.openclaw/.env(或服務環境)讀取環境變數。
config.apply 清掉了我的設定。我要如何復原並避免這種情況?
config.apply 清掉了我的設定。我要如何復原並避免這種情況?
config.apply 會取代整個設定;部分物件會移除其他所有內容。目前的 OpenClaw 會防護大多數意外覆寫:- OpenClaw 擁有的設定寫入會在寫入前驗證完整的變更後設定。
- 無效或具破壞性的 OpenClaw 擁有寫入會被拒絕,並儲存為
openclaw.json.rejected.*。 - 直接編輯導致啟動或熱重新載入失敗時,閘道會故障關閉或略過重新載入;它不會重寫
openclaw.json。 openclaw doctor --fix負責修復,可以還原最後已知良好版本,並將被拒絕的檔案儲存為openclaw.json.clobbered.*。
- 檢查
openclaw logs --follow是否出現Invalid config at、Config write rejected:或config reload skipped (invalid config)。 - 檢查有效設定旁最新的
openclaw.json.clobbered.*或openclaw.json.rejected.*。 - 執行
openclaw config validate和openclaw doctor --fix。 - 只用
openclaw config set或config.patch複製預期的鍵回去。 - 沒有最後已知良好版本或被拒絕的承載資料:從備份還原,或重新執行
openclaw doctor並重新設定通道/模型。 - 非預期遺失:附上你最後已知的設定或備份來提交錯誤。local coding agent 通常可以從日誌或歷史記錄重建可運作的設定。
openclaw config set,互動式編輯使用 openclaw configure,檢查不熟悉的路徑時使用 config.schema.lookup(會傳回淺層結構描述節點和直接子項摘要),部分 RPC 編輯使用 config.patch - 將 config.apply 保留給完整設定取代。面向代理的 gateway 執行階段工具即使透過舊版 tools.bash.* 別名,也會拒絕重寫 tools.exec.ask / tools.exec.security。文件:設定、設定工具、閘道疑難排解、Doctor。我要如何跨裝置執行中央閘道和專用工作器?
我要如何跨裝置執行中央閘道和專用工作器?
OpenClaw 瀏覽器可以無頭執行嗎?
OpenClaw 瀏覽器可以無頭執行嗎?
false(有頭)。無頭模式在某些網站上更可能觸發反機器人檢查(X/Twitter 經常封鎖無頭工作階段)。它使用相同的 Chromium 引擎,適用於大多數自動化;主要差異是沒有可見的瀏覽器視窗(使用螢幕截圖查看視覺內容)。請參閱瀏覽器。我要如何使用 Brave 進行瀏覽器控制?
我要如何使用 Brave 進行瀏覽器控制?
browser.executablePath 設為你的 Brave 二進位檔(或任何 Chromium 架構的瀏覽器),然後重新啟動閘道。請參閱瀏覽器。遠端閘道與節點
命令如何在 Telegram、閘道和節點之間傳遞?
命令如何在 Telegram、閘道和節點之間傳遞?
node.* -> 節點 -> 閘道 -> Telegram節點看不到傳入的供應商流量;它們只會接收節點 RPC 呼叫。如果閘道託管在遠端,我的代理要如何存取我的電腦?
如果閘道託管在遠端,我的代理要如何存取我的電腦?
node.* 工具(螢幕、相機、系統)。- 在永遠開機的主機(VPS/家用伺服器)上執行閘道。
- 將閘道主機和你的電腦放在同一個 tailnet 上。
- 確認閘道 WS 可連線(tailnet 繫結或 SSH 通道)。
- 在本機開啟 macOS App,並以透過 SSH 遠端模式(或直接 tailnet)連線,讓它註冊為節點。
- 核准節點:
system.run。只配對你信任的裝置;請查閱安全性。文件:節點、閘道通訊協定、macOS 遠端模式、安全性。Tailscale 已連線,但我沒有收到回覆。現在該怎麼辦?
Tailscale 已連線,但我沒有收到回覆。現在該怎麼辦?
兩個 OpenClaw 實例可以互相通訊嗎(本機 + VPS)?
兩個 OpenClaw 實例可以互相通訊嗎(本機 + VPS)?
openclaw agent --message ... --deliver 呼叫另一個閘道,目標設定為另一個機器人正在監聽的聊天。如果其中一個機器人在遠端 VPS 上,請透過 SSH/Tailscale 將你的命令列介面指向該遠端閘道(請參閱遠端存取):多個代理需要獨立的 VPS 嗎?
多個代理需要獨立的 VPS 嗎?
使用個人筆電上的節點,而不是從 VPS 使用 SSH,有什麼好處嗎?
使用個人筆電上的節點,而不是從 VPS 使用 SSH,有什麼好處嗎?
- 不需要傳入 SSH - 節點透過裝置配對向外連線到閘道 WebSocket。
- 更安全的執行控制 -
system.run受到該筆電上的節點允許清單/核准管控。 - 更多裝置工具 - 除了
system.run,節點還會公開canvas、camera和screen。 - 本機瀏覽器自動化 - 將閘道保留在 VPS 上,但透過節點主機在本機執行 Chrome,或透過 Chrome MCP 附加到本機 Chrome。
節點會執行閘道服務嗎?
節點會執行閘道服務嗎?
有套用設定的 API / RPC 方式嗎?
有套用設定的 API / RPC 方式嗎?
config.schema.lookup:在寫入前檢查一個設定子樹,包含其淺層結構描述節點、符合的 UI 提示和直接子項摘要。config.get:擷取目前快照和雜湊。config.patch:安全的部分更新(大多數 RPC 編輯的首選);可行時會熱重新載入,需要時會重新啟動。config.apply:驗證並取代完整設定;可行時會熱重新載入,需要時會重新啟動。- 面向代理的
gateway執行階段工具仍會拒絕重寫tools.exec.ask/tools.exec.security;舊版tools.bash.*別名會正規化到相同的受保護路徑。
首次安裝的最小合理設定
首次安裝的最小合理設定
我要如何在 VPS 上設定 Tailscale,並從我的 Mac 連線?
我要如何在 VPS 上設定 Tailscale,並從我的 Mac 連線?
- 在 VPS 上安裝 + 登入:
- 在你的 Mac 上安裝 + 登入,使用相同 tailnet。
- 啟用 MagicDNS,在 Tailscale 管理主控台中讓 VPS 擁有穩定名稱。
- 使用 tailnet 主機名稱:SSH
ssh user@your-vps.tailnet-xxxx.ts.net;閘道 WSws://your-vps.tailnet-xxxx.ts.net:18789。
如何將 Mac 節點連到遠端閘道(Tailscale Serve)?
如何將 Mac 節點連到遠端閘道(Tailscale Serve)?
- 確認 VPS 和 Mac 位於同一個 tailnet。
- 在遠端模式中使用 macOS 應用程式(SSH 目標可以是 tailnet 主機名稱)- 它會建立閘道連接埠通道,並以節點身分連線。
- 核准節點:
環境變數與 .env 載入
OpenClaw 如何載入環境變數?
OpenClaw 如何載入環境變數?
- 目前工作目錄中的
.env。 - 來自
~/.openclaw/.env的全域備援.env($OPENCLAW_STATE_DIR/.env)。
.env 檔案都不會覆寫既有的環境變數。提供者憑證金鑰對工作區 .env 是例外:像 GEMINI_API_KEY、XAI_API_KEY 或 MISTRAL_API_KEY(以及其他內建提供者驗證環境變數)這類金鑰會從工作區 .env 忽略,應放在程序環境、~/.openclaw/.env 或設定 env 中。設定中的內嵌環境變數只會在程序環境缺少時套用:我透過服務啟動閘道後,環境變數消失了。現在該怎麼辦?
我透過服務啟動閘道後,環境變數消失了。現在該怎麼辦?
- 將缺少的金鑰放入
~/.openclaw/.env,這樣即使服務沒有繼承你的 shell 環境也會載入。 - 啟用 shell 匯入(選擇性便利功能):
這會執行你的登入 shell,並且只匯入缺少的預期金鑰(永不覆寫)。對應的環境變數:
OPENCLAW_LOAD_SHELL_ENV=1、OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000。
我設定了 COPILOT_GITHUB_TOKEN,但 models status 顯示「Shell env:關閉。」為什麼?
我設定了 COPILOT_GITHUB_TOKEN,但 models status 顯示「Shell env:關閉。」為什麼?
openclaw models status 會回報是否已啟用 shell 環境匯入。「Shell env:關閉」不代表你的環境變數遺失 - 它只表示 OpenClaw 不會自動載入你的登入 shell。如果閘道以服務(launchd/systemd)執行,它不會繼承你的 shell 環境。修正方式是將權杖放入 ~/.openclaw/.env、啟用 env.shellEnv.enabled: true,或將它加入設定 env(只會在缺少時套用),然後重新啟動閘道並再次檢查:OPENCLAW_GITHUB_TOKEN,接著 COPILOT_GITHUB_TOKEN,接著 GH_TOKEN,再接著 GITHUB_TOKEN。請參閱 /concepts/model-providers 和 /environment。工作階段與多個聊天
如何開始新的對話?
如何開始新的對話?
/new 或 /reset。請參閱工作階段管理。如果我從不傳送 /new,工作階段會自動重設嗎?
如果我從不傳送 /new,工作階段會自動重設嗎?
session.reset.atHour,預設 4,0-23)輪替,依據目前工作階段的開始時間計算。也可以改用以閒置為基礎的重設,設定 mode: "idle" 和 session.reset.idleMinutes,這會在一段不活動時間後讓工作階段到期(依據最後一次真實互動,而不是心跳偵測/排程/exec 系統事件)。resetByType 支援 direct(舊版別名 dm)、group 和 thread。當未設定 session.reset/resetByType 區塊時,舊版頂層 session.idleMinutes 仍可作為閒置模式預設值的相容別名使用。具有提供者擁有的作用中命令列介面工作階段的工作階段,不會被隱含的每日預設切斷。完整生命週期請參閱工作階段管理。有沒有辦法組成一組 OpenClaw 執行個體團隊(一個 CEO 和許多代理)?
有沒有辦法組成一組 OpenClaw 執行個體團隊(一個 CEO 和許多代理)?
為什麼內容在任務中途被截斷?如何避免?
為什麼內容在任務中途被截斷?如何避免?
- 要求 Bot 摘要目前狀態並寫入檔案。
- 在長任務前使用
/compact,切換主題時使用/new。 - 將重要內容保留在工作區,並要求 Bot 重新讀取。
- 對長時間或平行工作使用子代理,讓主聊天保持較小。
- 如果這經常發生,請選擇具有較大內容視窗的模型。
如何完全重設 OpenClaw 但保留安裝?
如何完全重設 OpenClaw 但保留安裝?
--profile / OPENCLAW_PROFILE),請重設每個狀態目錄(預設 ~/.openclaw-<profile>)。僅限開發的重設:openclaw gateway --dev --reset 會清除開發設定、憑證、工作階段和工作區。我收到「內容太大」錯誤 - 如何重設或壓縮?
我收到「內容太大」錯誤 - 如何重設或壓縮?
為什麼我看到「LLM 請求遭拒:messages.content.tool_use.input 欄位為必填」?
為什麼我看到「LLM 請求遭拒:messages.content.tool_use.input 欄位為必填」?
input 的 tool_use 區塊。通常表示工作階段歷史已過時或損毀(常發生在長討論串或工具/結構描述變更之後)。修正:使用 /new 開始新的工作階段(獨立訊息)。為什麼我每 30 分鐘都會收到心跳偵測訊息?
為什麼我每 30 分鐘都會收到心跳偵測訊息?
heartbeat.every,則為每 1h 執行一次。調整或停用:HEARTBEAT.md 存在但實際上為空(只有空白行、Markdown/HTML 註解、ATX 標題、圍欄標記或空白清單項目存根),OpenClaw 會略過心跳偵測執行以節省 API 呼叫。如果檔案不存在,心跳偵測仍會執行,並由模型決定要做什麼。每個代理的覆寫使用 agents.list[].heartbeat。文件:心跳偵測。我需要將「Bot 帳號」加入 WhatsApp 群組嗎?
我需要將「Bot 帳號」加入 WhatsApp 群組嗎?
groupPolicy: "allowlist")。若要將群組回覆限制為只有你:如何取得 WhatsApp 群組的 JID?
如何取得 WhatsApp 群組的 JID?
為什麼 OpenClaw 不在群組中回覆?
為什麼 OpenClaw 不在群組中回覆?
我可以建立多少個工作區和代理?
我可以建立多少個工作區和代理?
- 磁碟成長:工作階段和逐字稿位於
~/.openclaw/agents/<agentId>/sessions/下。 - 權杖成本:更多代理表示更多並行模型使用。
- 營運負擔:每個代理的驗證設定檔、工作區和頻道路由。
agents.defaults.workspace),如果磁碟成長就修剪舊工作階段,並使用 openclaw doctor 找出零散工作區和設定檔不符。我可以同時執行多個 Bot 或聊天(Slack)嗎?應該如何設定?
我可以同時執行多個 Bot 或聊天(Slack)嗎?應該如何設定?
模型、容錯移轉與驗證設定檔
模型問答 - 預設值、選擇、別名、切換、容錯移轉、驗證設定檔 - 位於模型常見問題。閘道:連接埠、「已在執行」與遠端模式
閘道使用哪個連接埠?
閘道使用哪個連接埠?
gateway.port 控制 WebSocket + HTTP(控制介面、鉤子等)的單一多工連接埠。優先順序:為什麼 openclaw gateway status 顯示「Runtime: running」但顯示「Connectivity probe: failed」?
為什麼 openclaw gateway status 顯示「Runtime: running」但顯示「Connectivity probe: failed」?
openclaw gateway status 中的這些行:Probe target:(探測使用的 URL)、Listening:(連接埠上實際綁定的內容)、Last gateway error:(程序仍存活但連接埠未監聽時的常見根本原因)。為什麼 openclaw gateway status 顯示的「Config (cli)」和「Config (service)」不同?
為什麼 openclaw gateway status 顯示的「Config (cli)」和「Config (service)」不同?
--profile / OPENCLAW_STATE_DIR 不相符)。修正方式:從你希望服務使用的同一個 --profile / 環境執行:「another gateway instance is already listening」是什麼意思?
「another gateway instance is already listening」是什麼意思?
ws://127.0.0.1:18789)來強制執行執行階段鎖定。如果綁定因 EADDRINUSE 失敗,就會拋出 GatewayLockError(「another gateway instance is already listening」)。修正方式:停止另一個執行個體、釋放連接埠,或使用 openclaw gateway --port <port> 執行。如何以遠端模式執行 OpenClaw(用戶端連到其他位置的閘道)?
如何以遠端模式執行 OpenClaw(用戶端連到其他位置的閘道)?
gateway.mode: "remote",並指向遠端 WebSocket URL,可選擇搭配共享密鑰遠端憑證:openclaw gateway只會在gateway.mode為local時啟動(或你傳入覆寫旗標)。- macOS app 會監看設定檔,並在這些值變更時即時切換模式。
gateway.remote.token/.password只是用戶端遠端憑證;它們本身不會啟用本機閘道驗證。
我設定了 gateway.bind tailnet,但它無法綁定且沒有任何項目監聽
我設定了 gateway.bind tailnet,但它無法綁定且沒有任何項目監聽
tailnet 綁定會從你的網路介面選擇 Tailscale IP(100.64.0.0/10)。如果機器不在 Tailscale 上(或介面已關閉),就沒有可綁定的項目。修正方式:在該主機上啟動 Tailscale,或切換為 gateway.bind: "loopback" / "lan"。tailnet 是明確設定;auto 偏好 loopback。若只要綁定 tailnet,請使用 gateway.bind: "tailnet"。我可以在同一台主機上執行多個閘道嗎?
我可以在同一台主機上執行多個閘道嗎?
OPENCLAW_CONFIG_PATH、OPENCLAW_STATE_DIR、agents.defaults.workspace 和唯一的 gateway.port 進行隔離。建議:每個執行個體使用 openclaw --profile <name> ...(自動建立 ~/.openclaw-<name>),在每個設定檔設定中使用唯一的 gateway.port(或手動執行時用 --port),並以 openclaw --profile <name> gateway install 建立每個設定檔的服務。設定檔也會為服務名稱加上後綴:launchd ai.openclaw.<profile>、systemd openclaw-gateway-<profile>.service、Windows OpenClaw Gateway (<profile>)。未限定的 openclaw-gateway systemd 單元只存在於預設設定檔;舊版重新命名前的 systemd 單元名稱 clawdbot-gateway 會自動遷移。完整指南:多個閘道。「invalid handshake」/ 代碼 1008 是什麼意思?
「invalid handshake」/ 代碼 1008 是什麼意思?
connect 框架。其他任何內容都會以代碼 1008(政策違規)關閉連線。常見原因:你在瀏覽器中開啟了 HTTP URL,而不是使用 WS 用戶端;使用了錯誤的連接埠/路徑;或代理/通道移除了驗證標頭或傳送了非閘道請求。修正方式:使用 WS URL(ws://<host>:18789,或透過 HTTPS 使用 wss://...),不要在一般瀏覽器分頁中開啟 WS 連接埠,並在啟用驗證時於 connect 框架中包含權杖/密碼。命令列介面/終端介面範例:記錄與偵錯
記錄在哪裡?
記錄在哪裡?
/tmp/openclaw/openclaw-YYYY-MM-DD.log。透過 logging.file 設定穩定路徑;透過 logging.level 設定檔案記錄層級;透過 --verbose 和 logging.consoleLevel 設定主控台詳細程度。最快追蹤方式:- macOS launchd stdout:
~/Library/Logs/openclaw/gateway.log(設定檔使用gateway-<profile>.log;stderr 會被抑制)。 - Linux:
journalctl --user -u openclaw-gateway[-<profile>].service -n 200 --no-pager。 - Windows:
schtasks /Query /TN "OpenClaw Gateway (<profile>)" /V /FO LIST。
如何啟動/停止/重新啟動閘道服務?
如何啟動/停止/重新啟動閘道服務?
openclaw gateway --force 可以收回連接埠。請見閘道。我在 Windows 上關閉了終端機 - 要如何重新啟動 OpenClaw?
我在 Windows 上關閉了終端機 - 要如何重新啟動 OpenClaw?
閘道已啟動,但回覆從未送達。我該檢查什麼?
閘道已啟動,但回覆從未送達。我該檢查什麼?
「Disconnected from gateway: no reason」- 現在該怎麼辦?
「Disconnected from gateway: no reason」- 現在該怎麼辦?
Telegram setMyCommands 失敗。我該檢查什麼?
Telegram setMyCommands 失敗。我該檢查什麼?
BOT_COMMANDS_TOO_MUCH:Telegram 選單項目太多。OpenClaw 已經會裁剪到 Telegram 限制並以較少指令重試,但有些選單項目仍可能被捨棄。請減少外掛/skill/自訂指令,或在不需要選單時停用channels.telegram.commands.native。TypeError: fetch failed、Network request for 'setMyCommands' failed!或類似網路錯誤:在 VPS 上或代理後方時,請確認允許對外 HTTPS,且 DNS 可解析api.telegram.org。
如何完全停止再啟動閘道?
如何完全停止再啟動閘道?
ELI5:openclaw gateway restart 與 openclaw gateway
ELI5:openclaw gateway restart 與 openclaw gateway
openclaw gateway restart 會重新啟動背景服務(launchd/systemd)。openclaw gateway 會在此終端機工作階段中以前景方式執行閘道。若你已安裝服務,請使用閘道子命令;若只是一次性執行,請使用不帶子命令的前景執行。發生失敗時取得更多詳細資訊的最快方式
發生失敗時取得更多詳細資訊的最快方式
--verbose 啟動閘道以取得更多主控台詳細資訊,然後檢查日誌檔,查看頻道驗證、模型路由與 RPC 錯誤。媒體與附件
我的 skill 產生了圖片/PDF,但沒有送出任何內容
我的 skill 產生了圖片/PDF,但沒有送出任何內容
media、mediaUrl、path 或 filePath。請參閱 OpenClaw assistant 設定與代理程式傳送。tools.fs.workspaceOnly=true 會將本機路徑傳送限制在工作區、暫存/媒體儲存區,以及經沙箱驗證的檔案;tools.fs.workspaceOnly=false(預設)允許結構化本機媒體傳送使用代理程式已可讀取的主機本機檔案,適用於媒體加上安全文件類型(圖片、音訊、影片、PDF、Office 文件,以及經驗證的文字文件,例如 Markdown/MD、TXT、JSON、YAML/YML)。這不是秘密掃描器 - 當擴充功能與內容驗證相符時,代理程式可讀取的 secret.txt 或 config.json 可以被附加。請將敏感檔案放在代理程式可讀取路徑之外,或保留 tools.fs.workspaceOnly=true 以使用更嚴格的本機路徑傳送。請參閱圖片。安全性與存取控制
將 OpenClaw 暴露給傳入私訊安全嗎?
將 OpenClaw 暴露給傳入私訊安全嗎?
- 支援私訊頻道上的預設行為是配對:未知寄件者會收到配對碼,且其訊息不會被處理。使用
openclaw pairing approve --channel <channel> [--account <id>] <code>核准。待處理請求上限為每個頻道 3 個;如果代碼未送達,請檢查openclaw pairing list --channel <channel> [--account <id>]。 - 公開開放私訊需要明確選擇加入(
dmPolicy: "open"與允許清單"*")。
openclaw doctor 以顯示高風險的私訊政策。提示注入只對公開 Bot 是問題嗎?
提示注入只對公開 Bot 是問題嗎?
- 使用唯讀或停用工具的「讀取器」代理程式來摘要不受信任的內容
- 對啟用工具的代理程式關閉
web_search/web_fetch/browser - 也將解碼後的檔案/文件文字視為不受信任:OpenResponses
input_file與媒體附件擷取都會將擷取出的文字包在明確的外部內容邊界標記中,而不是傳遞原始檔案文字 - 使用沙箱並採用嚴格的工具允許清單
OpenClaw 因為使用 TypeScript/節點 而不是 Rust/WASM,所以較不安全嗎?
OpenClaw 因為使用 TypeScript/節點 而不是 Rust/WASM,所以較不安全嗎?
我看到關於暴露 OpenClaw 執行個體的報告。我該檢查什麼?
我看到關於暴露 OpenClaw 執行個體的報告。我該檢查什麼?
loopback,或只透過經驗證的私有存取暴露(tailnet、SSH 通道、權杖/密碼驗證,或正確設定的可信任代理);私訊採用 pairing 或 allowlist 模式;除非每位成員都可信任,否則群組需加入允許清單並以提及作為閘門;對會讀取不受信任內容的代理程式,拒絕或嚴格限定高風險工具(exec、browser、gateway、cron);在工具執行需要較小影響範圍時啟用沙箱化。首先要修正的發現是未驗證的公開綁定、開放私訊/群組且帶有工具,以及暴露的瀏覽器控制。詳情:openclaw security audit。ClawHub skills 與第三方外掛可以安全安裝嗎?
ClawHub skills 與第三方外掛可以安全安裝嗎?
我的 Bot 應該有自己的電子郵件、GitHub 帳號或電話號碼嗎?
我的 Bot 應該有自己的電子郵件、GitHub 帳號或電話號碼嗎?
我可以讓它自主處理我的簡訊嗎?這樣安全嗎?
我可以讓它自主處理我的簡訊嗎?這樣安全嗎?
我可以用較便宜的模型來處理個人 assistant 任務嗎?
我可以用較便宜的模型來處理個人 assistant 任務嗎?
我在 Telegram 執行了 /start,但沒有收到配對碼
我在 Telegram 執行了 /start,但沒有收到配對碼
dmPolicy: "pairing" 時,才會傳送配對碼;/start 本身不會產生代碼。檢查待處理請求:dmPolicy: "open"。WhatsApp:它會傳訊給我的聯絡人嗎?配對如何運作?
WhatsApp:它會傳訊給我的聯絡人嗎?配對如何運作?
channels.whatsapp.selfChatMode。聊天命令、中止任務,以及「它不會停止」
如何停止內部系統訊息顯示在聊天中?
如何停止內部系統訊息顯示在聊天中?
如何停止/取消正在執行的任務?
如何停止/取消正在執行的任務?
stop、stop action、stop current action、stop run、stop current run、stop agent、stop the agent、stop openclaw、openclaw stop、stop don't do anything、stop do not do anything、stop doing anything、do not do that、please stop、stop please、abort、esc、wait、exit、interrupt、halt。常見非英文觸發詞(法文、德文、西班牙文、中文、日文、印地文、阿拉伯文、俄文)也可使用。對於由 exec 工具啟動的背景程序,請要求代理程式執行:/ 開頭作為獨立訊息傳送,但少數快捷方式(例如 /status)也可供允許清單寄件者在行內使用。請參閱斜線命令。如何從 Telegram 傳送 Discord 訊息?(「跨上下文傳訊遭拒」)
如何從 Telegram 傳送 Discord 訊息?(「跨上下文傳訊遭拒」)
其他
使用 API 金鑰時,Anthropic 的預設模型是什麼?
使用 API 金鑰時,Anthropic 的預設模型是什麼?
ANTHROPIC_API_KEY(或在 auth profiles 中儲存 Anthropic API 金鑰)會啟用驗證,但實際的預設模型取決於你在 agents.defaults.model.primary 中設定的內容(例如 anthropic/claude-sonnet-4-6 或 anthropic/claude-opus-4-6)。No credentials found for profile "anthropic:default" 表示閘道在執行中代理程式預期的 auth-profiles.json 中找不到 Anthropic 憑證。還是卡住了嗎?請到 Discord 詢問,或開啟 GitHub 討論。