沙箱的關鍵數字
三個步驟
命令列、API、SDK 和 MCP 伺服器,呼叫方式都一樣。
開始之前
把你的 API 金鑰放進 GLAC_API_KEY。
curl -fsSL https://glac.ai/install.sh | sh
export GLAC_API_KEY=ak_...API=https://api.glac.ai/v1/sandboxes
AUTH="Authorization: Bearer $GLAC_API_KEY"from glac import Glac
glac = Glac()import { Glac } from "glac";
const glac = new Glac();# give your agent the tools (Claude Code here)
claude mcp add glac -e GLAC_API_KEY=ak_... -- npx glac-mcp建立一個
一台專屬的機器,可用任何映像檔建立。
glac sandboxes create --name web \ --image python:3.12curl $API -H "$AUTH" \ --json '{"name": "web", "image": "python:3.12"}'sbx = glac.sandboxes.create(name="web", image="python:3.12")const sbx = await glac.sandboxes.create( { name: "web", image: "python:3.12" });# no call of its own: the first sandbox_run # that names "web" makes it, from the image在裡面執行
指令和檔案,要多久就多久。
glac sandboxes exec web -- \ pip install pandascurl $API/web/run -H "$AUTH" \ --json '{"command": "pip install pandas"}'print(sbx.run("pip install pandas").stdout)console.log((await sbx.run("pip install pandas")).stdout);sandbox_run {"sandbox": "web", "image": "python:3.12", "command": "pip install pandas"}完整保存,再分叉
記憶體、行程和磁碟,複製成從那一刻繼續執行的副本。
glac sandboxes snapshots create web \ --name ready glac sandboxes fork web --count 16curl $API/web/snapshots -H "$AUTH" \ --json '{"name": "ready"}' curl $API/web/fork -H "$AUTH" --json '{"count": 16}'snap = sbx.snapshot(name="ready") copies = sbx.fork(16)const snap = await sbx.snapshot({ name: "ready" }); const copies = await sbx.fork(16);sandbox_snapshot {"sandbox": "web", "name": "ready"} sandbox_fork {"sandbox": "web", "count": 16}
凡是能用 ID 的地方,都能用它的名稱。沒有專門的喚醒呼叫:任何需要休眠中沙箱的操作都會喚醒它。
功能
終端機、任何連接埠的連結或 SSH,全都經由它內部的代理程式。
執行中也能建立快照,可原地還原,或分叉出最多 64 個副本。
只開機一次,每個副本都已經在執行中。
你的程式碼永遠拿不到的機密:在請求送出的途中才填入。
任何 OCI 映像檔,或使用我們的映像檔,內建五種語言和程式設計代理。
閒置 30 秒後休眠,裡面的一切都保留;一個指令就能喚醒它。
示意預覽
適用情境
程式碼直譯器
執行模型寫的程式碼,變數在呼叫之間保留。
from glac import CODE_INTERPRETER sbx = glac.sandboxes.create( image=CODE_INTERPRETER) sbx.run_code("x = 1") print(sbx.run_code("x + 1").text)程式設計代理
Claude Code 和其他代理,各自在專屬的機器裡。
from glac import AGENTS env = {"ANTHROPIC_API_KEY": "..."} sbx = glac.sandboxes.create( image=AGENTS, env=env) sbx.agent("claude").prompt( "Make the failing tests pass")同時嘗試多種做法
在任務進行中分叉沙箱,讓每個副本嘗試不同的做法。
patches = ["a", "b", "c"] copies = sbx.fork(len(patches)) for copy, p in zip(copies, patches): cmd = f"git apply {p}.patch" r = copy.run(cmd + " && pytest") print(p, r.exit_code)
價格與上限
和每個產品一樣,按使用的方塊資源計費。 所有價格與方案
| 計量項目 | 計算方式 | 價格 |
|---|---|---|
| CPU | CPU 實際運算的時間,按毫秒計 | $0.01 / 百萬 CPU 毫秒$0.00001 / CPU 秒$0.036 / CPU 小時$26.28 / CPU 月 |
| 記憶體 | 按佔用量計,以 128 MiB 為單位、按毫秒計算 | $0.00222 / 百萬 GiB 毫秒$0.00000222 / GiB 秒$0.008 / GiB 小時$5.84 / GiB 月 |
| 請求 | 每個送往方塊或經由沙箱連結的請求 | $0.30 / 百萬次 |
| 傳出流量北美 · 歐洲 | 從北美洲和歐洲傳出的流量,按 GB 計 | $0.004 / GB |
| 傳出流量亞太 | 從亞太地區傳出的流量,按 GB 計 | $0.01 / GB |
| 休眠保存3 | 休眠中執行個體保存的內容,以及快照 | $0.00000761 / 百萬 GB 毫秒$0.00000000761 / GB 秒$0.0000274 / GB 小時$0.02 / GB 月 |
估算一個月的費用
一個真實的工作負載,在付費版和免費版上一個月各要多少錢。
代理在自己的機器上開發並交付軟體,一次一個工作天。
你的產品為每位使用者開一個沙箱,用一段短暫的工作階段。
AI 應用程式為使用者執行簡短的程式碼片段。
一組任務,每個都由一個代理處理並評分。
許多短暫的執行同時進行,讓機器一直保持忙碌。
每次 push 都建置並測試。
一個月以 30 天計,帳戶上只有這個工作負載。 資料來源
付費版一個月
每個工作階段 $0.16
- CPU86.2億 CPU 毫秒$86.17
- 記憶體3萬 GiB 小時$228.80
- 請求$0.00
- 儲存的資料2,000 GB 月$40.00
- NVMe 快取$0.00
- 傳出流量300 GB$1.20
- 按定價計算的用量
- $356.17
- 付費版內含
- −$4.20
- 付費版月費
- $5.00
超出免費版的上限:執行個體的規格、CPU、記憶體、儲存的資料和傳出流量。
按規格計費,醒著的每一秒都算費用是 10.4 倍
Glac$356.17
按規格計費$3,702.00
各方案的上限
各方案的所有上限| 免費版 | 付費版 | |
|---|---|---|
| 最大沙箱 | 2 vCPU、4 GiB | 8 vCPU、16 GiB |
| 同時醒著沙箱和方塊的執行個體 | 5 | 500 |
| 可保留的休眠沙箱 | 20 | 10,000 |
| 每分鐘建立數 | 10 | 600 |
| 每小時建立數每個專案 | 200 | 10,000 |
彼此隔離
它執行的是模型寫的程式,所以每個沙箱都是一台專屬的機器,只能透過你提供的方式存取。
安全性專屬的 microVM
擁有獨立核心的 Firecracker microVM,從你的映像檔開機。
外面再套一層 jail
空的根目錄、沒有權限的使用者、獨立的資源限制。
透過 API 存取
指令和檔案經由它內部的代理程式傳遞;它沒有公開的 IPv4 位址。
連結本身就是鑰匙
一個簽章連結只開啟一個連接埠;更換機密後,所有舊連結都會失效。
它永遠拿不到的機密
在請求送出的途中才填入,而且只送往機密所屬的主機。
用你的金鑰加密
它的磁碟、休眠時的記憶體和快照,在離開機器之前加密。