دوز مباشرة للمحتوى الرئيسي
دروس فالذكاء الاصطناعي

كيفاش تنشّر Agentbox وتشغّل Claude Code ولا Codex من المتصفّح ديالك

هاد الدليل كيشرح كيفاش تثبّت Agentbox، تربط حسابات Claude Code ولا Codex، تنشئ مساحات عمل Docker دائمة، تكمل مهام البرمجة، تراجع التغييرات، وتراقب الاستعمال. وكيغطّي حتى البناء من المصدر، الولوج الآمن عن بُعد، الأنفاق ديال الشبكات الخاصة، النسخ الاحتياطية، والقيود التشغيلية المهمة.

كيفاش تنشّر Agentbox وتشغّل Claude Code ولا Codex من المتصفّح ديالك

شنو هو Agentbox؟

Agentbox هو بيئة كتستضاف عندك باش تشغّل Claude Code وCodex CLI من المتصفح. كيجمع بين الدردشة بالذكاء الاصطناعي، والترمينال، وملفات المشاريع، ومراجعة Git، وتدبير الحسابات، وتتبع الاستعمال فمساحات عمل دائمة مستضافة فالسيرفر ديالك.

السيرفر كيتوزع فشكل ملف Go واحد فيه واجهة TypeScript مضمّنة. كيخزّن حالة التطبيق وتاريخ الدردشة فـSQLite، وكيستعمل حاويات Docker لعزل مساحات عمل البرمجة. المجلدات الدائمة كتحافظ على ملفات المشاريع، وإعدادات المستخدم، والموارد المشتركة بشكل مستقل على دورة حياة الحاوية.

Agentbox مفيد خصوصاً إلا بغيتي تبدا مهمة برمجية فشي جهاز وتكمّلها من جهاز آخر بلا ما تعاود تبني البيئة. تقدر تستعمل دردشة الويب بالبث للخدمة الموجّهة بالمهام، ولا تحلّ ترمينال المتصفح باش تخدم مباشرة مع Claude Code ولا Codex CLI الأصليين.

الميزات الرئيسية

  • مساحات عمل دائمة: ملفات المشاريع، وإعدادات المستخدم، والملفات المشتركة، وتاريخ الدردشة كيبقاو فالسيرفر ديالك.
  • جوج واجهات للوكلاء: بدّل بين دردشة المتصفح وأدوات سطر الأوامر الأصلية.
  • سيرورة تسليم مدمجة: حمّل مشروع ولا استنسخو، عيّن مهمة، فتّش الملفات، راجع فروقات Git، ومن بعد دير commit ولا حمّل النتيجة.
  • مخزون مركزي للحسابات: المسؤولين يقدرو يضبطو اشتراكات Claude وCodex عبر OAuth، ومفاتيح API، ونقاط الترحيل، ونطاقات الولوج، وبروكسيات الخروج.
  • سجلات الاستعمال والتكلفة: صفّي الاستعمال حسب المستخدم، والموديل، والوقت، مع فحص التوكنات، ومصادر الأسعار، وزمن الاستجابة، والتكاليف المسجلة.
  • موارد قابلة لإعادة الاستعمال: كل مستخدم كيتعطى ليه مجلد مشترك مركّب باسم /shared فكل مساحات العمل ديالو. كيتدعمو حتى قوالب المستخدم، ومهارات Claude، وإعدادات MCP.
  • ولوج اختياري للشبكة الخاصة: عميل abox-link يقدر يعرّض المستودعات، وقواعد البيانات، والخدمات المسموح بها صراحة لمساحات العمل المستضافة فالسحابة.
  • واجهة متجاوبة: الكونسول كيدعم الروابط العميقة، والثيمات الفاتحة والداكنة، وتخطيطات الهاتف.

فهم البنية

المتصفح ديالك كيتاصل بسيرفر Agentbox عبر اتصالات HTTP ولا HTTPS وWebSocket. السيرفر كيتحكم فحاويات مساحات العمل عبر Docker API المحلي، وكيخزّن سجلات التطبيق فـSQLite. كل مساحة عمل عندها الحاوية ديالها والمجلدات الدائمة ديالها.

مساحة العمل تقدر تحتوي على بزاف ديال خيوط الدردشة، ولكن غير دورة وحدة ديال دردشة الويب كتخدم فكل مرة فداك الفضاء. المواقع الدائمة الرئيسية هي /workspace و/home/agent و/shared. الملفات اللي خاصها تبقى من بعد تبديل الحاوية خاصها تتخزن فواحد من هاد المواقع.

مهم: الملفات الدائمة ما كتعنيش العمليات الدائمة. إعادة الاتصال من بعد انقطاع الشبكة ديال الترمينال تقدر ترجع جلسة tmux، ولكن إيقاف الحاوية ولا إعادة بنائها كينهي العمليات اللي خدامة فيها.

المتطلبات الأولية

أسرع طريقة للتثبيت كتستهدف سيرفر Linux خدام بـsystemd. حزم الإصدارات كتدعم Linux x86_64 وarm64.

  • Ubuntu 22.04 ولا أحدث، أو Debian 12 ولا أحدث، يقدرو يثبّتو أوتوماتيكياً الاعتماديات الناقصة وDocker.
  • توزيعات Linux الأخرى خاصها Python 3.9 ولا أحدث، وGit، وcurl، وشهادات CA، وبيانات المنطقة الزمنية، وDocker Engine محلي.
  • أول بناء لصورة مساحة العمل كيحتاج الولوج لسجلات الحاويات، ومستودعات حزم Debian، وnpm.
  • للولوج عن بعد، خاص منفذ TCP 8180 يكون مسموحاً به فالجدار الناري ديال السيرفر ولا مجموعة الأمان، إلا إلا كنت كتستعمل SSH forwarding ولا reverse proxy.

التثبيتات الجاهزة ما كتحتاجش Go ولا Node.js فالسيرفر.

ثبّت Agentbox باستعمال مثبت الإصدار

1. شغّل المثبت

تاصل بسيرفر Linux وشغّل:

curl -fsSL https://raw.githubusercontent.com/devilcoolyue/agentbox/main/install.sh | sudo bash

المثبت كيختار آخر إصدار مستقر بشكل افتراضي. ملف README كيشير إلى v0.1.5 باعتباره الإصدار المستقر الحالي. باش تثبّت هاد الإصدار، استعمل:

curl -fsSL https://raw.githubusercontent.com/devilcoolyue/agentbox/main/install.sh | sudo bash -s -- --version v0.1.5

عملية التثبيت كتحقق من حزمة الإصدار، وكتبني صورة مساحة العمل بإصدارات الأدوات المثبتة، وكتنشئ الإعدادات، وكتولّد كلمة سر عشوائية للمسؤول، وكتشغّل agentbox.service. أول بناء للصورة يقدر ياخذ بضع دقايق.

2. حلّ الكونسول

منين يكمل التثبيت، سجّل كلمة سر المسؤول اللي تطبعات فالترمينال. حلّ العنوان التالي، وبدّل العنصر النائب بعنوان السيرفر:

http://YOUR_SERVER_IP:8180

دخل باسم المستخدم boxadmin وكلمة السر المولّدة. ضبّط HTTPS قبل ما تعرّض Agentbox للاستعمال العمومي المستمر.

3. قيّد Agentbox ببروكسي عكسي

إلا بغيتي Agentbox يقبل غير الاتصالات المحلية، زِد خيار الاستماع أثناء التثبيت:

curl -fsSL https://raw.githubusercontent.com/devilcoolyue/agentbox/main/install.sh | sudo bash -s -- --listen 127.0.0.1:8180

من بعد تقدر تحط reverse proxy بـHTTPS وبدعم WebSocket قدّام الخدمة. تثبيتات الإصدار كتخزّن الإعدادات فـ/etc/agentbox وبيانات التطبيق فـ/var/lib/agentbox.

ضبط حساب Claude ولا Codex

من بعد ما تدخل، حلّ إعدادات النظام → مخزون الحسابات، واللي كيبان فالواجهة الصينية الحالية بهاد الشكل: 系统设置 → 账号池. زِد حساب Claude ولا Codex.

إعداد مخزون حسابات Claude وCodex

Agentbox كيدعم طرق الربط التالية:

  • اشتراك Claude: اختار Subscription OAuth ولسّق كود التفويض.
  • اشتراك Codex: اختار Subscription OAuth ولسّق رابط callback كامل.
  • حساب API ولا relay: دخل نقطة نهاية المزوّد والمفتاح. خاص Codex relay يطابق البروتوكول اللي كيتسناه المزوّد.

عيّن اسم ساهل يتعرّف به الحساب، وبروكسي الخروج ديالو إلا كان ضروري، وحدّد نطاق الولوج. الحساب يقدر يكون متاح لجميع المستخدمين، لمستخدمين مختارين، ولا غير للمسؤولين. المسؤولين يقدرو يستعملو أي حساب مكوّن.

مستخدمو مساحة العمل اللي عندهم الولوج للطرفية يقدرو يقراو بيانات الاعتماد اللي كتوصّل لأدوات سطر الأوامر داخل الحاويات ديالهم. لذلك خاص تجمعات الحسابات المشتركة تكون محدودة فالمستخدمين الموثوقين. سحب الولوج كيمنع العمليات الجديدة ومزامنة بيانات الاعتماد، ولكن السحب الكامل يقدر يتطلب حتى إيقاف الحاويات المتأثرة وتدوير بيانات الاعتماد عند المزوّد.

أنشئ أول مساحة عمل ديالك

  1. أنشئ مساحة عمل وسمّيها باسم وصفي.
  2. اختار Claude Code ولا Codex CLI كوكيل.
  3. اختار حساب عند المستخدم ديالك الصلاحية يستعملو.
  4. استورد مشروع برفعو من خلال Files ولا باستنساخو فـ Terminal.
  5. حلّ Chat وقدّم مهمة برمجية مركّزة.
  6. عاين الملفات اللي تبدلات وراجع Git diff تحت Changes.
  7. دير commit للتغييرات محلياً ولا حمّل ملفات المشروع.

رفع ملفات المشروع ومعاينتها

واجهة Files كتوفّر شجرة المجلدات، والرفع، والتعديل، والمعاينات، وتنزيل الأرشيفات ديال مجلدات المشروع والمجلدات المشتركة. عارض المصدر فيه أرقام الأسطر، وتلوين الصياغة، والتنقل بين الأسطر والأعمدة، وإبراز السطر الحالي، ووضع ملء الشاشة.

ملفات المشروع والرفع والمعاينات والتنزيلات

عمليات الملفات عبر الويب كتستعمل مقابض مجلدات مقيّدة وما كتتبعش الروابط الرمزية. كيتحقق من الرفوعات فمجلدات مؤقتة، وعمليات الحفظ فالمحرر كتستعمل الاستبدال الذري. أدوات سطر الأوامر داخل الحاوية تقدر مع ذلك تستعمل الروابط اللي كتوفّرها القوالب.

استنسخ مستودع من الطرفية

حلّ Terminal وشغّل أوامر shell العادية. مثلاً:

cd /workspace
git clone https://github.com/OWNER/PROJECT.git
cd PROJECT
git status

Agentbox فيه واجهات CLI الأصلية ديال الوكلاء وأدوات التطوير الشائعة فصورة مساحة العمل ديالو. جلسات الطرفية كتستعمل tmux باش تقدر تعاود تربط بها من بعد انقطاع المتصفح ولا الشبكة.

طرفية متصفح دائمة مع shell ونتائج الاختبارات

كلّف بمهمة من دردشة الويب

حلّ Chat ووصف التغيير المطلوب، والقيود المهمة، والتحقق اللي كتتوقعو. مثلاً:

Inspect this project and add input validation to the user registration endpoint. Preserve the existing API response format, add tests for invalid email addresses, and run the relevant test suite.

Chat كيدعم اختيار النموذج ومستوى جهد الاستدلال. كل جواب كيسجّل الوقت ديالو، والنموذج، ولقطة من الإعدادات، والتكلفة. Claude كيشغّل دورات headless متدفقة. Codex كيفضّل التكامل مع app-server وكيستعمل وضع التنفيذ كحل احتياطي إلا فشل handshake.

راجع النتيجة وسلّمها

من بعد ما يكمل الوكيل، حلّ Changes باش تعاين الملفات المعدّلة والفروقات الملوّنة. راجع الملف كامل إلا ما كانش diff فيه سياق كافي.

لائحة ملفات Git ومراجعة التغييرات الملوّنة

الـ commits عبر الويب محلية وما كتدفعش تلقائياً لمستودع بعيد. وحتى Git hooks والتوقيع ما كيتشغلوش بها. استعمل الطرفية ملي تكون محتاج للـ hooks ولا للـ commits الموقّعة.

Agentbox كيوفّر حتى تدبير Git لروابط المستودعات، والاستنساخ، والجلب، وعمليات fast-forward pull، وعمليات الدفع مع المعاينة، وعمليات الفروع، وإنشاء pull requests ولا merge requests فـ GitHub ولا GitLab. روابط المستودعات تقدر تستعمل رموز HTTPS ولا مفاتيح SSH الخاصة.

بنِ وشغّل من المصدر

استعمل سير العمل ديال المصدر ملي كتخطط تبدّل Agentbox ولا تساهم فالمشروع. بيئة البناء الموثّقة كتستعمل Linux مع Docker، وGo 1.26.6 ولا toolchain تلقائي متوافق، وGit، وPython 3، وcurl، وiproute2، وOpenSSL. Node.js 22 وnpm مطلوبين غير ملي كتعدّل وحدة التحكم الرئيسية المكتوبة بـ TypeScript.

1. استنسخ وبنِ

git clone https://github.com/devilcoolyue/agentbox.git
cd agentbox

go build -o agentbox ./cmd/agentbox
./scripts/build-image.sh

المستخدم اللي كيبني الصورة خاصو الولوج لـ Docker. فالإقلاع، خاص الخادم حتى يعيّن ملكية المجلدات المركّبة لـ 1000:1000؛ خدمة systemd المرفقة كتخدم بصلاحيات root.

2. أنشئ إعداداً

cp config.example.json config.json
openssl rand -hex 24

نسخ القيمة العشوائية المولّدة إلى auth_token. فاختبار أولي، خلّي accounts وproxies خاويين وزِد الحسابات الحقيقية من بعد عبر واجهة الويب.

{
  "listen": "127.0.0.1:8180",
  "auth_token": "CHANGE_ME_TO_A_LONG_RANDOM_TOKEN",
  "data_dir": "data",
  "agent_image": "agentbox-agent:latest",
  "accounts": [],
  "proxies": []
}

بدّل القيمة المؤقتة قبل الإقلاع حيث التحقق من الإعدادات كيرفضها.

3. شغّل الخادم

sudo ./agentbox -config config.json

إلى بغيتي خادماً كيسمع غير فـ localhost، أنشئ نفق SSH من الحاسوب ديالك:

ssh -N -L 8180:127.0.0.1:8180 user@your-server

حلّ http://127.0.0.1:8180 محلياً ودخل بـ boxadmin وauth_token المكوّن. منين كيتصاوب حساب المدير، الباسوورد ديالو كيتخزّن فـ SQLite؛ وتبديل auth_token من بعد ما كيعاودش يصفّر داك الباسوورد.

4. ركّب خدمة systemd

من بعد ما توقف العملية اللي خدامة فالواجهة، ركّب ونشّر الخدمة من المستودع:

sudo ./deploy/install.sh
sudo ./deploy/deploy.sh

السكريبت اللول كيركّب الخدمة والمؤقتات. الثاني كيبني وكيبدّل الملفات التنفيذية، كيعيد تشغيل الخدمة، وكيدير فحص للصحة.

راقب الاستعمال والتكاليف

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

سجلات الاستعمال مع فلاتر التوكنات والتسعير والتكلفة ومدة الاستجابة

كتالوجات الأسعار تقدر تستعمل مصدر models.dev الجاهز أو مصادر HTTPS مخصّصة. تحديثات الأسعار كتحافظ على لقطات تاريخية، والأسعار المخصّصة كاتبقى محمية. أثمان جولات الويب كتحسب باستعمال الجدول المثبّت ملي كتبدأ الجولة.

حدود الرصيد ماشي سقوف صارمة فالحين. جولة الويب كتتسوّى من بعد ما كتسالي، وبهذا الجولة اللي كتستنفد الرصيد تقدر تتجاوزو. الاستعمال ديال الطرفية اللي كيتسجّل من بعد كيتحفظ، ولكن ما كينقصش من الرصيد.

نصائح متقدمة

استعمل الموارد المشتركة بين مساحات العمل

المجلد المشترك ديال كل مستخدم كيتركّب فـ /shared فكل مساحات العمل ديالو. خزّن تما السكريبتات القابلة لإعادة الاستعمال، الملفات المرجعية، أو المصنوعات، عوض ما تنسخهم لكل مشروع. Agentbox كيدعم حتى قوالب المنزل العامة وقوالب المنزل الخاصة بكل مستخدم.

وصل للخدمات الخاصة باستعمال abox-link

العميل الاختياري abox-link كيخلّي مساحة عمل سحابية توصل للخدمات المسموح بها والمتاحة من الحاسوب ديالك أو من جهاز خاص آخر. يقدر يخدم عبر لوحة محلية أو فـ وضع خادم سطر الأوامر باستعمال --server.

حالة نفق الشبكة الخاصة والخدمات المسموح بها

استعمل لائحة سماح محدودة وما تكشف غير المستودعات، قواعد البيانات، أو الخدمات اللي محتاجاها مساحة العمل. Agentbox كيبين جاهزية الاتصال ديال العميل ومساحة العمل بجوج. الاستعمال العادي للمتصفح ما كيحتاجش abox-link.

خطّط لسعة الحاويات

كل حاوية ديال مساحة العمل كتبدأ افتراضياً بـ 2048 MiB ديال الذاكرة، و2 CPUs، و512 عملية. جهّز الخادم على حساب العدد المتوقع ديال مساحات العمل اللي غادي تخدم فـ نفس الوقت. المدراء يقدرو حتى يضبطو الحدود العامة والخاصة بكل مستخدم للحاويات، ومساحة القرص المحجوزة.

دير نسخة احتياطية للبيانات الصحيحة

النسخ الاحتياطية الافتراضية للنظام كتشمل قاعدة البيانات، الإعدادات، بيانات اعتماد الحسابات، وطبقات القوالب، ولكن ما كتشملش بيانات مساحة العمل. استعمل agentbox backup --full ملي خاص حتى ملفات المستخدمين والتاريخ يتسجلو. النسخة الكاملة كتحتاج توقف الخدمة والحاويات المعنية قبل. استعمل backup-verify باش تتحقق من الأرشيف، وrestore --to باش ترجّعو لمجلد جديد.

فهم حدود الأمان

العملاء يقدرو ينفّذو الكود داخل حاويات مساحات العمل. وضع الصلاحيات الافتراضي هو bypassPermissions. الحاويات كتخدم بمستخدم ماشي root مع حدود للموارد وno-new-privileges، ولكن خادم Agentbox براسو عندو الولوج لـ Docker. لذلك خاص النشر والإدارة يبقاو بيد مشغّلين موثوقين.

استعمل المتصفح البعيد الاختياري بحذر

Agentbox يقدر يوفّر متصفح كامل بواجهة سطح المكتب داخل مساحة العمل، مع حالة دخول دائمة، وتبويبات، ووضع ملء الشاشة، وجودة صورة قابلة للتعديل، ودعم الحافظة، والتنزيلات. خاص المدراء يبنيو ويختارو الصورة الاختيارية agentbox-agent:browser. المصادقة فالمواقع كتبقى منفصلة على تفويض Claude أو Codex CLI.

قيود تشغيلية خاصك تتفكرها

  • غير عملية وحدة ديال Agentbox تقدر تستعمل data_dir معيّن.
  • البنية الحالية ديال الإنتاج كتستعمل جهاز واحد، وعملية خادم وحدة، وخدمة Docker محلية.
  • النشر وإعادة التشغيل كيفصلو العملاء المتصلين لوقت قصير.
  • تحديث حالة Git البعيدة ما كيديرش fetch؛ قيم التقدّم والتأخّر جاية من الذاكرة المحلية المؤقتة.
  • إلغاء حساب ما كيحيدش بيانات الاعتماد اللي توصلات من قبل لحاوية خدامة.
  • إيقاف أو إعادة بناء حاوية مساحة العمل كينهي العمليات ديالها، رغم أن الملفات الدائمة كاتبقى.
  • مراجعة Git تقدر تشغّل مساحة عمل موقوفة وكتطبّق نفس فحوصات قبول الرصيد اللي كيتطبّقو على الولوج للطرفية.

الخلاصة

Agentbox كيحوّل خادم Linux لبيئة برمجة دائمة كتخدم من المتصفح، مخصّصة لـ Claude Code وCodex CLI. بدا بمثبّت الإصدار، زِد حساب، صايب مساحة عمل، وانتاقل من مهمة فالدردشة لكود مراجع عبر الواجهات المدمجة ديال Files وTerminal وChanges. للاستعمال فالإنتاج، زِد HTTPS، تحكّم مزيان فولوج الحسابات، راقب استعمال الموارد، ودير خطة نسخ احتياطي كتضم بيانات مساحة العمل ملي يكون هاد الشي مطلوب.

لمزيد من الإعدادات والإرشادات التشغيلية، راجع مستودع Agentbox، وفهرس التوثيق، ودليل النشر والعمليات.