SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-28

如何打造自己的 OpenClaw 風格 AI agent

OpenClaw 是可在自有伺服器執行命令的個人 AI agent。本文逐步拆解 gateway、頻道連接器與工具迴圈,並說明為何強化安全性必須優先。

OpenClaw 實際上是什麼

OpenClaw 是自架的個人 AI agent。你可以在自己的伺服器上執行它,連接到平時使用的聊天應用程式,讓它執行 shell 指令、控制瀏覽器、讀寫檔案,並根據你傳送的訊息採取行動。它採用 MIT 授權,以本機優先為設計原則。截至 2026 年年中,OpenClaw 在 GitHub 上已獲得超過 380,000 顆 stars,因此成為該平台上獲得最多 stars 的專案之一。撇開外界雜音,它其實是由一組相當精簡、以合理方式串接的元件組成。本文將逐一說明這些元件,讓你了解這類工具的建構方式,以及其中容易出問題的部分。

先說明一項警告,因為它會影響下文的每個設計選擇。2026 年 3 月,OpenClaw 在 4 天內被揭露 9 個安全性問題,其中包括一個嚴重的權限提升漏洞,評分為 9.9/10(CVE-2026-32922)。這個專案預期由你,也就是 operator,負責強化安全性。能夠執行任何指令的 agent,其安全性取決於執行它的主機,以及你為它設定的限制。閱讀下文時,請記住這一點。

閘道 daemon:單一程序,維持私有

核心是一個長時間執行的程序,通常稱為 gateway。它是控制平面,負責接收訊息、決定處理方式、執行工具,以及傳回回覆。其他元件都連接到這個程序。

關於 gateway,最重要的是確認它監聽的位置。OpenClaw 預設會將它繫結至 loopback 位址 127.0.0.1,因此除非刻意對外暴露,否則無法從網際網路連線到它。請維持這項設定。這個程序會執行命令,因此暴露 gateway 等同於讓任何找到它的人取得進入伺服器的遠端立足點。需要從筆電連線時,請透過 VPN 或 SSH tunnel,而不是開放連接埠。無法連線到的連接埠,就無法遭到攻擊。

頻道連接器:接收訊息並送出回覆

只有能透過你現有的應用程式與個人代理程式互動時,它才真正有用。頻道連接器就是用來處理這件事。每個連接器負責與一個平台通訊,例如 Telegram、WhatsApp、Slack 或 Discord,並使用該平台的 bot API 或 webhooks。

所有連接器的運作方式都相同。連接器會在平台上註冊 bot,接收傳入訊息。它可以輪詢平台,也可以接收平台推送的 webhook。接著,連接器會將訊息交給 gateway,再透過相同的 API 傳回 gateway 的回覆。連接器只是薄型轉換層。它會將「收到 Telegram 訊息」轉換成「這是要提供給代理程式的文字」,再將回覆轉換回平台訊息。自行建立連接器時,主要工作是閱讀某個平台的 bot 文件,並將其訊息格式對應到 gateway 的格式。

大腦與工具迴圈

Gateway 內部有一個部分,讓它成為 agent,而不只是 chatbot。這個部分就是迴圈。

收到訊息後,gateway 會將訊息以及允許模型使用的工具清單,一併傳送給 language model。模型讀取訊息後會決定要直接回答,或呼叫工具。如果模型呼叫工具,gateway 就會執行該工具、擷取結果,再將結果傳回模型。模型讀取結果後會再次做出決定。這個流程會持續執行,直到模型沒有其他工作可做,並產生最終回覆。

這個迴圈就是 agent 的核心概念。無論 agent 是在 chat app 或 terminal 中執行,使用的都是相同迴圈。若要了解如何以標準方式將工具連接到這個迴圈,下一步可閱讀透過 Model Context Protocol 連接工具;若要了解模型端,在自己的硬體上執行模型可補足另一半內容。

工具組合是核心,也是風險來源

工具正是 OpenClaw 強大的原因。能執行 shell 命令、操作瀏覽器,以及讀寫檔案的工具,都是其中一部分。讓上述迴圈存取這些工具後,它幾乎可以完成你在鍵盤前能做的任何操作。這種能力是整個產品的核心,也構成全部風險。

能執行任意命令,且會依照從聊天應用程式傳入的指示操作的代理程式,具有很大的攻擊面。錯誤指示、隱藏在瀏覽器工具造訪之網頁中的 prompt injection 攻擊,或類似 March 2026 漏洞的程式錯誤,都可能把「讀取我的行事曆」變成「刪除我的檔案」。因此,這些限制不是可有可無的附加功能。請以專用的非特權使用者執行代理程式,且不要授予 sudo,避免遭入侵後進一步提升權限。將危險工具置於核准流程之後,讓代理程式在執行破壞性操作前先要求核准。將工具執行置於 sandbox 中,限制失控命令的影響範圍。隔離模型的 API key,避免金鑰洩漏後讓攻擊者取得你的帳戶。

在公開任何能執行 shell 命令的功能前,請先有系統地完成基本防護。先在此為自己的主機產生檢查清單,再由上到下執行:

ToolVPS hardening checklist

非特權使用者的部分,請參閱 以非特權使用者執行服務 的詳細說明;實際專案的完整安全設定流程,請參閱 在 VPS 上安全執行 OpenClaw

以純文字檔案儲存記憶

多數人預期 agent 的記憶會儲存在資料庫中,但 OpenClaw 並非如此。它會將記憶以純 Markdown 檔案儲存在磁碟上,這種做法值得採用。

檔案很簡單。不需要遷移 schema,不需要維持服務持續執行,也不需要學習查詢語言。檔案內容可直接檢查:開啟資料夾即可確切讀取 agent 對你的認知;編輯檔案即可修正錯誤筆記;刪除檔案即可移除某項記憶。檔案也具備可攜性,因為將 agent 移至新伺服器只需複製一個目錄。對單一使用者的個人 agent 而言,一個存放文字檔案的資料夾就已足夠,也能讓整個系統更容易理解與維護。

技能:可攜式的能力擴充方式

除了內建工具之外,OpenClaw 也使用可攜式的技能格式,讓社群不必修改核心程式,就能擴充它的功能。技能是由指示組成的自足式套件,有時也會包含程式碼,用來教導代理程式執行新的任務。代理程式會在任務需要時載入技能。網頁搜尋通常是人們首先加入的功能,而將該技能指向你自己的 SearXNG 執行個體,可讓查詢不經過商業搜尋 API,同時清楚呈現技能的信任邊界,因為它傳回的所有內容都是陌生人撰寫的文字。

這類格式的價值在於讓能力可以共用。有人為特定工作撰寫技能並發布,其他人即可加入使用。如果你要建立自己的代理程式,及早定義小型且清楚的擴充格式,日後就不必將每項功能硬編碼到核心中。

自行提供模型

OpenClaw 不限於特定模型。它不內建語言模型,而是連接到您選擇的模型。該模型可以是託管 API,也可以是由您自行執行的模型。

這種分離方式會直接影響成本、隱私與控制權。託管 API 不需要您管理硬體,就能使用能力最強的模型,但必須依 token 計費,且提示內容會離開您的伺服器。使用 Ollama 等工具提供的自架模型,則能讓所有訊息留在您自己的主機上;代價是需要自行負擔硬體與電力,且可用的模型可能較小或速度較慢。許多人會混合使用兩種方式。若您希望讓 agent 完全維持私密,在您的 VPS 上自架模型 是補上最後一道隱私缺口的關鍵,而 Hermes Agent 也是值得拿來比較的另一個自架 agent。

應該自行建置嗎?

這些元件都可以自行建置。所需部分並不特殊:一個 daemon、幾個聊天連接器、模型與工具的迴圈、一個存放 Markdown 的資料夾,以及一種 plugin 格式。了解這些元件確實很有用,因為這能消除你將使用的每個 agent 的神秘感,也能明確指出風險所在。

但對多數人而言,誠實的答案是直接執行實際系統並強化其安全性,而不是重新發明一套。OpenClaw 已經解決連接器、迴圈與技能格式等問題,也經過實際的安全性檢視。你更應該把時間花在真正需要由你正確處理的部分,也就是在自己的伺服器上完成設定與安全強化。若你想先採取學習路線,逐步掌握這些概念 比直接閱讀 agent 原始碼更有效,因為每個階段都會留下你實際建置完成的一項成果。建置一個小型版本來學習。執行並鎖定實際版本以供使用。

一般基礎可參閱 在 VPS 上建置自己的 AI agent使用 Claude 建置 agent 則以特定模型作為核心,示範相同的概念。

FAQ

建置像 OpenClaw 這樣的 agent 困難嗎?

各個元件本身並不困難。gateway process、chat connector、model-and-tools loop 和檔案資料夾,分別都很容易實作。困難之處在於安全性。能從聊天訊息執行 shell commands 的 agent 具有嚴重的安全風險。正確設定 sandbox、權限和 unprivileged user,所需的工作比串接各項功能更多。

OpenClaw 為什麼使用 Markdown 檔案儲存記憶,而不是資料庫?

因為對單一使用者的個人 agent 而言,檔案已經足夠,而且簡單得多。不需要執行 database service,記憶內容容易讀取,也能手動修正。將 agent 搬到其他伺服器時,只要複製目錄即可。資料庫適合更大規模的情境,但不適合這裡的需求。

個人 AI agent 最危險的部分是什麼?

是讓它能夠採取行動的 tools:執行 shell commands、控制瀏覽器,以及寫入檔案。這些功能是建置 agent 的原因,也是它可能傷害你的原因。OpenClaw 在 March 2026 發生的 security event,4 天內出現 9 個問題,其中包含評分 9.9 的 critical issue,清楚說明了為何必須謹慎處理 tool layer:使用 unprivileged user 執行、限制具破壞性的操作,並將執行環境置於 sandbox 中。

建置這類 agent 需要自己的 language model 嗎?

不需要。OpenClaw 這類 agent 不綁定特定 model,因此你可以連接自行選擇的 model。你可以使用 hosted API 取得能力最強的 models,也可以使用自行執行的 model,以取得完整隱私。使用 Ollama 自行 hosting 時,所有訊息都會留在自己的伺服器上,但代價是必須執行較小的 model。