SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor

OpenBot 是哪一個?Nightly Labs 與 CopilotKit 的差別

搜尋 OpenBot 會碰到兩個無關的專案。這裡說清楚 Nightly Labs 版如何沿用你已登入的 Claude 與 ChatGPT 方案,以及 PolyForm 非商用授權為何讓公司不能直接拿來用。

搜尋 OpenBot 時,你找到的是哪一個?

搜尋「OpenBot」會找到兩個彼此無關的專案。Nightly Labs 的 nightly-labs/openbot 是裝在自己電腦上的桌面工作區,它驅動你已經登入的 Claude Code、Codex 等代理 CLI。CopilotKit 的 CopilotKit/OpenBot 是放在伺服器上的 MIT 授權系統,每個 Bot 有自己的容器與瀏覽器。兩者的程式碼、授權和使用方式都不同。

先用下面兩組清單對照,再決定要讀哪一段。

nightly-labs/openbot(Nightly Labs)

  • 自我介紹:「local-first desktop workspace for persistent AI teammates」,也就是以本機為主、讓 AI 隊友長期存在的桌面工作區。
  • 形態:Electron 桌面程式。另有無頭(headless,沒有螢幕與桌面環境)伺服器模式,以及 Docker 映像檔 ghcr.io/nightly-labs/openbot。
  • 模型來源:沿用你本機已登入的各家 CLI,不另外保管供應商憑證。
  • 授權:PolyForm Noncommercial 1.0.0,商業用途要另外取得授權。
  • 權限:代理目前以 danger-full-access 與 approvalPolicy: never 執行。

CopilotKit/OpenBot(CopilotKit)

  • 自我介紹:「Open-source AI coworkers that each get a computer of their own」,每個 AI 同事都有一台自己的電腦。
  • 形態:伺服器堆疊。每個 Bot 有自己的容器、資料夾與瀏覽器設定檔。映像檔是 ghcr.io/copilotkit/openbot:latest。
  • 控制:所有動作都經過一個 gateway,由它決定是否放行,並留下紀錄。
  • 授權:MIT。README 標明目前是 Beta,仍在積極開發中。

CopilotKit 這一個,我們已經寫過完整的部署教學:在 VPS 上自架 CopilotKit OpenBot AI 同事。以下篇幅全部用在 Nightly Labs 的版本。

先說版本:這個專案幾乎每天發版

下面的內容依據 2026 年 11 月 2 日讀到的 README、docs/ 文件與發行頁。v0.58.0 在 11 月 1 日發布。v0.59.0 接著在 11 月 2 日發布,是當天的最新版。v0.59.0 的發行說明共有 65 項,其中包括新增 Kimi 與 Hermes Agent 兩個供應商,以及一份 VPS 安裝指南。2026 年 11 月 4 日重新查閱時,最新版已是 11 月 3 日發布的 v0.60.0。

發版這麼頻繁,畫面和按鈕位置很快就會過時。所以這篇只講不容易變的部分:架構、授權、費用的計算方式,以及安全模型。動手前,請先打開 nightly-labs/openbot 的發行頁 看最新版本號。

Nightly Labs 的 OpenBot 是怎麼運作的?

OpenBot 是一層外殼:它替代理安排工作、保存對話與記憶,真正的推理交給各家的命令列工具。這種包在代理外面的那一層通常叫做 harness,代理 harness 是什麼 有更完整的說明。

README 對登入的說法很直接:「OpenBot uses the existing local CLI login. It does not copy provider credentials.」意思是 OpenBot 使用你本機現有的 CLI 登入狀態,不會把供應商的憑證複製一份。Claude 透過 Claude Code 連到 Anthropic,Codex 連到 OpenAI,Gemini 則使用 Google AI Pro 或 Ultra 方案。v0.59.0 也把 Hermes Agent 加進了供應商清單。想先單獨試 Hermes 的人,可以參考 在 VPS 上自架 Hermes Agent。

README 列出的支援平台如下:

  • macOS 13 或更新版本,Apple silicon 或 Intel 都可以。
  • Windows 10 或更新版本,限 x64。
  • Linux x64 或 arm64,以 AppImage 發行。

在 Ubuntu 23.10 以後的版本和 Debian 13 上,AppArmor 會限制非特權的 user namespace(使用者命名空間)。README 說明,在這些系統上 OpenBot 一啟動就會結束,要先安裝一份 AppArmor 設定檔才能執行。原因是 Electron 的沙箱需要建立 user namespace,而系統預設不讓一般程式這樣做。所以在 Ubuntu 24.04 桌面上,AppImage 點了沒反應時,先看 README 的 AppArmor 段落,不必重新下載。

用 OpenBot 要付多少錢?費用算在哪裡?

OpenBot 官網的定價頁說,個人與其他非商業用途可免費使用 OpenBot,商業授權與官方代管伺服器另行收費。費用算在哪裡,取決於你的 CLI 是用什麼方式登入的。專案的 docs/provider-terms.md 寫得很清楚:OpenBot 用你自己的登入或金鑰執行各家的 CLI,而那家供應商的條款適用。

Claude Code。 Anthropic 的說明中心指出,在 Claude Code 裡用 Pro、Max 或 Ultra 帳號登入,會把方案訂閱連到 Claude Code。Pro 和 Max 方案有五小時的使用時段限制,也有每週限制。Ultra 方案有每週限制,尚未通過驗證的帳號另有暫時的五小時使用時段限制,只有通過驗證的 Ultra 帳號免除五小時限制。Max 和 Ultra 另有 Fable 的獨立每週限制。Claude 與 Claude Code 共用同一份額度。如果環境裡設定了 API 金鑰,Claude Code 會改走 API 計費,不再使用方案內含的額度。兩種登入方式的差別與切換方法,請看 Claude Code 該用訂閱登入還是 API 金鑰。額度怎麼消耗、何時重置,Claude 使用限制說明 有細節。

Codex。 OpenAI 的定價頁寫著,Codex 包含在 ChatGPT 的 Free、Go、Plus、Pro、Business、Edu 和 Enterprise 方案中。用 ChatGPT 帳號登入時,本機訊息和雲端對話共用方案的額度。改用 API 金鑰,則依 API 費率計費。

Gemini。 README 說 Gemini 使用 Google AI Pro 或 Ultra 方案,登入時會在瀏覽器開啟 Google 的登入頁。

所以照 README 描述的機制,代理工作消耗的是你登入的那個方案的額度,不會另外產生一張 API 帳單。前提有兩個:你的 CLI 確實是用方案帳號登入,而且環境裡沒有留著 API 金鑰。台灣和香港的實際售價、幣別與稅金,我們沒有逐一核對,請以各家定價頁在你所在地區顯示的金額為準。

用訂閱帳號跑 OpenBot,條款允許嗎?

這個問題目前沒有定論,連 OpenBot 自己也這樣說。專案的 provider-terms 文件寫著:「Anthropic has not confirmed to the OpenBot project that subscription sign-in through OpenBot is permitted.」也就是 Anthropic 沒有向 OpenBot 專案確認過,透過 OpenBot 用訂閱登入是被允許的。同一份文件也提醒,使用訂閱方案前,要先讀供應商對第三方工具的規定。

Anthropic 的 Claude Code 法律與合規頁 現在說明,除非另有協議,在產品或服務中預先安裝或執行 Claude Code,必須同意商業服務條款,並遵守兩項條件:程式必須保持 Anthropic 發布的原樣,不能移除、停用或限制內建的驗證方式;每位終端使用者必須用自己的 API 金鑰、Claude 訂閱或第三方推理服務憑證登入,由供應商直接向該使用者計費,平台不能代付、轉售或居中處理 Claude 用量。這一頁沒有點名 OpenBot,所以我們不替你判斷它落在哪一邊。OpenAI 和 Google 對第三方工具的條款,我們這次沒有查閱,請自行到它們的說明中心確認。

有一種用法的風險特別明顯。OpenBot 的文件提醒「Other people's requests use one person's plan」:如果團隊成員共用一台裝了 OpenBot 的機器,所有人的請求都算在登入的那個人的方案上。Anthropic 的現行法律與合規頁要求每位終端使用者使用自己的憑證登入。一個人的方案拿來給整個團隊用,額度很快就會用完。

OpenBot 是開源軟體嗎?公司可以用嗎?

它的原始碼公開,但授權限制了用途。nightly-labs/openbot 採用 PolyForm Noncommercial License 1.0.0。LICENSE 檔寫著「Any noncommercial purpose is a permitted purpose」,任何非商業目的都允許。README 則寫著「Commercial use requires a separate license from the copyright owner」,商業用途需要另外向著作權人取得授權。0.1.11 以前(含 0.1.11)的版本仍然可以依 Apache-2.0 使用,但那些版本和現在的 0.60.0 版本之間隔了五十多個小版本。

專案的用詞也跟著改了。v0.56.0 的發行說明中有一項 PR,標題是「Say that the OpenBot source code is open, not that OpenBot is open source」,也就是改口說原始碼公開,不再自稱開源。官網現在寫的是「The source code of OpenBot is open」,並說個人專案、學習和研究這類非商業用途,可以免費修改與執行。

這對想在公司裡用的人有幾個實際影響:

  • 公司內部的開發工作通常屬於商業用途,所以要先取得商業授權。LICENSE 檔把商業授權的詢問指向 licenses@openbot.run。官網已列出 Starter 與 Team 商業授權,可在 Settings > Billing 購買;定價頁目前標示授權免費至 2026 年 12 月 1 日,後續費用請以結帳頁為準。
  • 2026 年 11 月 2 日查閱時,GitHub 頁面上的授權欄位顯示「Other」,不是 PolyForm,GitHub API 的判定是 NOASSERTION。公司的授權掃描工具如果只看這個欄位,可能會漏掉用途限制。請直接讀 LICENSE 檔。
  • 專案近期還在更新 openbot.run 上的條款。請以你下載當下網站上的版本為準。
  • 授權看的是用途,跟部署位置無關。裝在你自己的 VPS 上,只要用在公司的工作,一樣屬於商業用途。

相比之下,CopilotKit/OpenBot 是 MIT 授權,商業使用沒有這層限制。如果你的第一考量是授權,這一點可能就決定了答案。

還有其他同名或相似的專案嗎?

有,而且名字很容易混淆。例如 milind-soni/OpenMausBot,它的 README 說它是受 Grok Bot 啟發的獨立專案,又叫 MausBot,以前叫 OpenGrokBot。它採用 Apache-2.0(enterprise/ 資料夾另有授權),而且 README 從頭到尾沒有自稱 OpenBot。

安裝任何一個「OpenBot」之前,先核對 GitHub 的組織名稱(nightly-labs 或 CopilotKit),再核對映像檔的完整路徑。複製貼上指令時,組織名稱只要錯一個字,你裝的就是別人的程式。

在沒有螢幕的 VPS 上安裝 OpenBot

OpenBot 有一個無頭伺服器模式,適合放在一台獨立的 VPS 上,讓代理和你的筆電分開。官方文件 docs/self-hosted-server.md 列出的需求是 Ubuntu 24.04 或 26.04、x86_64 或 arm64,並且使用 systemd。完整的安裝流程只在 Ubuntu 24.04 上測試過。Debian 12 和 13 只測試了套件安裝那一步。

這些步驟要由你自己執行。完整安裝需要真實的 OpenBot 帳號和供應商登入,我們的測試環境無法持有這些帳號。所以下面的指令照官方文件抄錄,沒有在我們的測試容器中跑完整個流程。

官方的一行安裝指令是:

curl -fsSL https://raw.githubusercontent.com/nightly-labs/openbot/main/scripts/install-server.sh | sudo bash

這行指令把網路上的腳本直接交給 root 執行。腳本內容如果被換掉,你沒有機會先看到。比較穩的做法是先下載、讀過,再執行:

curl -fsSLo install-server.sh https://raw.githubusercontent.com/nightly-labs/openbot/main/scripts/install-server.sh
less install-server.sh
sudo bash install-server.sh

官方文件說明,這個腳本只負責下載發行版。它會檢查 AppImage 的 SHA-512,再執行安裝程式。服務預設以 openbot 使用者執行,家目錄在 /var/lib/openbot。想換使用者名稱,可以加上 --user <name>,例如 sudo bash install-server.sh --user agentbox。安裝程式也會拒絕比目前已安裝版本更舊的發行版。

安裝完成後登入:

sudo openbot login

它會詢問你的電子郵件,再要你輸入 OpenBot 寄到信箱的驗證碼。登入成功後,這台伺服器會出現在你帳號的伺服器清單裡。預設名稱是「OpenBot」,可以用 sudo openbot name <name> 改成 6 到 32 個字元的名稱。

接著確認服務在執行:

systemctl status openbot.service
sudo openbot logs

systemctl status 應該顯示 active (running)。服務本身不開放任何網路連接埠,控制介面是一個本機的 Unix socket。檢查它的權限:

sudo ls -ld /run/openbot
sudo ls -l /run/openbot/control.sock

目錄的擁有者應該是服務使用者,權限是 drwx------。socket 的權限應該是 srw-------。這表示只有服務使用者和 root 能連上控制介面。如果你看到其他使用者也有讀寫權限,表示安裝結果和文件描述的不同,先別繼續。

更新。 系統有一個 timer 會先把新版本準備好,在下次開機時套用,或由擁有者在 Server Settings > Updates 裡安裝。要立刻更新,執行 sudo openbot update。

移除。 sudo openbot uninstall 會登出,並移除服務和程式檔,但會保留服務使用者的家目錄和 keyring(金鑰圈)。要連資料一起刪除:

sudo openbot uninstall
sudo userdel --remove openbot && sudo rm -rf /srv/openbot-hosted

家目錄和 /srv/openbot-hosted 要一起保留或一起刪除,因為 keyring 裡放著加密資料用的金鑰。只刪其中一個,剩下的那一半就無法使用。

Gemini 可從自己的電腦完成遠端登入。 官方更新紀錄說明,支援登入轉送的遠端伺服器,可以從你自己的電腦連接 Codex、Claude、Gemini 和 Muse。登入頁會在你電腦的瀏覽器開啟,OpenBot 再把 callback 轉送給伺服器上的供應商 CLI,不需要在伺服器上親自操作桌面瀏覽器。若你的電腦無法接收 callback,OpenBot 會要求你貼上登入結束時瀏覽器顯示的網址;網頁版一律使用這個步驟。

用 Docker 跑 OpenBot 要注意什麼?

另一條路是官方映像檔 ghcr.io/nightly-labs/openbot,支援 linux/amd64 和 linux/arm64。資料放在容器內的 /data,必須掛上一個 volume,否則重建容器時資料會跟著消失。

docker run 需要專案提供的 seccomp.json。它是 Docker 預設的 seccomp 設定檔,多加了一條規則,允許 clone 和 unshare,讓 Electron 沙箱能建立 user namespace。先把它下載到你執行指令的目錄,再啟動容器:

curl -fsSLO https://raw.githubusercontent.com/nightly-labs/openbot/main/docker/seccomp.json
docker run -d --name openbot --restart unless-stopped \
  --security-opt seccomp=seccomp.json --security-opt no-new-privileges:true \
  --shm-size 1g --stop-timeout 60 -v openbot-data:/data \
  ghcr.io/nightly-labs/openbot:latest
docker exec -it openbot openbot login

這幾個參數各有原因:

  • --shm-size 1g:官方文件說 Docker 預設的 64 MB 共享記憶體太小。
  • no-new-privileges:true:映像檔以 UID 1000 執行,裡面沒有 SUID 檔案,請保持這個選項開啟。
  • -v openbot-data:/data:/data 裡有帳號 session、供應商登入和對話紀錄。
  • 不要把 seccomp.json 換成 seccomp=unconfined,也不要加 --privileged 或 --no-sandbox。官方文件明確要求保持 Electron 沙箱開啟。

latest 會跟著最新版本走。想自己控制升級時機,就把它換成確切的版本號。版本標籤請先到 GHCR 的套件頁確認。也不要把舊版本的標籤用在新版本跑過的資料上,因為舊版 OpenBot 打不開新版遷移過的資料庫。

Docker 文件也清楚列出沒有測試過的部分。容器內執行 openbot login、容器內的 Gemini 登入、rootless Docker、Podman,以及用 AppArmor 限制 user namespace 的主機,都在未測試清單上。README 提到 Ubuntu 23.10 以後的版本會用 AppArmor 限制 user namespace,所以在 Ubuntu 24.04 主機上跑這個容器,屬於官方沒有測試過的組合。另外,Codex 的「Workspace only」模式在容器裡可能失敗,因為 bubblewrap 需要的掛載會被 seccomp 和 AppArmor 設定擋下。

為什麼 OpenBot 的代理不該跑在你的筆電上?

README 裡最重要的一句是:「Agents currently run with danger-full-access and approvalPolicy: never.」代理目前以完全存取權限執行,而且每個動作都不需要你核准。README 的安全段落接著說:「Full local access is an explicit current product decision, not a security boundary.」完全的本機存取是刻意的產品決定,不能當成安全邊界。

SECURITY.md 說得更直白:OpenBot 以本機為主,但不會替使用者把它和主機隔開。代理可以讀取本機檔案、執行指令、使用網路,也能操作內建的瀏覽器。SECURITY.md 也寫明,這種已經寫進文件的行為本身不算漏洞。所以如果你回報「代理讀了我的 ~/.ssh」,專案不會把它當成安全問題,因為代理本來就有這個權限。

在你平常用的筆電上,代理能碰到的東西,就是你能碰到的東西。SSH 私鑰、雲端主機的憑證、瀏覽器裡已登入的帳號、公司專案的 .env 檔,全部在範圍內。只要一次提示注入(prompt injection)成功,例如代理讀到的網頁或文件裡藏了指令,它就能用這些權限做事,而且沒有任何核准步驟能攔下來。

比較合理的放法有兩種:

  • 一台用完可丟的 VM 或 VPS。 裡面只放這次工作需要的程式碼和憑證,出事就整台重建。把程式代理關進可丟棄的 VM 說明了怎麼建立這樣的環境。
  • VPS 上的專用使用者。 無頭安裝本來就會建立 openbot 服務使用者。官方文件寫著,代理以服務使用者的身分執行,能完全存取它的檔案、keyring 和資料庫。所以不要把你的管理員 SSH 金鑰放進這個使用者的家目錄,也不要把它加進 sudo 或 docker 群組。加進 docker 群組等於給它 root 權限,因為它可以啟動一個掛載整個主機檔案系統的容器。

Docker 的情況也一樣。官方文件寫明,代理在容器內有完全存取權,包括整個 /data 和網路。/data 要像家目錄一樣保護。不要把 Docker socket、你的家目錄,或任何不想被改動的主機資料夾掛進容器。API 金鑰要用 -e 或 Compose 的 environment 傳入,但要記得代理讀得到 OpenBot 的環境變數。

這套原則不只適用於 OpenBot。在 VPS 上安全執行 Claude Code 和 讓 AI 代理碰不到你的機密 有更多適用於各種代理工具的做法。

該選哪一個 OpenBot?

如果你想讓已經付費的 Claude 或 ChatGPT 方案,在自己的電腦上做更多持續性的工作,而且用途是個人專案、學習或研究,Nightly Labs 的 OpenBot 符合這個需求。代價是代理沒有核准步驟,隔離環境要你自己準備。

如果你要給團隊使用,希望每個 Bot 各有容器、每個動作都經過 gateway 並留下紀錄,而且需要 MIT 授權,那你要的是 CopilotKit 的 OpenBot。請直接看 CopilotKit OpenBot 的 VPS 自架教學。

FAQ

OpenBot 是開源軟體嗎?可以在公司使用嗎?

Nightly Labs 的 nightly-labs/openbot 採用 PolyForm Noncommercial License 1.0.0,原始碼公開,但只允許非商業用途。商業用途必須另外向著作權人取得授權,LICENSE 檔指定的詢問信箱是 licenses@openbot.run。專案在 v0.56.0 也把用詞改成「原始碼公開」,不再自稱開源。0.1.11 以前的版本仍是 Apache-2.0。CopilotKit 的同名專案則是 MIT 授權。

用 OpenBot 會另外產生 API 費用嗎?

依照 README 的說明,OpenBot 沿用你本機已登入的 CLI,不複製供應商的憑證。Claude Code 若用 Pro、Max 或 Ultra 帳號登入,用量計入方案額度,並與 Claude 共用同一份限制。Pro 和 Max 有五小時與每週的限制,Ultra 有每週限制,尚未通過驗證的帳號另有暫時的五小時限制,只有通過驗證的 Ultra 帳號免除五小時限制。Max 和 Ultra 另有 Fable 的獨立每週限制。Codex 用 ChatGPT 帳號登入時,使用的是方案額度。Claude Code 的環境裡若設定了 ANTHROPIC_API_KEY,就會改依 API 費率計費;Codex 改用 API 金鑰登入時,也依 API 費率計費。OpenBot 本身在非商業用途下不收費。

OpenBot 可以裝在沒有螢幕的 VPS 上嗎?

可以。官方提供 install-server.sh,支援使用 systemd 的 Ubuntu 24.04 與 26.04。裝好後執行 sudo openbot login,用寄到信箱的驗證碼登入。服務不開放網路連接埠,預設以 openbot 使用者執行。支援登入轉送的遠端伺服器,也能從你自己電腦的瀏覽器完成 Gemini 登入,再由 OpenBot 把 callback 轉送給伺服器上的 CLI。

Nightly Labs 的 OpenBot 和 CopilotKit 的 OpenBot 有關係嗎?

沒有關係,只是名字相同。nightly-labs/openbot 是驅動你本機 Claude Code、Codex 等 CLI 的桌面工作區,採用非商業授權。CopilotKit/OpenBot 是 MIT 授權的伺服器系統,每個 Bot 有自己的容器與瀏覽器,所有動作都經過 gateway。安裝前請核對 GitHub 組織名稱與映像檔路徑。

這篇文章對您有幫助嗎?