深入OpenClaw網(wǎng)關(guān):架構(gòu)、網(wǎng)絡(luò)模型與運(yùn)行機(jī)制全解析

image.png

OpenClaw 是一個(gè)用于將即時(shí)通信渠道與編程智能體連接起來的 Gateway 網(wǎng)關(guān)系統(tǒng)。 它本身不提供模型能力,而是作為 消息入口、控制平面與節(jié)點(diǎn)協(xié)調(diào)中心 存在。

它更接近一個(gè)長期運(yùn)行的 Agent 基礎(chǔ)設(shè)施組件。

一、系統(tǒng)組成與工作原理

OpenClaw 的整體工作結(jié)構(gòu)可以抽象為一條清晰的控制與執(zhí)行鏈路:

WhatsApp / Telegram / Discord / iMessage(+ 插件)
        │
        ▼
  ┌───────────────────────────┐
  │       Gateway 網(wǎng)關(guān)        │  ws://127.0.0.1:18789(僅 loopback)
  │      (單一來源)          │
  │                           │  http://<gateway-host>:18793
  │                           │    /__openclaw__/canvas/(Canvas 主機(jī))
  └───────────┬───────────────┘
              │
              ├─ Pi 智能體(RPC)
              ├─ CLI(openclaw …)
              ├─ 聊天 UI(SwiftUI)
              ├─ macOS 應(yīng)用(OpenClaw.app)
              ├─ iOS 節(jié)點(diǎn)(Gateway WS + 配對)
              └─ Android 節(jié)點(diǎn)(Gateway WS + 配對)

所有消息首先進(jìn)入 Gateway 網(wǎng)關(guān),由其統(tǒng)一完成:

  • 渠道協(xié)議適配
  • 會話與上下文管理
  • RPC 調(diào)度至 Pi 智能體
  • 響應(yīng)回傳
    Gateway 是系統(tǒng)中的單一事實(shí)源(Single Source of Truth)。

二、Gateway 網(wǎng)關(guān)進(jìn)程模型

openclaw gateway 是一個(gè)長期運(yùn)行的單進(jìn)程服務(wù),承擔(dān)以下職責(zé):

  • 維護(hù)所有消息渠道連接

  • 暴露 WebSocket 控制平面

  • 管理節(jié)點(diǎn)、會話與 Canvas

  • 作為 CLI、UI、移動節(jié)點(diǎn)的統(tǒng)一入口
    這意味著它在工程上同時(shí)是:

  • 狀態(tài)中心

  • 調(diào)度中心

  • 安全邊界集中點(diǎn)
    任何系統(tǒng)級問題,最終都會回到 Gateway。

三、網(wǎng)絡(luò)模型與連接策略

OpenClaw 官方推薦的部署模型是:

每臺主機(jī)一個(gè) Gateway 網(wǎng)關(guān)

原因非常明確:

  • WhatsApp Web 會話只能安全地被單一進(jìn)程持有
  • Gateway 本身維護(hù)關(guān)鍵運(yùn)行狀態(tài)
  • 多 Gateway 場景必須做到強(qiáng)隔離
    關(guān)鍵網(wǎng)絡(luò)策略包括:

WebSocket 默認(rèn)僅綁定 loopback

ws://127.0.0.1:18789

向?qū)J(rèn)生成 Gateway token(即便是 loopback)

非 loopback 綁定(如 tailnet)必須顯式攜帶 token

openclaw gateway --bind tailnet --token ...

節(jié)點(diǎn)(iOS / Android / UI)通過 WebSocket 連接 Gateway,可經(jīng)由:

  • LAN
  • Tailnet
  • SSH 隧道
    舊版 TCP 橋接已被棄用。

四、Canvas Host 與節(jié)點(diǎn)模型

Gateway 同時(shí)承擔(dān) Canvas Host 職責(zé):

默認(rèn)端口:18793
提供 HTTP 文件服務(wù)
路徑:/openclaw/canvas/
Canvas 用于為節(jié)點(diǎn) WebView 提供界面能力:

  • WebChat
  • iOS 節(jié)點(diǎn)
  • Android 節(jié)點(diǎn)
    節(jié)點(diǎn)并不直接暴露業(yè)務(wù)邏輯,而是通過 Gateway 統(tǒng)一調(diào)度。

五、功能能力概覽(系統(tǒng)層面)

OpenClaw 提供的能力主要集中在“接入、路由、控制”層:

  • WhatsApp 集成(Baileys,WhatsApp Web 協(xié)議)

  • Telegram 機(jī)器人(grammY,私聊 + 群組)

  • Discord 機(jī)器人(channels.discord.js)

  • Mattermost 機(jī)器人(插件,Bot API + WebSocket)

  • iMessage(macOS 本地 imsg CLI)
    在智能體側(cè):

  • Pi 智能體(RPC 模式,唯一編程智能體路徑)

  • 支持工具調(diào)用與流式傳輸

  • 分塊流式響應(yīng)(含 Telegram 草稿流)
    在會話與路由層:

  • 私聊折疊到共享 main 會話(默認(rèn))

  • 群聊默認(rèn)隔離

  • 基于提及的群激活策略

  • 多智能體路由(工作區(qū) + 每智能體會話)
    在多端體驗(yàn)層:

  • WebChat

  • macOS 應(yīng)用

  • iOS 節(jié)點(diǎn)(Canvas)

  • Android 節(jié)點(diǎn)(Canvas + 聊天 + 相機(jī))
    舊版 Claude / Codex / Gemini / Opencode 路徑已移除,僅保留 Pi。

六、快速開始與運(yùn)行方式

運(yùn)行環(huán)境要求:

Node.js ≥ 22
推薦通過全局安裝與新手引導(dǎo)完成部署:

npm install -g openclaw@latest
# 或
pnpm add -g openclaw@latest

openclaw onboard --install-daemon

向?qū)瓿桑?/p>

  • Gateway 服務(wù)注冊(launchd / systemd)

  • 基礎(chǔ)配置初始化

  • token 與端口設(shè)置
    WhatsApp Web 配對:

  • openclaw channels login
    如需手動運(yùn)行 Gateway:

  • openclaw gateway --port 18789

七、多實(shí)例與測試運(yùn)行

在需要隔離或多 Gateway 場景下,可通過環(huán)境變量啟動多個(gè)實(shí)例:

OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \

OPENCLAW_STATE_DIR=~/.openclaw-a \
openclaw gateway --port 19001

發(fā)送測試消息(需 Gateway 運(yùn)行中):

openclaw message send \
  --target +15555550123 \
  --message "Hello from OpenClaw"

八、配置模型與訪問控制

默認(rèn)配置文件位于:

~/.openclaw/openclaw.json

如果不做任何配置,系統(tǒng)將:

  • 使用內(nèi)置 Pi 二進(jìn)制
  • 按發(fā)送者維度維護(hù)會話
    更常見的工程實(shí)踐是先限制入口,例如 WhatsApp 來源控制:
{
  "channels": {
    "whatsapp": {
      "allowFrom": ["+15555550123"],
      "groups": { "*": { "requireMention": true } }
    }
  },
  "messages": {
    "groupChat": {
      "mentionPatterns": ["@openclaw"]
    }
  }
}

這些配置本質(zhì)上是訪問控制與風(fēng)險(xiǎn)收斂策略,而不是功能開關(guān)。

九、系統(tǒng)性質(zhì)與工程含義

OpenClaw 的設(shè)計(jì)目標(biāo)并不是構(gòu)建一個(gè)“更聰明的聊天工具”,而是提供一套:

  • 明確的 Gateway 架構(gòu)
  • 可控的網(wǎng)絡(luò)模型
  • 可運(yùn)維的 Agent 控制平面
    它更接近一個(gè) 消息驅(qū)動的自動化系統(tǒng)入口。

對于測試、測開、平臺工程團(tuán)隊(duì)來說,這類系統(tǒng)的關(guān)鍵不在模型能力,而在于:

  • 如何控制入口
  • 如何隔離會話
  • 如何限制執(zhí)行邊界
    這些問題,才是真正落到工程現(xiàn)場時(shí)需要面對的部分。

關(guān)于我們
霍格沃茲測試開發(fā)學(xué)社,隸屬于 測吧(北京)科技有限公司,是一個(gè)面向軟件測試愛好者的技術(shù)交流社區(qū)。

學(xué)社圍繞現(xiàn)代軟件測試工程體系展開,內(nèi)容涵蓋軟件測試入門、自動化測試、性能測試、接口測試、測試開發(fā)、全棧測試,以及人工智能測試與 AI 在測試工程中的應(yīng)用實(shí)踐。

我們關(guān)注測試工程能力的系統(tǒng)化建設(shè),包括 Python 自動化測試、Java 自動化測試、Web 與 App 自動化、持續(xù)集成與質(zhì)量體系建設(shè),同時(shí)探索 AI 驅(qū)動的測試設(shè)計(jì)、用例生成、自動化執(zhí)行與質(zhì)量分析方法,沉淀可復(fù)用、可落地的測試開發(fā)工程經(jīng)驗(yàn)。

在技術(shù)社區(qū)與工程實(shí)踐之外,學(xué)社還參與測試工程人才培養(yǎng)體系建設(shè),面向高校提供測試實(shí)訓(xùn)平臺與實(shí)踐支持,組織開展 “火焰杯” 軟件測試相關(guān)技術(shù)賽事,并探索以能力為導(dǎo)向的人才培養(yǎng)模式,包括高校學(xué)員先學(xué)習(xí)、就業(yè)后付款的實(shí)踐路徑。

同時(shí),學(xué)社結(jié)合真實(shí)行業(yè)需求,為在職測試工程師與高潛學(xué)員提供名企大廠 1v1 私教服務(wù),用于個(gè)性化能力提升與工程實(shí)踐指導(dǎo)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容