蝦米不一樣?從龍蝦到奈米蝦的 AI 助理進化論
OpenClaw 與 NanoClaw 的架構、安全性、安裝難易度完整比較。從單一程序到容器隔離,兩代 AI 助理的核心差異。
What's the Diff? From OpenClaw to NanoClaw
OpenClaw 是早期版本,NanoClaw 是重新設計過的架構。同一個概念的兩個世代,如果你從 OpenClaw 開始用,遲早會遇到一些限制,那些限制就是 NanoClaw 想解決的問題。
最大的差異:程序 vs 容器
OpenClaw 把所有東西跑在同一個 Node.js 程序裡。家庭群組、工作群組、私訊,全部共用同一個 agent、同一份記憶、同一個人格。
NanoClaw 換了一個思路:每個群組是一個獨立的 Docker 容器。容器裡跑的是 Claude Code,有自己的 filesystem、自己的 CLAUDE.md、自己的工具。
graph TD
subgraph openclaw[OpenClaw 單程序架構]
P[Node.js 程序]
P --> G1[群組 A]
P --> G2[群組 B]
P --> G3[群組 C]
P --> MEM[共用記憶 / 人格]
end
subgraph nanoclaw[NanoClaw 容器架構]
H[宿主機]
H --> C1[容器 A<br/>獨立 CLAUDE.md]
H --> C2[容器 B<br/>獨立 CLAUDE.md]
H --> C3[容器 C<br/>獨立 CLAUDE.md]
H --> GLOBAL[global CLAUDE.md<br/>read-only 共用]
end
實際影響:
- 工作群組的 agent 完全不知道家庭群組發生什麼事,除非明確設定 shared context
- 一個容器壞掉不會拖垮其他群組
- 每個群組可以有完全不同的 persona、工具、行為規則
設定方式
OpenClaw 用一個 openclaw.json 管所有事情——頻道、外掛、模型、時區,全塞在同一個設定檔裡。
NanoClaw 沒有這個設定檔。行為寫在 CLAUDE.md 裡,憑證放 .env 或 OneCLI Vault,頻道整合透過 skill 安裝。想加 Telegram 就跑 /add-telegram,每個頻道是獨立的程式碼模組,不是 JSON 裡的一個欄位。
安全性比較
NanoClaw 在安全性上有兩個明顯進步。
容器隔離:OpenClaw 的 agent 跑在宿主機程序裡,能存取的資源範圍較廣。NanoClaw 的 agent 在 Docker 容器內執行,就算被惡意 prompt 操控,能做的事也被容器邊界限制住。
API Key 不進容器:
| OpenClaw | NanoClaw | |
|---|---|---|
| API Key 存放位置 | .env 或設定檔,程序直接讀取 |
OneCLI Vault,在宿主機 |
| 容器內可讀到 Key? | 可以 | 不行 |
| 惡意套件能竊取 Key? | 能 | 拿不到 |
NanoClaw 的容器只知道一個本地 Gateway 位址,API Key 永遠待在宿主機的 Vault 裡,不進容器。遭遇 supply chain attack(npm 惡意套件)或 prompt injection 時,損失控制能力明顯更強。
安裝難易度
| OpenClaw | NanoClaw | |
|---|---|---|
| 依賴環境 | Node.js 即可 | 需要 Docker |
| 初始設定 | 編輯一個 JSON 設定檔 | 跑 /setup skill 逐步引導 |
| 新增頻道 | 改 JSON + 重啟 | 跑對應 skill |
| 升級更新 | 手動 | /update-nanoclaw 自動化 |
| 除錯難度 | 低,log 集中 | 稍高,需要基本 Docker 概念 |
OpenClaw 安裝門檻低,設定直觀,沒有 Docker 也能跑。NanoClaw 第一次設定步驟比較多,Docker 是硬依賴。
設定完之後,日常維護反而比 OpenClaw 省力——新增頻道、升級、擴充都有 skill 處理,不用翻設定檔。初始成本高,長期成本低。
總結
| 面向 | OpenClaw | NanoClaw |
|---|---|---|
| 架構 | 單一程序 | 容器隔離 |
| 群組隔離 | 無 | 完全隔離 |
| 安全性 | 基本 | 容器 + Vault 雙層防護 |
| 安裝難度 | 低 | 中(需 Docker) |
| 長期維護 | 手動 | skill 自動化 |
| 適合情境 | 單群組、快速起步 | 多群組、正式部署 |