ينتقل بسلاسة
- تطبيقات الويب المبنية بـ Replit Agent: خادم Express مع واجهة React + Vite
- جداول PostgreSQL المستخدمة عبر Drizzle
- Replit Auth، الذي يُحذف: يحل محله تسجيل الدخول بحساب الشركة
- shadcn/ui وTailwind وwouter وreact-query ومكتبات الواجهة الأخرى
رُوجع في 26 أكتوبر 2026
الجواب المختصر
إن كان لدى زملائك حسابات Replit بالفعل، فاستخدم النشر الخاص في Replit نفسه: إنه إعداد في أداة Publishing، في خطتي Starter وCore وما فوقهما. وإن لم يكن، أو أردتهم أن يسجلوا الدخول بحساب العمل، فانقل التطبيق إلى TeamOnly. نزّله كملف zip أو ارفعه إلى GitHub، وشغّل npx teamonly init واطلب من أداة الذكاء الاصطناعي: «انقل هذا التطبيق إلى TeamOnly». تبقى الشاشات كما هي، ويُستبدل خادم Express وقاعدة بيانات Replit وReplit Auth. تطبيقات Python لا يمكن نقلها.
01جرّب هذا أولًا
نعم. في أداة Publishing في Replit إعداد Sharing فيه أربعة خيارات. اثنان منها خاصان، وكلاهما يحتاج إلى حساب Replit.
| من يستطيع فتحه | هل يحتاج الزوار إلى حساب Replit؟ | الأنسب عندما | |
|---|---|---|---|
| Public | أي شخص على الإنترنت معه الرابط | لا | لا شيء فيه خاص |
| Password protected | أي شخص معه كلمة المرور | لا. كلمة مرور واحدة مشتركة | عرض سريع. يستطيع مسؤولو مساحة العمل إيقاف هذا الخيار |
| Workspace only | المسؤولون والأعضاء وأصحاب صفة viewer في مساحة عملك على Replit | نعم | زملاؤك موجودون بالفعل في مساحة عملك على Replit |
| Invite only | أنت، ومسؤولو مساحة العمل، والأشخاص أو المجموعات التي تدعوها | نعم | عدد قليل من الأشخاص يستخدمون Replit |
| TeamOnly | كل من في شركتك، أو قائمة بأسماء | لا. حساب Google أو Microsoft للعمل أو رمز بالبريد | زملاء ليست لديهم حسابات Replit |
تقول Replit إن النشر الخاص متاح في خطتي Starter وCore وما فوقهما منذ مايو 2026، وقبل ذلك كان يحتاج إلى Pro أو Enterprise. خطة Core بـ $20 شهريًا، أو $18 مع الفوترة السنوية. وخطة Pro بـ $100 شهريًا وتتيح دعوة ما يصل إلى 50 viewer، وما يزيد على 50 يحتاج إلى Enterprise، وهي أيضًا الخطة التي فيها SSO وسجلات التدقيق.
رُوجع في 26 أكتوبر 2026. Replit: من يستطيع الوصول إلى تطبيقك، النشر الخاص في Core وStarter، الأسعار، مقاعد viewer، Replit Auth، التنزيل أو ربط GitHub، بيانات الاتصال بقاعدة البيانات، النسخ الاحتياطي بـ pg_dump. الخطط تتغير، فراجع Replit قبل أن تدفع.
02متى تنتقل
إن لم ينطبق شيء من ذلك، فابقَ على Replit. النقل عمل حقيقي، والمشاركة في Replit نفسها مجرد إعداد.
03هل سينتقل تطبيقي؟
04الطريقة
تحتاج إلى كود المشروع على جهازك، وNode.js، وClaude Code أو Cursor.
في Replit، افتح القائمة أعلى شجرة الملفات واختر Download as zip. أو اربط GitHub من أداة Git، وارفع المشروع، ثم انسخه إلى جهازك.
في مجلد المشروع، شغّل:
npx teamonly init
npm installيضيف هذا الملفات التي تحتاجها تطبيقات TeamOnly والتعليمات التي تقرؤها أداة الذكاء الاصطناعي. ولا يستبدل ملفاتك أبدًا.
انقل هذا التطبيق إلى TeamOnly
تتبع تعليمات TeamOnly: تُبقي كل شاشة، وتحوّل مسارات Express إلى مسارات خادم في TeamOnly، وتعيد بناء جداول Drizzle في قاعدة بيانات التطبيق، وتحذف Replit Auth، وتخبرك بما غيّرته وما لم تستطع نقله.
تشغّل التطبيق محليًا. تنقّل بين الشاشات الرئيسية قبل أن تكمل.
npx teamonly login
npx teamonly deployتحصل على رابط مثل blog.acme.teamonly.app. يفتحه الزملاء ويسجلون الدخول بحساب العمل.
05ما الذي يتغير
| في تطبيقك على Replit | على TeamOnly |
|---|---|
Replit Auth: زر تسجيل الدخول، و/api/login، وجدولا الجلسات والمستخدمين | يُحذف. يسجّل TeamOnly دخول الناس قبل تحميل التطبيق، والتطبيق يقرأ هويتهم. |
خادم Express (server/routes.ts) | مسارات في كود الخادم الخاص بالتطبيق، على مسارات /api نفسها |
| جداول PostgreSQL عبر Drizzle | قاعدة بيانات التطبيق الخاصة، تُنشأ عند النشر الأول (SQLite، على Cloudflare D1) |
| «مسجّل الدخول» بوصفه الفحص الوحيد | أدوار مثل محرر أو معتمِد، تُمنح من صفحة التطبيق في لوحة التحكم أو عبر npx teamonly roles |
| Replit Secrets | أسرار، تُضبط بـ npx teamonly secrets set، ولا تُرسل إلى المتصفح أبدًا |
| التحديثات المباشرة عبر WebSockets | زر «تحديث» |
.replit وإضافات Vite الخاصة بـ Replit | تُحذف |
06بياناتك
يبدأ التطبيق المنقول بقاعدة بيانات فارغة. تبقى صفوفك على Replit حتى تنسخها.
في Replit، افتح أداة Database، واختر قاعدة بيانات الإنتاج وانسخ سلسلة الاتصال من تبويب Settings الخاص بها. لا تسمح Replit للأدوات الخارجية إلا بالوصول إلى قاعدة بيانات الإنتاج، لا قاعدة بيانات التطوير.
صدّر كل جدول كملف CSV بأي أداة PostgreSQL، مثل psql (المثال أدناه). واحتفظ أيضًا بنسخة احتياطية كاملة: وثائق Replit نفسها تستخدم pg_dump لذلك.
في التطبيق المنقول، استخدم شاشة الاستيراد فيه لتحميل ملفات CSV. وإن لم تكن فيه شاشة كهذه، فاطلب من أداة الذكاء الاصطناعي إضافتها قبل أن تنشر التطبيق.
جدول واحد إلى CSV باستخدام psql:
psql "PRODUCTION_CONNECTION_STRING" \
-c "\copy your_table TO 'your_table.csv' CSV HEADER"لم ننقل بأنفسنا قاعدة بيانات Replit قيد الاستخدام بعد. راجع عدد الصفوف بعد الاستيراد.
07تطبيقات Python
لا يمكن نقل تطبيقات Python إلى TeamOnly. فهو يشغّل نوعًا واحدًا من التطبيقات، واجهة React مع خادم TypeScript على Cloudflare، ولا سبيل لتشغيل Flask أو Streamlit أو FastAPI أو Django عليه.
إن كان تطبيقك على Replit مكتوبًا بـ Python، فاستخدم النشر الخاص في Replit نفسه المذكور أعلاه. أن تطلب من أداة ذكاء اصطناعي إعادة بنائه بـ React وTypeScript هو إعادة كتابة لا نقل، ولم نختبر ذلك.
08ما وجدناه
أخذنا من GitHub تطبيقًا عامًا مبنيًا بـ Replit Agent، مدونة مع لوحة تحرير مبنية بـ Express وReact وPostgreSQL مع Drizzle وReplit Auth، ونقلناه.
كانت في النسخة الأصلية ثغرة نابعة من طريقة عمل Replit Auth: أي شخص لديه حساب Replit يستطيع تسجيل الدخول، والتطبيق كان يعامل كل من سجّل الدخول على أنه المسؤول. فكان أي أحد يستطيع تعديل التدوينات أو حذفها وقراءة كل الرسائل. بعد النقل، يحتاج التعديل إلى أن تكون المالك أو أن يكون لديك دور المحرر، ويُتحقق من ذلك على الخادم.
في أداة Publishing، تحت Sharing، اختر Workspace only أو Invite only. بعدها يسجل الزوار الدخول بحساب Replit. وهناك أيضًا Password protected، الذي لا يحتاج إلى حساب لكنه كلمة مرور واحدة مشتركة. تقول Replit إن النشر الخاص متاح في خطتي Starter وCore وما فوقهما منذ مايو 2026.
في Workspace only وInvite only، نعم: يُطلب من الزوار تسجيل الدخول عبر Replit. ومن تضيفهم إلى فريقك على Replit بصفة viewer يصلهم بريد لإنشاء حساب إن لم يكن لديهم حساب. إعداد Password protected وحده يعمل دون حساب.
نعم. في المشروع، افتح القائمة أعلى شجرة الملفات واختر Download as zip، أو اربط GitHub من أداة Git وارفع الكود إليه. أما قاعدة البيانات فمنفصلة: انظر السؤال التالي.
ليس تلقائيًا. ينتقل التطبيق بقاعدة بيانات فارغة. صدّر جداولك من قاعدة بيانات الإنتاج (سلسلة الاتصال الخاصة بها في أداة Database، تبويب Settings) كملفات CSV، ثم حمّلها عبر شاشة استيراد في التطبيق المنقول. وإن لم تكن فيه شاشة كهذه، فاطلب من أداة الذكاء الاصطناعي إضافتها.
يُحذف. يسجّل Replit Auth دخول الناس بحسابات Replit. أما على TeamOnly فيسجل الناس الدخول بحساب Google أو Microsoft للعمل، أو برمز من 6 أرقام يُرسل إلى بريد العمل، قبل تحميل التطبيق، ويعرف التطبيق من هم.
لا. يشغّل TeamOnly نوعًا واحدًا من التطبيقات: واجهة React مع خادم TypeScript. تطبيقات Flask وStreamlit وFastAPI وDjango لا تعمل عليه. لهذه التطبيقات، استخدم النشر الخاص في Replit نفسه.
لا. يفتحون الرابط ويسجلون الدخول بحساب العمل الذي لديهم. من يستخدمون التطبيقات فقط مجانًا.
لتطبيق عادي مبني بـ Replit Agent، من 15 إلى 60 دقيقة من عمل أداة الذكاء الاصطناعي في مشروعك، إضافة إلى وقت مراجعتك للشاشات. التطبيقات التي فيها آلاف الأسطر من كود الخادم تستغرق وقتًا أطول. أما الدقيقة الواحدة فتأتي بعد ذلك: من النشر إلى أن يستخدمه زميل.
الوصول المبكر
TeamOnly في مرحلة الوصول المبكر، وكل الخطط متاحة الآن. جرّبه مجانًا لمدة 14 يومًا دون بطاقة، أو اشترك. في الحالتين، تصبح شركتك جاهزة فورًا، وتنشر أول تطبيق لك بثلاثة أوامر.
لا حاجة إلى بطاقة للتجربة. بعدها من $19 شهريًا، ويمكنك الإلغاء في أي وقت.
أرسل أسئلتك إلى hello@teamonly.dev، وسيرد عليك شخص حقيقي.