隔離主機——LXC 或 Kubernetes
每個 Agent 一台 Linux 主機,可跑在 LXC 或 K8s Pod 上。真實的 root 權限、真實的檔案系統, 搭配 eBPF 出站流量政策——與您的主機、叢集控制平面, 以及其他所有租戶完全隔離。
開源的 Agent 執行環境,具備 SSH 原生隔離。 每個 Agent 都在 Kubernetes 或 LXC 上取得一台持久、 網路隔離的主機——不需要 kube-apiserver token,內建 eBPF 出站流量政策與 MCP server。可自行架設,Apache 2.0 授權。
自行架設在您自己的 VM 上,或省去維運工作、直接使用我們的雲端控制平面。
$ containarium create my-agent-box
✓ container my-agent-box created
✓ sentinel route my-agent-box.example.com live
✓ MCP server listening inside the box
$ containarium ssh-config my-agent-box >> ~/.ssh/config
# Now point any agent at it — Claude Code, Cursor, Cline...
$ claude --mcp my-agent-box.example.com
Connected. Your agent has its own box.
Containarium 是什麼
每個 Agent 都需要一個能實際運作的環境——一個能安全執行程式碼、 編輯檔案、呼叫工具的地方。Containarium 就是這個環境。 您帶來 Agent,我們提供主機。
每個 Agent 一台 Linux 主機,可跑在 LXC 或 K8s Pod 上。真實的 root 權限、真實的檔案系統, 搭配 eBPF 出站流量政策——與您的主機、叢集控制平面, 以及其他所有租戶完全隔離。
內建的 Sentinel(sshpiper + Caddy + PROXY protocol)讓每台主機 都取得一個可路由、具備 TLS 的主機名稱。SSH 與 HTTP 直接就能用。
主機內執行一個 MCP server,透過 stdio 提供 shell 與檔案操作能力。 任何支援 MCP 的 Agent 都能驅動它:Claude Code、Cursor、Cline,或您自己的 Agent。
運作原理
containarium create 會啟動一個 LXC 容器,並在 Sentinel 上註冊路由。
主機會對外提供 MCP server。您的 Agent 透過 SSH 或 HTTPS——以主機名稱連線。
Agent 編輯檔案、執行指令、發佈程式碼——都在一個您掌控的隔離環境中進行。
適用場景
給 Claude Code 或 Cursor 一台持久主機——跨工作階段保留狀態,隨處都能繼續發佈。
每個 PR 啟動一台主機,在裡面跑 Agent,用完即丟。不必再跟 runner 搶資源。
每個任務、每個使用者、每個租戶一台主機。Sentinel 負責路由;您負責 Agent。
在內建的 MCP server 旁掛上您自己的 MCP server。每個 Agent 都看得到兩者,不需額外接線。
適用於 CI
GitHub 代管的 Runner 是個黑盒子,測試一失敗就直接消失。 Containarium 讓每個 CI 工作都取得一台真正的 Linux 主機,跨執行留有暖快取—— 並在失敗後多存活一小時,讓真人(或 Agent) 能就地除錯。
name: CI
on: [pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: footprintai/containarium-run@v1
with:
api-url: ${{ secrets.CONTAINARIUM_API_URL }}
token: ${{ secrets.CONTAINARIUM_TOKEN }}
cache-key: ${{ hashFiles('go.sum') }}
# Three fields. Resist adding a fourth.
image: ubuntu-24.04
setup: # cached by cache-key
- apt-get install -y build-essential
- go mod download
test: # the actual CI command
- go test ./...
測試失敗時,keep-on-failure: true 會在您的 PR 上留下這則留言:
Failing test:
TestExposePort_TLSHandshake
in internal/server/expose_test.go:142
Debug this box live (expires in 58 minutes · extend 1h · tear down now)
# SSH in
ssh -p 2222 [email protected]
# Or hand it to your agent (Claude Code, Cursor, ...)
claude mcp add containarium-debug \
https://mcp.containarium.dev/box/pr-1234-abc?token=ey...
🤖 Posted by containarium-run · commit a7b2f93
三種將 CI 接上 Containarium 的方式
GitHub Actions 是常見的介面之一——而 Containarium 支援三種漸進式自主程度的整合方式。 能力(每個工作一台短生命週期 Linux 主機)在三者間相同, 差別只在於程式碼實際在哪裡執行。
| 層級 | 適合對象 | 設定方式 | 程式碼執行位置 |
|---|---|---|---|
|
0 · 立即試用
約 5 分鐘設定
|
評估中的團隊、業餘開源專案 | 註冊雲端版・使用 containarium-run Action |
程式碼 → GHA 代管 → cloud.containarium.dev → Containarium 主機 |
|
1 · 中型團隊
約 30 分鐘設定
|
擁有自有基礎架構的團隊 | 自行架設 Containarium 開源版・以 hacks/runner/ 建立 N 個短生命週期 Runner |
程式碼 → GHA 代管(僅負責調度)→ 您的 Runner 資源池 |
|
2 · 企業
稽核 / SSO
|
「程式碼不能離開我們的邊界」 | 第 1 層 + 稽核紀錄 + SSO + 資料落地文件 | 完全不經過 FootprintAI 的基礎架構 |
|
3 · 氣隙隔離
離線安裝包
|
受監管產業 | 第 2 層 + 離線安裝包 + 私有 Git server | 完全封閉於客戶的 VPC 之內 |
第 0 層是最快的評估路徑。第 1 層以上會將原始碼、測試與建置產物 留在您的網路內。四個層級底層都是同一個 Containarium 原生元件。
適用於 PR 預覽
開啟 PR → Containarium 從該分支啟動一台主機,將您的應用程式跑在 真正的 HTTPS 子網域上,並以置頂留言貼出網址。 再推送新提交 → 8 秒內以暖快取重新部署。 關閉 PR → 主機隨即消失。
應用程式讀取 .github/containarium.yml,執行 setup: + serve:。
同一台主機,暖快取。置頂留言以新的 commit SHA 更新。
主機刪除,子網域釋出。閒置預覽在 24 小時無提交後自動休眠。
每個 PR 一則置頂留言——每次推送都原地更新,絕不洗版:
https://pr-1234-containarium.preview.containarium.dev
Built from commit a7b2f93 in 8.2s
(cache hit on go.sum).
This comment updates on every push. The box and URL are torn down when the PR closes. View logs · Rebuild
選擇適合的版本
同樣的原生元件。由您決定誰來運行它。
CLI、平台 daemon、Sentinel、agent-box MCP server 全部包含在內。 自行架設在一台 VM 上。單租戶,但永遠屬於您。
create / list / route / expose-port同樣的原生元件,由我們為您代管執行。多租戶架構,依小時計費, 具備 SSO、稽核紀錄,以及精緻的控制平面。