Agent Zero VPS 自架與 Web UI 安全設定
Agent Zero 的 Web UI 可執行程式碼、操作瀏覽器及 shell 命令。了解 port 50001 的公開風險,透過 loopback 與 SSH tunnel 安全部署。
Agent Zero 是什麼,以及風險所在
Agent Zero 是採用 Docker 優先設計的開放原始碼代理程式框架。主要代理程式可以建立下屬代理程式。每個代理程式都在獨立的 Docker 容器中執行,並且能執行程式碼、操作瀏覽器及執行 shell 命令。您可以透過 Web UI 控制整個系統。它功能完整且實際使用很有趣,甚至能在只需 6 美元的 VPS 上執行。如果您需要的是多代理程式架構,而不是這個框架,也可以讓同一台主機上的兩個 Claude Code 工作階段直接互傳訊息;這種做法需要執行及保護的元件少得多。
風險在於 Web UI。它是控制執行命令及寫入檔案之系統的控制面板,因此公開且未經驗證的 Web UI,等同於讓遠端使用者取得該系統的進入點。多數安裝指南都會直接導致以下陷阱:標準 docker run 會在所有網路介面上以 port 50001 發布介面。對公開 VPS 而言,容器一啟動,整個網際網路就能連線到該介面。這是您應該第一個處理的事項,而不是最後才處理。
需要準備的項目
你需要一台已安裝 Docker 的 VPS、一組語言模型 API key,或可供 Agent Zero 使用的本機模型,並準備至少幾 GB 的 RAM。Agent Zero 可在任何能執行 Docker 的環境中運作,從小型 VPS 到 GPU server 都可以。如果你不熟悉 Docker,Docker 基礎指南會說明下方命令所需的基本概念。
使用 Docker 安裝並繫結至 loopback
文件提供的快速入門只需執行一個 docker run。與其他地方常見的複製貼上版本相比,重要差異在於對外發布的位址。不要在連接埠 50001 上對所有介面發布。請發布至 loopback:
docker run -d --name agent-zero \
-p 127.0.0.1:5080:80 \
-v a0_usr:/a0/usr \
agent0ai/agent-zero-p 127.0.0.1:5080:80 只會將 Web UI 繫結至伺服器的 loopback 位址,因此無法從網際網路連線。請透過 SSH tunnel 從自己的電腦存取:
ssh -L 5080:127.0.0.1:5080 you@your-vps接著在本機開啟 http://127.0.0.1:5080,並在 UI 中設定模型提供者。若要建立永久的多使用者環境,請改用 VPN 或需要驗證的反向代理,但絕不要將原始 UI 發布至公開網際網路。對於主機上其他介面可控制敏感功能的工具,也應養成相同習慣;例如 自架的開放原始碼掃描器 也應透過通往其 UI 的 tunnel 存取,而不是發布連接埠。
其他指南停止的地方,以及你不應停止的原因
搜尋如何安裝 Agent Zero 時,你會找到許多指南,包括託管公司的指南。這些指南會帶你在 50001 埠啟動 Web UI,然後就此結束。但這正是風險開始的地方,而不是風險結束的地方。完成整體防護需要兩件事。第一,如上所述,讓 UI 保持私有。第二,在伺服器前方設定預設拒絕的防火牆。如此一來,即使容器意外開放連接埠,或日後設定錯誤,也不會暴露你忘記處理的連接埠:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enable請參閱防火牆基礎以了解完整做法,並留意IPv6 缺口。即使 IPv4 規則看似嚴格,在 :: 上監聽的服務仍可透過 IPv6 存取。
容器隔離保護的是代理程式,不是伺服器
Agent Zero 的設計確實妥善處理了一種隔離需求:子代理程式會在個別容器中執行,因此彼此隔離。這項隔離值得保留。但很容易將其解讀成「既然已經使用沙箱,我就安全了」,然後就此停下。容器隔離能防止代理程式彼此影響,卻無法保護伺服器免受網際網路攻擊,也無法防止公開的 Web UI 將控制權交給陌生人。這些工作必須由你在主機上負責。請事先決定:在無人監看時,代理程式最多可以執行哪些操作。這與 Claude Code 的權限模式背後的判斷相同;無人值守的伺服器應採用比放在你面前的筆記型電腦更嚴格的設定。
Secrets、使用者與主機
將 model API key 和其他憑證存放在 Agent Zero 的設定檔或環境檔中,並確保只有正確的帳號能讀取。不要讓這些內容出現在 shell 歷程記錄或任何 repository 中。相同原則也適用於主機上其他用來保護 secrets 的元件,因為 Vaultwarden 強化設定的重點在於 admin token 與備份檔案,而不是該應用程式已經妥善處理的加密功能。請依照 最小權限使用者的原則,以非特權使用者而非 root 管理主機,並依照 SSH 強化設定改用僅限金鑰的驗證方式。接著逐項檢查下方清單,避免遺漏任何項目。
如果你正在比較不同的 agents,OpenClaw 強化指南與OpenHands 指南採用的是相同的安全姿態:將控制介面維持在私有網路中,以非特權使用者執行,預設啟用防火牆,並將主機視為會執行非自己撰寫程式碼的環境。如需並列比較全部五個 agents,請參閱2026 年最佳自架 AI agents。
這些概念的基礎內容可參閱在 VPS 上建立自己的 AI agent;Dify也是值得比較的另一個可自行託管平台。
FAQ
Agent Zero 自行代管是否安全?
只要將其 Web UI 保持私有並強化主機安全性,就可以。Agent Zero 會執行程式碼、瀏覽器與 shell,並透過預設在 port 50001 發布的 Web UI 進行控制。因此,風險在於介面暴露,而不是框架本身。將 UI 綁定至 loopback,透過 SSH 或 VPN 存取;設定 default-deny 防火牆,並以非特權使用者執行。
Agent Zero 預設會將 Web UI 暴露至網際網路嗎?
標準 docker run 會在每個網路介面上發布 port 50001。對公開 VPS 而言,這表示容器啟動後即可從網際網路連線。將發布位址變更為 127.0.0.1,讓 UI 僅在 loopback 上監聽,然後透過 SSH tunnel 或 VPN 存取。
Agent Zero 能在小型 VPS 上執行嗎?
可以。Agent Zero 可在 Docker 能執行的環境中運作,包括小型且低價的 VPS,但較繁重的工作與較大的本機模型需要更多記憶體。若指定自行代管的模型,而非代管式 API,請依模型需求規劃主機規格,而不只是依 Agent Zero 的需求規劃。
Agent Zero 與 OpenClaw 或 Hermes 有何不同?
三者功能有所重疊,但定位不同。Agent Zero 是以 Docker 為優先的框架,圍繞主要代理程式建立,並在隔離的容器中產生下層代理程式,再透過 Web UI 操作。OpenClaw 與 Hermes 則是透過聊天應用程式存取的個人助理。三者的安全原則相同:保持控制介面私有,並強化主機安全性。