İçeriğe geç

Yönetilen Uygulamalar

Sandbox

Her ajana kendine ait bir bilgisayar

Kodunuzun ya da ajanınızın API üzerinden yönettiği bir microVM. Komut çalıştırın, bir terminal açın, onu bütünüyle kaydedin ve çatallayın; boşta kalınca uyur.

Belgeleri okuyun

Rakamlarla Sandbox

medyan sağlayıcıdan daha hızlı CPU1
68%
bir sandbox'u uyandırmak için2
3.5 ms
çalışan bir sandbox'un anlık görüntüsünü almak için2
32 ms

Üç adımda

Aynı çağrılar komut satırından, API'den, SDK'lardan ve MCP sunucusundan yapılabilir.

Başlamadan önce

API anahtarınızı GLAC_API_KEY değişkenine yazın.

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
  1. Bir sandbox oluşturun

    Herhangi bir imajdan, kendine ait bir makine.

    glac sandboxes create --name web \
      --image python:3.12
    curl $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
  2. İçinde çalıştırın

    Komutlar ve dosyalar, ne kadar sürerse sürsün.

    glac sandboxes exec web -- \
      pip install pandas
    curl $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"}
  3. Bütünüyle kaydedin ve çatallayın

    Bellek, süreçler ve disk, oradan devam eden kopyalara aktarılır.

    glac sandboxes snapshots create web \
      --name ready
    glac sandboxes fork web --count 16
    curl $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}

Kimliğini kullanabildiğiniz her yerde adını da kullanabilirsiniz. Uyandırma çağrısı yoktur: uyuyan bir sandbox'a ihtiyaç duyan her şey onu uyandırır.

Ne yapar

  • Bir terminal, herhangi bir porta bağlantı ya da SSH; hepsi içindeki bir ajan üzerinden.

  • Çalışırken anlık görüntüsünü alın, yerinde geri yükleyin ya da 64 kopyaya kadar çatallayın.

  • Bir kez başlatılır, her kopyada zaten çalışır durumdadır.

  • Kodunuzun hiç tutmadığı gizli değerler: istekler dışarı çıkarken eklenir.

  • Herhangi bir OCI imajı ya da beş dil ve kodlama ajanlarıyla hazır gelen bizimki.

  • 30 saniye boşta kalınca uyur, içindeki her şeyle; bir komut onu uyandırır.

Belgeleri okuyun

Temsilî önizlemeler

Ne için yapıldı

  • Kod yorumlayıcılar

    Bir modelin yazdığı kodu çalıştırın; değişkenler çağrılar arasında korunur.

    from glac import CODE_INTERPRETER
    sbx = glac.sandboxes.create(
        image=CODE_INTERPRETER)
    sbx.run_code("x = 1")
    print(sbx.run_code("x + 1").text)
  • Kodlama ajanları

    Claude Code ve diğer ajanlar, her biri kendi makinesinde.

    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")
  • Birçok yolu denemek

    Bir sandbox'u görevin ortasında çatallayın; her kopya farklı bir şey denesin.

    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)

Fiyatlar ve limitler

Her ürün gibi, kullandığı Küp kaynaklarına göre faturalandırılır. Tüm fiyatlar ve planlar

Ne sayılırNasılFiyat
CPUCPU'nun çalıştığı süre, milisaniye bazında$0.01 / milyon CPU-milisaniye$0.00001 / CPU-saniye$0.036 / CPU-saat$26.28 / CPU-ay
BellekAyrılan bellek, milisaniye bazında, 128 MiB'lık dilimler halinde$0.00222 / milyon GiB-milisaniye$0.00000222 / GiB-saniye$0.008 / GiB-saat$5.84 / GiB-ay
İsteklerBir Küp'e gelen ya da bir sandbox bağlantısından geçen istek başına$0.30 / milyon
Giden trafikNA · EUKuzey Amerika ve Avrupa'dan çıkan GB başına$0.004 / GB
Giden trafikAPACAsya-Pasifik'ten çıkan GB başına$0.01 / GB
Uykuda saklanan3Uyuyan örneklerin sakladıkları ve anlık görüntüler$0.00000761 / milyon GB-milisaniye$0.00000000761 / GB-saniye$0.0000274 / GB-saat$0.02 / GB-ay

Aylık maliyeti hesaplayın

Gerçek bir iş yükü ve bunun Ücretli ile Ücretsiz planda aylık tutarı.

Bir ajan, kendi makinesinde, her seferinde bir iş günü boyunca yazılım geliştirip yayımlar.

30 günlük bir ay; hesapta yalnızca bu iş yükü çalışıyor. Kaynaklar

Ücretli planda bir ay

$356.97

oturum başına $0.16

  • CPU8.6 milyar CPU-milisaniye$86.17
  • Bellek29 bin GiB-saat$228.80
  • Depolanan veri2 000 GB-ay$40.00
  • Giden trafik300 GB$1.20
Liste fiyatlarıyla kullanım
$356.17
Ücretli plana dahil
−$4.20
Ücretli planın ücreti
$5.00

Ücretsiz planın sınırını aşanlar: örneğin boyutu, CPU, bellek, depolanan veri ve giden trafik.

Boyuta göre faturalandırma, uyanık her saniye için10.4 kat fazla

Glac$356.17

Boyuta göre$3,702.00

Planların sınırları

Her planın tüm limitleri
ÜcretsizÜcretli
En büyük sandbox2 vCPU, 4 GiB8 vCPU, 16 GiB
Aynı anda uyanıksandbox'lar ve Küp örnekleri5500
Uykuda saklanan2010 000
Bir dakikada oluşturulan10600
Bir saatte oluşturulantek bir proje tarafından20010 000

Yalıtılmış

Bir modelin yazdığı kodu çalıştırır; bu yüzden her biri kendi makinesidir ve ona yalnızca sizin açtığınız yollardan erişilir.

Güvenlik
  • Kendi microVM'i

    Kendi çekirdeği olan, imajınızdan başlatılan bir Firecracker microVM'i.

  • Çevresinde bir kafes

    Boş bir kök dizin, hiçbir ayrıcalığı olmayan bir kullanıcı, kendi limitleri.

  • API üzerinden erişilir

    Komutlar ve dosyalar içindeki bir ajan üzerinden geçer; herkese açık bir IPv4 adresi yoktur.

  • Anahtar işlevi gören bağlantılar

    İmzalı bir bağlantı tek bir portu açar; gizli değeri değiştirdiğinizde tüm eski bağlantılar çalışmaz olur.

  • Hiç tutmadığı gizli değerler

    Dışarı giden isteklerine yolda eklenir; yalnızca ait oldukları sunuculara gidenlere.

  • Anahtarınızla mühürlenir

    Diski, uykudayken belleği ve anlık görüntüleri; makineden çıkmadan önce.

Okumaya devam edin

Platform