Przejdź do treści

Aplikacje zarządzane

Piaskownica

Osobny komputer dla każdego agenta

Osobna microVM, którą przez API steruje Twój kod albo Twój agent. Uruchamiaj polecenia, otwieraj terminal, zapisuj ją w całości i rozwidlaj; bezczynna zasypia.

Przeczytaj dokumentację

Piaskownica w liczbach

szybsze CPU niż mediana dostawców1
68%
na wybudzenie piaskownicy2
3.5 ms
na migawkę działającej piaskownicy2
32 ms

W trzech krokach

Te same wywołania z wiersza poleceń, API, SDK i serwera MCP.

Zanim zaczniesz

Ustaw swój klucz API w zmiennej 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
  1. Utwórz piaskownicę

    Osobna maszyna z dowolnego obrazu.

    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. Pracuj w niej

    Polecenia i pliki, tak długo, jak trzeba.

    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. Zapisz ją w całości i rozwidl

    Pamięć, procesy i dysk – w kopie, które działają dalej od tego miejsca.

    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}

Jej nazwa działa wszędzie tam, gdzie identyfikator. Nie ma wywołania wybudzającego: uśpioną piaskownicę wybudza wszystko, co jej potrzebuje.

Co potrafi

  • Terminal, link do dowolnego portu albo SSH, wszystko przez agenta działającego w środku.

  • Rób migawki w trakcie działania, przywracaj je w miejscu albo rozwidlaj piaskownicę na maksymalnie 64 kopie.

  • Jeden rozruch, a każda kopia już działa.

  • Sekrety, których Twój kod nigdy nie trzyma: są wstawiane dopiero po drodze na zewnątrz.

  • Dowolny obraz OCI albo nasz, z pięcioma językami i gotowymi agentami programującymi.

  • Zasypia po 30 sekundach bezczynności, z całą zawartością; budzi ją polecenie.

Przeczytaj dokumentację

Ilustracje poglądowe

Do czego służy

  • Interpretery kodu

    Uruchamiaj kod napisany przez model, ze zmiennymi zachowanymi między wywołaniami.

    from glac import CODE_INTERPRETER
    sbx = glac.sandboxes.create(
        image=CODE_INTERPRETER)
    sbx.run_code("x = 1")
    print(sbx.run_code("x + 1").text)
  • Agenci programujący

    Claude Code i inni agenci, każdy na własnej maszynie.

    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")
  • Wiele prób naraz

    Rozwidl piaskownicę w trakcie zadania i niech każda kopia spróbuje czegoś innego.

    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)

Ceny i limity

Rozliczana według zużytych zasobów Kostki, jak każdy produkt. Wszystkie ceny i plany

Co jest liczoneJakCena
CPUCzas pracy CPU, co do milisekundy$0.01 / mln ms CPU$0.00001 / sekunda CPU$0.036 / godzina CPU$26.28 / miesiąc CPU
PamięćZajmowana, co do milisekundy, w blokach po 128 MiB$0.00222 / mln GiB-ms$0.00000222 / GiB-sekunda$0.008 / GiB-godzina$5.84 / GiB-miesiąc
ŻądaniaZa żądanie do Kostki lub przez link piaskownicy$0.30 / mln
Ruch wychodzącyNA · EUZa GB wychodzący z Ameryki Północnej i Europy$0.004 / GB
Ruch wychodzącyAPACZa GB wychodzący z regionu Azji i Pacyfiku$0.01 / GB
Przechowywane w uśpieniu3To, co przechowują uśpione instancje, oraz migawki$0.00000761 / mln GB-ms$0.00000000761 / GB-sekunda$0.0000274 / GB-godzina$0.02 / GB-miesiąc

Oszacuj miesięczny koszt

Prawdziwe obciążenie i jego miesięczny koszt w planie Płatnym i w planie Bezpłatnym.

Agent buduje i wdraża oprogramowanie na własnej maszynie, za każdym razem przez cały dzień roboczy.

Miesiąc liczący 30 dni; na koncie działa tylko to obciążenie. Źródła

Miesiąc w planie Płatnym

$356.97

$0.16 za sesję

  • CPU8.6 mld ms CPU$86.17
  • Pamięć29 tys. GiB-h$228.80
  • Przechowywane dane2 000 GB-miesięcy$40.00
  • Ruch wychodzący300 GB$1.20
Zużycie po cenach katalogowych
$356.17
W cenie planu Płatnego
−$4.20
Opłata za plan Płatny
$5.00

Za dużo jak na plan Bezpłatny: rozmiaru instancji, CPU, pamięci, przechowywanych danych i ruchu wychodzącego.

Rozliczanie według rozmiaru, za każdą sekundę aktywności10.4× więcej

Glac$356.17

Według rozmiaru$3,702.00

BezpłatnyPłatny
Największa piaskownica2 vCPU, 4 GiB8 vCPU, 16 GiB
Aktywne jednocześniepiaskownice i instancje Kostek5500
Przechowywane w uśpieniu2010 000
Utworzone w ciągu minuty10600
Utworzone w ciągu godzinyprzez jeden projekt20010 000

Izolacja

Uruchamia to, co napisał model, więc każda jest osobną maszyną, dostępną tylko tak, jak na to pozwolisz.

Bezpieczeństwo
  • Własna microVM

    Osobna microVM Firecracker z własnym jądrem, uruchamiana z Twojego obrazu.

  • Dodatkowa warstwa izolacji

    Pusty katalog główny, użytkownik bez uprawnień, własne limity.

  • Dostęp przez API

    Polecenia i pliki przechodzą przez agenta wewnątrz niej; nie ma publicznego adresu IPv4.

  • Linki, które są kluczem

    Podpisany link otwiera jeden port; zmień sekret, a każdy stary link przestanie działać.

  • Sekrety, których nigdy nie trzyma

    Wstawiane do jej żądań po drodze na zewnątrz, tylko do hostów, dla których są przeznaczone.

  • Zaszyfrowane Twoim kluczem

    Jej dysk, pamięć w uśpieniu i migawki, zanim opuszczą maszynę.

Czytaj dalej

Platforma