الانتقال إلى المحتوى

التطبيقات المدارة

Sandbox

حاسوب خاص لكل وكيل

microVM يتحكم فيه كودك أو وكيلك عبر API. يمكنك تشغيل الأوامر، وفتح طرفية، وحفظه كاملًا وتفريعه؛ وإذا تُرك خاملًا، ينام.

اقرأ الوثائق

Sandbox بالأرقام

CPU أسرع من القيمة الوسيطة للمزودين1
68%
لإيقاظ بيئة معزولة2
3.5 مللي ثانية
لالتقاط لقطة لبيئة معزولة قيد التشغيل2
32 مللي ثانية

في ثلاث خطوات

الاستدعاءات نفسها من سطر الأوامر و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
  1. إنشاء بيئة معزولة

    جهاز خاص بها، من أي صورة.

    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. التشغيل داخلها

    أوامر وملفات، مهما استغرقت من وقت.

    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. حفظها كاملة، وتفريعها

    الذاكرة والعمليات والقرص، في نسخ تتابع العمل من تلك النقطة.

    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}

يصلح اسمها حيثما يصلح معرّفها. ولا يوجد استدعاء خاص بالإيقاظ: فكل ما يحتاج إلى بيئة معزولة نائمة يوقظها.

الإمكانات

  • طرفية، أو رابط إلى أي منفذ، أو 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 / مليون
حركة المرور الصادرةNA · EUلكل GB يغادر أمريكا الشمالية وأوروبا$0.004 / GB
حركة المرور الصادرةAPACلكل GB يغادر آسيا والمحيط الهادئ$0.01 / GB
المحفوظ أثناء النوم3ما تحفظه المثيلات النائمة، واللقطات$0.00000761 / GB لمدة مليون مللي ثانية$0.00000000761 / GB في الثانية$0.0000274 / GB في الساعة$0.02 / GB شهريًا

تقدير تكلفة شهر

حمل عمل حقيقي، وما تبلغه تكلفة شهره في الخطة المدفوعة وفي الخطة المجانية.

وكيل يبني البرمجيات ويطلقها على جهازه الخاص، يوم عمل تلو الآخر.

شهر من 30 يومًا، وهذا الحمل وحده على الحساب. المصادر

شهر في الخطة المدفوعة

$356.97

$0.16 لكل جلسة

  • CPU8.6 مليار مللي ثانية من وقت CPU$86.17
  • الذاكرة29 ألف GiB-ساعة$228.80
  • البيانات المخزنة2,000 GB-شهر$40.00
  • حركة المرور الصادرة300 GB$1.20
الاستخدام بأسعار القائمة
$356.17
المشمول في الخطة المدفوعة
−$4.20
رسوم الخطة المدفوعة
$5.00

يتجاوز ما تسمح به الخطة المجانية في: حجم المثيل، CPU، الذاكرة، البيانات المخزنة وحركة المرور الصادرة.

الاحتساب حسب الحجم، عن كل ثانية استيقاظأكثر بمقدار 10.4 مرة

Glac$356.17

حسب الحجم$3,702.00

ما تسمح به الخطط

جميع حدود الخطط
المجانيةالمدفوعة
أكبر بيئة معزولة2 vCPU، 4 GiB8 vCPU، 16 GiB
المستيقظة في آن واحدالبيئات المعزولة ومثيلات المكعبات5500
البيئات النائمة المحفوظة2010,000
المُنشأة في الدقيقة10600
المُنشأة في الساعةللمشروع الواحد20010,000

العزل

تشغّل ما كتبه نموذج، لذا فكلٌّ منها جهاز مستقل، لا يُوصَل إليه إلا بالطرق التي تتيحها.

الأمان
  • microVM مستقل

    microVM من Firecracker بنواته الخاصة، يُقلع من صورتك.

  • سجن يحيط به

    جذر فارغ، ومستخدم بلا امتيازات، وحدود خاصة به.

  • الوصول عبر API

    تمر الأوامر والملفات عبر وكيل داخلها؛ وليس لها عنوان IPv4 عام.

  • الرابط هو المفتاح

    الرابط الموقّع يفتح منفذًا واحدًا؛ وبتغيير السر تتوقف كل الروابط القديمة.

  • أسرار لا تحتفظ بها أبدًا

    تُضاف إلى طلباتها وهي في طريقها إلى الخارج، ولا تصل إلا إلى الأجهزة المضيفة المخصصة لها.

  • التشفير بمفتاحك

    قرصها، وذاكرتها أثناء النوم، ولقطاتها، قبل أن تغادر الجهاز.

اقرأ المزيد

المنصة