
تشغيل وكلاء برمجة في بيئات عزل. التحكم بهم عبر HTTP. يدعم Claude Code و Codex و OpenCode و Amp.
خادم يعمل داخل الصندوق الرملي الخاص بك. يتصل تطبيقك عن بُعد للتحكم في Claude Code، Codex، OpenCode، Cursor، Amp، أو Pi — بث الأحداث، معالجة الأذونات، إدارة الجلسات.
تجريبي: Gigacode — استخدم واجهة OpenCode النصية مع أي عامل ترميز.
تشغيل عوامل الترميز عن بُعد صعب. تفترض حزم SDK الحالية التنفيذ المحلي، و SSH يعطل معالجة TTY والبث، وكل عامل له API مختلف. البناء من الصفر يعني إعادة تنفيذ كل شيء لكل عامل ترميز.
يحل Sandbox Agent ثلاث مشاكل:
عوامل الترميز تحتاج إلى صناديق رملية — لا يمكنك ترك الذكاء الاصطناعي ينفذ أكوادًا عشوائية على خوادم الإنتاج الخاصة بك. عوامل الترميز تحتاج إلى بيئات معزولة، لكن حزم SDK الحالية تفترض التنفيذ المحلي. Sandbox Agent هو خادم يعمل داخل الصندوق الرملي ويعرض HTTP/SSE.
كل عامل ترميز مختلف — Claude Code، Codex، OpenCode، Cursor، Amp، و Pi لكل منها APIs، تنسيقات أحداث، وسلوكيات خاصة. تغيير العامل يعني إعادة كتابة التكامل الخاص بك. يوفر Sandbox Agent واجهة HTTP واحدة — اكتب كودك مرة واحدة، وبدّل العوامل بتغيير الإعدادات.
الجلسات مؤقتة — نصوص العامل تعيش في الصندوق الرملي. عند انتهاء العملية، تفقد كل شيء. يقوم Sandbox Agent ببث الأحداث في مخطط عالمي إلى مساحة التخزين الخاصة بك. احفظها في Postgres أو ClickHouse أو Rivet. أعد تشغيلها لاحقًا، ودقّق كل شيء.

يعمل Sandbox Agent كمحول عالمي بين تطبيق العميل الخاص بك وعوامل الترميز المختلفة. كل عامل له محوله الخاص الذي يتولى الترجمة بين API العالمي والواجهة الخاصة بالعامل.
اختر طريقة التثبيت التي تناسب حالتك الاستخدامية.
قم بتثبيت skill باستخدام:
npx skills add rivet-dev/skills -s sandbox-agent
bunx skills add rivet-dev/skills -s sandbox-agent
قم باستيراد حزمة SDK مباشرة إلى تطبيق Node.js أو المتصفح الخاص بك. أمان كامل للنوع ودعم للبث.
التثبيت
npm install [email protected]
bun add [email protected]
# اختياري: السماح لـ Bun بتشغيل نصوص ما بعد التثبيت للملفات الثنائية الأصلية (مطلوب لـ SandboxAgent.start()).
bun pm trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64
الإعداد
محليًا (الوضع المضمّن):
import { SandboxAgent } from "sandbox-agent";
const client = await SandboxAgent.start();
عن بُعد (وضع الخادم):
import { SandboxAgent } from "sandbox-agent";
const client = await SandboxAgent.connect({
baseUrl: "http://127.0.0.1:2468",
token: process.env.SANDBOX_TOKEN,
});
نظرة عامة على API
const agents = await client.listAgents();
await client.createSession("demo", {
agent: "codex",
agentMode: "default",
});
await client.postMessage("demo", { message: "Hello from the SDK." });
for await (const event of client.streamEvents("demo", { offset: 0 })) {
console.log(event.type, event.data);
}
وثائق حزمة SDK — إدارة الجلسات
شغّل كخادم HTTP واتصل من أي لغة. انشره على E2B أو Daytona أو Vercel أو البنية التحتية الخاصة بك.
# قم بتثبيته
curl -fsSL https://releases.rivet.dev/sandbox-agent/0.4.x/install.sh | sh
# شغّله
sandbox-agent server --token "$SANDBOX_TOKEN" --host 127.0.0.1 --port 2468
اختياري: قم بتثبيت ملفات العوامل الثنائية مسبقًا (لا حاجة للخادم؛ سيتم تثبيتها بشكل كسول عند أول استخدام إذا تخطيت هذه الخطوة):
sandbox-agent install-agent --all
لتعطيل المصادقة محليًا:
sandbox-agent server --no-token --host 127.0.0.1 --port 2468
دليل البدء السريع — أدلة النشر
قم بتثبيت غلاف CLI (اختياري لكنه ملائم):
npm install -g @sandbox-agent/[email protected]
# اسمح لـ Bun بتشغيل نصوص ما بعد التثبيت للملفات الثنائية الأصلية.
bun add -g @sandbox-agent/[email protected]
bun pm -g trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64
أنشئ جلسة وأرسل رسالة:
sandbox-agent api sessions create my-session --agent codex --endpoint http://127.0.0.1:2468 --token "$SANDBOX_TOKEN"
sandbox-agent api sessions send-message my-session --message "Hello" --endpoint http://127.0.0.1:2468 --token "$SANDBOX_TOKEN"
sandbox-agent api sessions send-message-stream my-session --message "Hello" --endpoint http://127.0.0.1:2468 --token "$SANDBOX_TOKEN"
يمكنك أيضًا استخدام npx مثل:
npx @sandbox-agent/[email protected] --help
bunx @sandbox-agent/[email protected] --help
قم بتصحيح الجلسات والأحداث باستخدام واجهة المفتش المدمجة (على سبيل المثال، http://localhost:2468/ui/).

غالبًا ما تحتاج إلى استخدام رموز API الشخصية الخاصة بك لاختبار العوامل على الصناديق الرملية:
sandbox-agent credentials extract-env --export
يطبع هذا متغيرات البيئة لمفاتيح API الخاصة بـ OpenAI/Anthropic/etc لاختبارها مع حزمة Sandbox Agent SDK.
لا، إنهما مكملان. AI SDK مخصص لبناء واجهات الدردشة واستدعاء نماذج اللغة. حزمة SDK هذه مخصصة للتحكم في عوامل الترميز المستقلة التي تكتب الأكواد وتنفذ الأوامر. استخدم AI SDK لواجهة المستخدم الخاصة بك، واستخدم هذه الحزمة عندما تحتاج إلى عامل يقوم بالترميز الفعلي.
Claude Code، Codex، OpenCode، Cursor، Amp، و Pi. تعمل حزمة SDK على توحيد واجهاتها البرمجية بحيث يمكنك التبديل بينها دون تغيير الكود الخاص بك.
حزمة SDK هذه لا تتعامل مع الاحتفاظ ببيانات الجلسة. يتم بث الأحداث في مخطط JSON عالمي يمكنك الاحتفاظ به في أي مكان. راجع إدارة الجلسات للاطلاع على أنماط استخدام Postgres أو Rivet Actors.
كلاهما. قم بتشغيله محليًا للتطوير، وانشره على E2B أو Daytona أو Vercel Sandboxes للإنتاج.
الخادم هو ملف Rust ثنائي واحد يعمل في أي مكان مع تثبيت عبر curl. إذا كانت منصتك تستطيع تشغيل ملفات Linux الثنائية (Docker، VMs، إلخ)، فإنه يعمل. راجع أدلة النشر لـ E2B و Daytona و Vercel Sandboxes.
نعم. استخدم sandbox-agent credentials extract-env لاستخراج مفاتيح API من إعدادات العامل المحلي لديك (Claude Code، Codex، OpenCode، Amp، Pi) وتمريرها إلى بيئة الصندوق الرملي.
يمنحنا Rust ملفًا ثنائيًا ثابتًا واحدًا، وإقلاعًا سريعًا، واستخدامًا متوقعًا للذاكرة. وهذا يسهل تشغيله داخل الصناديق الرملية أو في CI دون الحاجة إلى شحن وقت تشغيل كبير مثل Node.js.
يمكنك ذلك للتطوير. لكن في الإنتاج، تحتاج إلى عزل. عوامل الترميز تنفذ أكوادًا عشوائية — هذا لا يمكن أن يحدث على خوادمك. توفر الصناديق الرملية العزل؛ توفر حزمة SDK هذه واجهة HTTP للتحكم في عوامل الترميز عن بُعد.
حزم SDK الرسمية تفترض التنفيذ المحلي. فهي تطلق عمليات وتتوقع محطات طرفية تفاعلية. تقوم حزمة SDK هذه بتشغيل خادم داخل صندوق رملي تتصل به عبر HTTP — مصممة للتحكم عن بُعد من البداية.
عوامل الترميز تتوقع محطات طرفية تفاعلية مع معالجة TTY سليمة. SSH مع الأوامر المُمرَرة يكسر تأكيدات الأدوات، وبث المخرجات، وتدفقات وجود الإنسان في الحلقة. تتعامل حزمة SDK مع كل هذا عبر واجهة HTTP نظيفة.
| المكون | الوصف |
|---|
| الخادوم | Daemon Rust (sandbox-agent server) يعرض API عبر HTTP + SSE |
| حزمة SDK | عميل TypeScript مع وضعين: مضمّن وخادم |
| المفتش | واجهة مستخدم مدمجة لفحص الجلسات والأحداث |
| واجهة CLI | sandbox-agent (نفس الملف الثنائي، بالإضافة إلى غلاف npm) يعكس نقاط نهاية HTTP |