發生問題時的前 60 秒
快速狀態
可貼上的報告(可安全分享)
常駐程式與連接埠狀態
深度探測
執行 doctor(修復)
閘道快照(僅限 WS)
快速開始與首次執行設定
首次執行問答(安裝、初始設定、驗證路由、訂閱、初始失敗)請參閱首次執行常見問題。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)。
- 工具協調(瀏覽器、檔案、排程、鉤子)。
- 持續運作的閘道(在 VPS 上執行,從任何地方互動)。
- 用於本機瀏覽器/螢幕/相機/執行功能的節點。
Skills 與自動化
如何自訂 Skills 而不讓存放庫處於未提交狀態?
如何自訂 Skills 而不讓存放庫處於未提交狀態?
~/.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.entries.*.skills 控制可見性。只有適合提交至上游的編輯才應針對存放庫副本提出 PR。可以從自訂資料夾載入 Skills 嗎?
可以從自訂資料夾載入 Skills 嗎?
~/.openclaw/openclaw.json 中的 skills.load.extraDirs 新增目錄(在上述順序中優先順序最低)。clawhub 預設安裝至 ./skills,OpenClaw 會在下一個工作階段將其視為 <workspace>/skills。若要限制僅特定代理程式可見,請搭配 agents.defaults.skills 或 agents.entries.*.skills。如何針對不同任務使用不同的模型或設定?
如何針對不同任務使用不同的模型或設定?
- 排程工作:隔離的工作可為每個工作設定
model覆寫。 - 代理程式:將任務路由至具有不同預設模型、思考層級與串流參數的個別代理程式。
- 隨選切換:
/model可隨時切換目前工作階段的模型。
agents.defaults.models["provider/model"].params,再將代理程式專屬覆寫放在扁平的 agents.entries.*.params 中。不要在巢狀的 agents.entries.*.models["provider/model"].params 下重複相同模型;該路徑用於各代理程式的模型目錄與執行階段覆寫。請參閱排程工作、多代理程式路由、設定、斜線命令。機器人在執行繁重工作時會凍結。如何卸載這些工作?
機器人在執行繁重工作時會凍結。如何卸載這些工作?
Discord 上綁定討論串的子代理程式工作階段如何運作?
Discord 上綁定討論串的子代理程式工作階段如何運作?
- 使用
thread: true搭配sessions_spawn產生(可選用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 = 無硬性上限),以及用於產生時自動綁定的 session.threadBindings.spawnSessions(預設為 true)。文件:子代理程式、Discord、設定參考、斜線命令。子代理程式已完成,但完成更新傳送到了錯誤的位置,或根本沒有發布。我該檢查什麼?
子代理程式已完成,但完成更新傳送到了錯誤的位置,或根本沒有發布。我該檢查什麼?
- 完成模式的子代理程式傳遞會優先使用現有的綁定討論串或對話路由。
- 如果完成來源只帶有頻道,OpenClaw 會退回使用要求者工作階段儲存的路由(
lastChannel/lastTo/lastAccountId),讓直接傳遞仍可成功。 - 沒有綁定路由且沒有可用的已儲存路由:直接傳遞可能失敗,結果將退回佇列式工作階段傳遞,而非立即發布。
- 無效或過期的目標也可能迫使系統退回佇列,或導致最終傳遞失敗。
- 如果子工作階段最後一則可見的助理回覆恰好是
NO_REPLY/no_reply或ANNOUNCE_SKIP,OpenClaw 會刻意抑制通知,而不發布先前已過時的進度。
openclaw tasks show <lookup>,其中 <lookup> 是任務 ID、執行 ID 或工作階段金鑰。文件:子代理程式、背景任務、工作階段工具。排程或提醒未觸發。我該檢查什麼?
排程或提醒未觸發。我該檢查什麼?
排程已觸發,但頻道未收到任何內容。為什麼?
排程已觸發,但頻道未收到任何內容。為什麼?
--no-deliver/delivery.mode: "none":不會執行執行器的備援傳送。- 缺少或無效的公告目標(
channel/to):執行器已略過對外遞送。 - 頻道驗證失敗(
unauthorized、Forbidden):執行器已嘗試遞送,但遭認證資訊阻擋。 - 無訊息的隔離結果(僅有
NO_REPLY/no_reply)會被視為刻意不可遞送,因此也會抑制佇列中的備援遞送。
message 工具直接傳送。--announce 只控制執行器針對代理程式尚未自行傳送之最終文字的備援遞送。偵錯:為什麼隔離的排程執行會切換模型或重試一次?
為什麼隔離的排程執行會切換模型或重試一次?
如何在 Linux 上安裝 Skills?
如何在 Linux 上安裝 Skills?
openclaw skills 命令,或將 Skills 放入工作區;Linux 不提供 macOS 的 Skills 使用者介面。請前往 https://clawhub.ai 瀏覽 Skills。openclaw skills install 預設會寫入作用中工作區的 skills/ 目錄。加上 --global,即可安裝至供所有本機代理程式使用的共用受管理 Skills 目錄。只有在發布或同步自己的 Skills 時,才需另行安裝 clawhub 命令列介面。使用 agents.defaults.skills 或 agents.entries.*.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 上將 Node Run Commands 設為 “Always Ask” 或 “Always Allow”。當節點上有必要的二進位檔時,OpenClaw 會將僅限 macOS 的 Skills 視為符合資格;代理程式會透過 nodes 工具執行它們。使用 “Always Ask” 時,在提示中核准 “Always Allow” 會將該命令加入允許清單。選項 C——透過 SSH 代理 macOS 二進位檔(進階)。將閘道保留在 Linux 上,但讓必要的命令列介面二進位檔解析至會在 Mac 上執行的 SSH 包裝函式,然後覆寫該 Skill 以允許 Linux,使其保持符合資格。- 為二進位檔建立 SSH 包裝函式(範例:Apple Notes 使用
memo): - 將包裝函式放在 Linux 主機的
PATH上(例如~/bin/memo)。 - 覆寫 Skill 中繼資料(工作區或
~/.openclaw/skills),以允許 Linux: - 啟動新的工作階段,以重新整理 Skills 快照。
你們有 Notion 或 HeyGen 整合嗎?
你們有 Notion 或 HeyGen 整合嗎?
- 自訂 Skill/外掛:最適合可靠的 API 存取(兩者都有 API)。
- 瀏覽器自動化:不需要程式碼即可運作,但速度較慢且更容易失敗。
skills/ 目錄;使用 --global 可供所有本機代理程式使用,或設定 agents.defaults.skills / agents.entries.*.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需要快照參照,而非 CSS 選擇器。- 上傳鉤子需要
ref或inputRef,一次一個檔案,不支援 CSSelement。 responsebody、PDF 匯出、下載攔截及批次動作仍須使用受管理的瀏覽器路徑。
沙箱與記憶
Docker 感覺功能有限——如何啟用完整功能?
Docker 感覺功能有限——如何啟用完整功能?
node 使用者身分執行,因此不包含系統套件、Homebrew 和隨附的瀏覽器。若要使用更完整的設定:- 使用
OPENCLAW_HOME_VOLUME保存/home/node,讓快取能在重新啟動後保留。 - 使用
OPENCLAW_IMAGE_APT_PACKAGES將系統相依套件預先建置至映像檔中。 - 透過隨附的命令列介面安裝 Playwright 瀏覽器:
node /app/node_modules/playwright-core/cli.js install chromium。 - 設定
PLAYWRIGHT_BROWSERS_PATH並保存該路徑。
我能否讓私訊保持私人,同時使用一個代理程式將群組設為公開/沙箱化?
我能否讓私訊保持私人,同時使用一個代理程式將群組設為公開/沙箱化?
agents.defaults.sandbox.mode: "non-main",讓群組/頻道工作階段(非主要金鑰)在已設定的沙箱後端中執行,同時主要私訊工作階段仍在主機上執行。啟用沙箱後,Docker 是預設後端。透過 tools.sandbox.tools 限制沙箱工作階段中可用的工具。設定逐步指南:群組:私人私訊 + 公開群組。重要參考:閘道設定。如何將主機資料夾繫結至沙箱?
如何將主機資料夾繫結至沙箱?
agents.defaults.sandbox.docker.binds 設為 ["host:container:mode"](例如 "/home/user/src:/src:ro")。全域與每個代理程式的繫結會合併;當 scope: "shared" 時,會忽略每個代理程式的繫結。任何敏感內容請使用 :ro;繫結會繞過沙箱的檔案系統界線。OpenClaw 會同時針對正規化路徑,以及透過最深層現有祖先解析的標準路徑驗證繫結來源,因此即使最終路徑區段尚不存在,透過符號連結父目錄逸出的嘗試也會以封閉方式失敗。請參閱沙箱和沙箱、工具原則與提升權限的比較。記憶如何運作?
記憶如何運作?
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)。若要完全在本機執行,請設定 memory.search.provider: "local"(GGUF/llama.cpp)。其他支援的供應商包括:Bedrock、DeepInfra、Gemini(GEMINI_API_KEY 或 memory.search.remote.apiKey)、GitHub Copilot、LM Studio、Mistral、Ollama、OpenAI 相容服務及 Voyage。設定詳情請參閱記憶與記憶搜尋。資料在磁碟上的位置
OpenClaw 使用的所有資料都會儲存在本機嗎?
OpenClaw 使用的所有資料都會儲存在本機嗎?
OpenClaw 將資料儲存在哪裡?
OpenClaw 將資料儲存在哪裡?
$OPENCLAW_STATE_DIR 下(預設:~/.openclaw):~/.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 或各代理程式的沙箱設定。若要將某個儲存庫設為預設工作目錄,請將該代理程式的 workspace 指向儲存庫根目錄——OpenClaw 儲存庫本身只是原始碼,因此除非你有意讓代理程式在其中工作,否則請將工作區分開。遠端模式:工作階段儲存區在哪裡?
遠端模式:工作階段儲存區在哪裡?
設定基礎
設定採用什麼格式?位於哪裡?
設定採用什麼格式?位於哪裡?
$OPENCLAW_CONFIG_PATH(預設:~/.openclaw/openclaw.json)讀取選用的 JSON5 設定。如果檔案不存在,則會使用較安全的預設值,包括預設工作區 ~/.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)。 - 如果透過 SecretRef 明確設定
gateway.auth.token/.password,但無法解析,解析作業會以封閉方式失敗(不會由遠端備援掩蓋)。 - 使用共用機密的 Control UI 設定會透過
connect.params.auth.token或connect.params.auth.password驗證(儲存在應用程式/UI 設定中)。Tailscale Serve 或trusted-proxy等帶有身分資訊的模式則使用要求標頭——請避免將共用機密放入 URL。 - 使用
gateway.auth.mode: "trusted-proxy"時,同一主機上的回送反向 Proxy 需要明確設定gateway.auth.trustedProxy.allowLoopback = true,並在gateway.trustedProxies中加入回送項目。
為什麼現在 localhost 也需要權杖?
為什麼現在 localhost 也需要權杖?
gateway.auth.token、gateway.auth.password、OPENCLAW_GATEWAY_TOKEN 或 OPENCLAW_GATEWAY_PASSWORD。你也可以選擇密碼模式,或為身分感知反向 Proxy 使用 trusted-proxy。若要開放回送位址,請明確設定 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 則取決於你選擇的供應商: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並重新設定頻道/模型。 - 若發生非預期的資料遺失:請附上你最後已知的設定或備份回報錯誤。本機程式設計代理通常可以從日誌或歷史記錄中重建可運作的設定。
openclaw config set,互動式編輯請使用 openclaw configure,檢查不熟悉的路徑請使用 config.schema.lookup(會傳回淺層結構描述節點及其直接子項摘要),部分 RPC 編輯請使用 config.patch;僅將 config.apply 用於取代整份設定。即使透過舊版 tools.bash.* 別名,面向代理的 gateway 執行階段工具也會拒絕重寫 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 應用程式,並以 Remote over 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 上安裝並登入:
- 使用 Tailscale 應用程式在 Mac 上安裝並登入同一個 tailnet。
- 在 Tailscale 管理主控台中啟用 MagicDNS,讓 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,或任何以 _ENDPOINT 結尾的鍵(以及其他隨附供應商的驗證或端點環境變數),都會從工作區 .env 中忽略,應改放在程序環境、~/.openclaw/.env 或設定 env 中。設定中的內嵌環境變數僅會在程序環境中缺少時套用:我透過服務啟動閘道後,環境變數消失了。該怎麼辦?
我透過服務啟動閘道後,環境變數消失了。該怎麼辦?
- 將缺少的鍵放入
~/.openclaw/.env,如此即使服務未繼承你的 shell 環境,也能載入這些鍵。 - 啟用 shell 匯入(選用的便利功能):
這會執行你的登入 shell,並僅匯入缺少的預期鍵(絕不覆寫)。對應的環境變數:
OPENCLAW_LOAD_SHELL_ENV=1、OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000。
我已設定 COPILOT_GITHUB_TOKEN,但模型狀態顯示 "Shell env: off.",為什麼?
我已設定 COPILOT_GITHUB_TOKEN,但模型狀態顯示 "Shell env: off.",為什麼?
openclaw models status 會回報是否已啟用 shell 環境匯入。“Shell env: off” 並不表示你的環境變數遺失——它只表示 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,工作階段會自動重設嗎?
sessionId,而隨著對話增長,壓縮會限制模型的作用中上下文。/new 和 /reset 仍可使用,你也可以透過 mode: "daily" 或 mode: "idle" 選擇啟用自動重設。每日模式會在閘道主機的 session.reset.atHour(預設 4,0-23)切換;閒置模式則從上次實際互動後經過的 session.reset.idleMinutes 起算,不包含心跳偵測/排程/執行系統事件。resetByType 支援 direct、group 和 thread。Doctor 會將舊版 dm 項目遷移至 direct;結構描述會拒絕 dm。如果未設定 session.reset/resetByType 區塊,舊版頂層 session.idleMinutes 仍可作為閒置模式預設值的相容性別名。完整生命週期請參閱工作階段管理。能否建立一個 OpenClaw 執行個體團隊(一位 CEO 和多個代理程式)?
能否建立一個 OpenClaw 執行個體團隊(一位 CEO 和多個代理程式)?
為什麼執行工作到一半時,上下文遭到截斷?如何避免?
為什麼執行工作到一半時,上下文遭到截斷?如何避免?
- 要求機器人摘要目前狀態並寫入檔案。
- 在長時間工作前使用
/compact,切換主題時使用/new。 - 將重要上下文保存在工作區,並要求機器人重新讀取。
- 針對長時間或平行工作使用子代理程式,讓主要聊天保持較小規模。
- 如果經常發生這種情況,請選擇上下文視窗較大的模型。
如何完全重設 OpenClaw,但保留安裝?
如何完全重設 OpenClaw,但保留安裝?
--profile / OPENCLAW_PROFILE),請重設每個狀態目錄(預設為 ~/.openclaw-<profile>)。僅限開發環境的重設:openclaw gateway --dev --reset 會清除開發設定、認證資訊、工作階段和工作區。我遇到 "context too large" 錯誤——該如何重設或壓縮?
我遇到 "context too large" 錯誤——該如何重設或壓縮?
為什麼我會看到 "LLM request rejected: messages.content.tool_use.input field required"?
為什麼我會看到 "LLM request rejected: messages.content.tool_use.input field required"?
input 的 tool_use 區塊。這通常表示工作階段歷程已過期或損毀(常見於長對話串或工具/結構描述變更之後)。修正方式:使用 /new(獨立訊息)開始新的工作階段。為什麼我每 30 分鐘就會收到心跳偵測訊息?
為什麼我每 30 分鐘就會收到心跳偵測訊息?
heartbeat.every 時,則為每 1h 一次。調整或停用方式如下:HEARTBEAT.md 存在但實際上是空的(僅包含空白行、Markdown/HTML 註解、ATX 標題、圍欄標記或空白清單項目預留位置),OpenClaw 會略過心跳偵測執行,以節省 API 呼叫。如果檔案不存在,心跳偵測仍會執行,並由模型決定該做什麼。每個代理程式的覆寫使用 agents.entries.*.heartbeat。文件:心跳偵測。我需要將「機器人帳號」新增至 WhatsApp 群組嗎?
我需要將「機器人帳號」新增至 WhatsApp 群組嗎?
groupPolicy: "allowlist")。若要將群組回覆限制為只有你:如何取得 WhatsApp 群組的 JID?
如何取得 WhatsApp 群組的 JID?
為什麼 OpenClaw 不在群組中回覆?
為什麼 OpenClaw 不在群組中回覆?
我可以建立多少個工作區和代理程式?
我可以建立多少個工作區和代理程式?
- 磁碟成長:作用中的工作階段與逐字稿儲存在每個代理程式各自的 SQLite 資料庫中;舊版/封存成品仍可能累積在
~/.openclaw/agents/<agentId>/sessions/下。 - 權杖成本:代理程式越多,並行模型用量就越高。
- 維運負擔:每個代理程式各自的驗證設定檔、工作區與頻道路由。
agents.defaults.workspace);若磁碟用量增加,請使用 openclaw sessions cleanup 清除舊工作階段(不要手動編輯作用中的 SQLite 狀態);並使用 openclaw doctor 找出零散工作區與設定檔不相符的情況。我可以同時執行多個機器人或聊天(Slack)嗎?應如何設定?
我可以同時執行多個機器人或聊天(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 應用程式會監看設定檔,並在這些值變更時即時切換模式。
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 優先使用回送介面。使用 gateway.bind: "tailnet" 可將非回送介面的公開範圍限制於 Tailnet,同時保留必要的同一主機 127.0.0.1 監聽器。我可以在同一主機上執行多個閘道嗎?
我可以在同一主機上執行多個閘道嗎?
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 用戶端;使用了錯誤的連接埠/路徑;或 Proxy/通道移除了驗證標頭,或傳送了非閘道要求。修正方式:使用 WS URL(ws://<host>:18789,或透過 HTTPS 使用 wss://...);不要在一般瀏覽器分頁中開啟 WS 連接埠;並在啟用驗證時,於 connect 框架中包含權杖/密碼。命令列介面/終端介面範例:記錄與偵錯
記錄在哪裡?
記錄在哪裡?
/tmp/openclaw/openclaw-YYYY-MM-DD.log,具名設定檔則為 /tmp/openclaw/openclaw-<profile>-YYYY-MM-DD.log。透過 logging.file 設定固定路徑;透過 logging.level 設定檔案記錄層級;透過 --verbose 與 logging.consoleLevel 設定主控台詳細程度。最快的即時追蹤方式:- macOS launchd 標準輸出:
~/Library/Logs/openclaw/gateway.log(設定檔使用gateway-<profile>.log;標準錯誤輸出會被抑制)。 - 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?
閘道已啟動,但回覆始終沒有送達。我該檢查什麼?
閘道已啟動,但回覆始終沒有送達。我該檢查什麼?
"已中斷與閘道的連線:無原因"——現在該怎麼辦?
"已中斷與閘道的連線:無原因"——現在該怎麼辦?
Telegram setMyCommands 失敗。該檢查什麼?
Telegram setMyCommands 失敗。該檢查什麼?
BOT_COMMANDS_TOO_MUCH:Telegram 選單的項目過多。OpenClaw 已經會將項目裁減至 Telegram 的限制,並使用較少的命令重試,但部分選單項目仍可能遭到捨棄。請減少外掛/技能/自訂命令,若不需要選單,也可停用channels.telegram.commands.native。TypeError: fetch failed、Network request for 'setMyCommands' failed!或類似的網路錯誤:若位於 VPS 或代理伺服器之後,請確認允許向外的 HTTPS 連線,且api.telegram.org的 DNS 解析正常。
如何完全停止閘道後再重新啟動?
如何完全停止閘道後再重新啟動?
openclaw gateway run。文件:閘道服務操作手冊。簡單解釋:openclaw gateway restart 與 openclaw gateway 的差異
簡單解釋:openclaw gateway restart 與 openclaw gateway 的差異
openclaw gateway restart 會重新啟動背景服務(launchd/systemd)。openclaw gateway 則會在此終端機工作階段中,於前景執行閘道。如果已安裝服務,請使用閘道子命令;若僅需單次執行,請直接使用前景執行方式。發生失敗時,取得更多詳細資訊的最快方式
發生失敗時,取得更多詳細資訊的最快方式
--verbose 啟動閘道,以在主控台中顯示更多詳細資訊,接著檢查日誌檔案中的頻道驗證、模型路由及 RPC 錯誤。媒體與附件
我的技能產生了圖片/PDF,但沒有傳送任何內容
我的技能產生了圖片/PDF,但沒有傳送任何內容
media、mediaUrl、path 或 filePath。請參閱 OpenClaw 助理設定及代理程式傳送。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 以找出有風險的私人訊息政策。提示注入只需要擔心公開機器人嗎?
提示注入只需要擔心公開機器人嗎?
- 使用唯讀或停用工具的「讀取器」代理程式,摘要不受信任的內容
- 對已啟用工具的代理程式,關閉
web_search/web_fetch/browser - 也將解碼後的檔案/文件文字視為不受信任:OpenResponses
input_file與媒體附件擷取都會將擷取出的文字包裝在明確的外部內容邊界標記中,而非直接傳遞原始檔案文字 - 使用沙箱及嚴格的工具允許清單
OpenClaw 使用 TypeScript/Node 而非 Rust/WASM,是否因此較不安全?
OpenClaw 使用 TypeScript/Node 而非 Rust/WASM,是否因此較不安全?
openclaw security audit --deep。詳細資訊:安全性、沙箱化。我看到 OpenClaw 執行個體暴露在外的報告。該檢查什麼?
我看到 OpenClaw 執行個體暴露在外的報告。該檢查什麼?
loopback,或僅透過經驗證的私密存取方式暴露(tailnet、SSH 通道、權杖/密碼驗證,或正確設定的受信任代理伺服器);私人訊息使用 pairing 或 allowlist 模式;除非所有成員都受信任,否則群組應使用允許清單並要求提及;對會讀取不受信任內容的代理程式,拒絕高風險工具(exec、browser、gateway、cron)或嚴格限制其範圍;需要縮小工具執行影響範圍時,請啟用沙箱化。應優先修正的問題,是未經驗證的公開繫結、搭配工具的開放私人訊息/群組,以及暴露在外的瀏覽器控制功能。詳細資訊:openclaw security audit。安裝 ClawHub 技能與第三方外掛安全嗎?
安裝 ClawHub 技能與第三方外掛安全嗎?
我的機器人是否應擁有自己的電子郵件、GitHub 帳號或電話號碼?
我的機器人是否應擁有自己的電子郵件、GitHub 帳號或電話號碼?
可以讓它自主處理我的簡訊嗎?這樣安全嗎?
可以讓它自主處理我的簡訊嗎?這樣安全嗎?
可以使用較便宜的模型處理個人助理工作嗎?
可以使用較便宜的模型處理個人助理工作嗎?
我在 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、exit、interrupt、halt。常見的非英語觸發詞(法語、德語、西班牙語、中文、日語、印地語、阿拉伯語、俄語)也有效。若是由 exec 工具啟動的背景程序,請要求代理程式執行:/ 開頭,並作為獨立訊息傳送,但少數快捷命令(例如 /status)也能由允許清單中的傳送者在行內使用。請參閱斜線命令。如何從 Telegram 傳送 Discord 訊息?(「Cross-context messaging denied」)
如何從 Telegram 傳送 Discord 訊息?(「Cross-context messaging denied」)
其他
使用 API 金鑰時,Anthropic 的預設模型是什麼?
使用 API 金鑰時,Anthropic 的預設模型是什麼?
ANTHROPIC_API_KEY(或將 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 討論。