انشر دراسة Potato على الإنترنت
أوصل مهمة Potato من حاسوبك إلى معلّقيك بسؤال قسم تقنية المعلومات، أو بالنقر على زر نشر جاهز، أو بالمشاركة من حاسوب محمول، أو باستئجار خادم.
لنشر دراسة Potato على الإنترنت، تشغّل مهمتك على حاسوب يستطيع معلّقوك الوصول إليه عبر عنوان ويب، وتحفظ التعليقات التوضيحية بأمان أثناء الدراسة، وتنزّل التعليقات التوضيحية في النهاية. سؤال قسم تقنية المعلومات في مؤسستك والنقر على زر نشر أعدّه زميل هما المساران اللذان لا يحتاجان إلى طرفية من جانبك.
يعني نشر دراسة نقل مهمة Potato التي بنيتها من حاسوبك إلى خادم، وهو حاسوب يبقى قيد التشغيل ومتصلًا بالإنترنت. يفتح المعلّقون بعد ذلك المهمة في متصفح ويب من أي مكان، ويحفظ Potato كل إجابة على الخادم أثناء عمل المعلّقين. تعمل المعاينة في مصمم الدراسات بـPotato داخل متصفحك أنت، ولا يستطيع أحد غيرك الوصول إلى تلك النسخة. وتظل الدراسة المبنية في المصمم تحتاج إلى أحد المسارات أدناه.
يبدأ كل مسار من مجلد المشروع نفسه. في مصمم الدراسات، يحفظ الزر Download project (.zip) الملف config.yaml (الملف الذي يصف مهمتك)، وملف بيانات نموذجيًا، وملف README. يحتوي الملف النموذجي على ثلاثة عناصر بديلة. استبدل الملف النموذجي بعناصرك قبل النشر، بالصيغة التي تصفها صفحة صيغ البيانات.
اختيار مسار
تختلف المسارات في من يتولى العمل التقني، وفي تكلفة الخادم، وفي المدة التي تستطيع الدراسة البقاء فيها على الإنترنت. التكاليف أدناه مأخوذة من قوائم أسعار المضيفات ومن تقديرات Potato نفسه في 2026-11-04، والانتظارات إرشادات تقريبية لا قياسات:
| المسار | يناسب | التكلفة | الحاجة إلى طرفية | الانتظار المعتاد |
|---|---|---|---|---|
| اسأل قسم تقنية المعلومات أو الحوسبة البحثية | بيانات حساسة، وتسجيل دخول مؤسسي، ودراسات تستمر شهورًا | تحددها مؤسستك | ليس من جانبك | من أيام إلى أسابيع |
| انقر على زر نشر أعدّه زميل | مختبر فيه شخص واحد يستخدم git | مجاني على Render، و$7 شهريًا على Heroku | ليس من جانبك | في اليوم نفسه |
| شارك من حاسوبك الخاص | تجربة أولية أو اجتماع مختبر لبعد ظهر واحد | مجاني | نعم، بضعة أوامر | ساعة أو ساعتان |
| استأجر خادمًا بأمر واحد | دراسة تستمر أسابيع وتديرها بنفسك | نحو €6 إلى $12 شهريًا، أو مجانًا على Jetstream2 | نعم، إضافة إلى حساب سحابي | بعد ظهر واحد |
إن كنت غير متأكد، فابدأ بقسم تقنية المعلومات. يُبقي الخادم داخل مؤسستك البيانات على معدات تديرها مؤسستك بالفعل، ويستطيع القسم أن يتولى تحديثات الأمان والنسخ الاحتياطية.
اسأل قسم تقنية المعلومات أو الحوسبة البحثية
تدير جامعات ومستشفيات كثيرة خدمة حوسبة بحثية تستضيف تطبيقات الويب الخاصة بالدراسات. يمثّل Potato لفريق كهذا تطبيق ويب عاديًا، ويستطيع الفريق أن يبدأ من ملخص في صفحة واحدة لما يحتاج إليه Potato.
- نزّل المشروع من مصمم الدراسات، واستبدل ملف البيانات النموذجي بعناصرك.
- أرسل إلى قسم تقنية المعلومات مجلد المشروع ورابطًا إلى متطلبات خادم Potato لقسم تقنية المعلومات.
- أخبر الفريق من هم معلّقوك، وكم عددهم، وكم تستمر الدراسة.
- حدّد كيف يسجّل المعلّقون الدخول. يستطيع الزملاء الذين لديهم حسابات مؤسسية استخدام تسجيل الدخول الموحّد، وهو تسجيل الدخول الذي تديره مؤسستك بالفعل، ويستطيع المعلّقون من خارج المؤسسة استخدام أسماء مستخدمين تسردها أنت.
- اذكر ما إذا كانت العناصر أو الإجابات تحتوي على معلومات شخصية أو حساسة، وسمِّ الموافقة الأخلاقية التي تُجرى الدراسة بموجبها.
- اطلب من الفريق عنوان الويب الخاص بالدراسة، ومفتاح المسؤول الذي يفتح لوحة مسؤول Potato، وخطة للنسخ الاحتياطية ولتسليمك البيانات عند انتهاء الدراسة.
عندما يصل العنوان، أنجز ما ينبغي فعله قبل دعوة المعلّقين قبل أن ترسل العنوان إلى أحد.
انقر على زر نشر أعدّه زميل
زر النشر رابط في صفحة مستودع شيفرة يجهّز نسخة من مهمة Potato على خوادم شركة استضافة، بالكامل عبر نماذج في متصفحك. يصنع الزر مرة واحدة زميل يستخدم git وطرفية، من مستودع يحتوي على مجلد مشروعك، بالأمر potato deploy button. صفحة تشغيل Potato محليًا أو في السحابة هي الصفحة التي ترسلها إلى ذلك الزميل.
يعمل الزر مع ثلاثة مضيفات، تختلف في ما تتقاضاه:
- Render يشغّل الدراسة على خطة مجانية دون وسيلة دفع. تدخل خدمة Render المجانية في السكون بعد 15 دقيقة بلا زوار وتحتاج إلى نحو دقيقة لتستيقظ عندما يصل المعلّق التالي.
- Heroku يتقاضى $7 شهريًا مقابل الخادم الذي ينشئه الزر. يشترط Heroku حسابًا موثَّقًا، عادةً عبر بطاقة ائتمان، قبل أن تنشئ تطبيقًا.
- AWS يشغّل خادم Lightsail مقابل $12 شهريًا. يقرأ زر AWS المهمة من مستودع عام، ولذلك لا يناسب زر AWS إلا العناصر التي يمكن أن تكون عامة.
يمسح Render وHeroku قرص الخادم كلما أُعيد تشغيل الخادم. ولذلك ينسخ الزر التعليقات التوضيحية كل خمس دقائق إلى مجموعة بيانات خاصة على Hugging Face، وهو موقع لمشاركة البيانات والنماذج، وينسخ التعليقات التوضيحية عائدةً كلما بدأ الخادم. تسمّي أنت مجموعة البيانات عند النقر، وتعود مجموعة البيانات إلى حسابك.
قبل أن تنقر، اجمع ثلاثة أشياء:
- حسابًا على المضيف، Render أو Heroku؛
- حسابًا مجانيًا على Hugging Face، مع رمز وصول بإذن الكتابة، يُنشأ في huggingface.co/settings/tokens؛ و
- صلاحية الوصول إلى المستودع، إن كان المستودع خاصًا. يطلب Heroku منك ربط حساب GitHub لديك للمستودع الخاص.
ثم انشر:
- انقر على الزر في ملف README الخاص بالمستودع، وسجّل الدخول إلى المضيف.
- سمِّ التطبيق. يصبح الاسم جزءًا من عنوان الويب الخاص بالدراسة.
- في
POTATO_BACKUP_HF_REPO، اكتب اسم مجموعة بيانات مكوّنًا من اسم مستخدمك على Hugging Face واسم للدراسة، مثلyour-username/my-study-annotations. عندما يكون الاسم جديدًا، ينشئ Potato مجموعة البيانات ويجعلها خاصة. - الصق رمز Hugging Face الخاص بك في
HF_TOKEN. اترك كل حقل آخر على القيمة التي ملأها الزر. - ابدأ النشر وانتظر حتى يبلّغ المضيف أن التطبيق يعمل. افتح عنوان الويب الذي يعرضه المضيف.
- اعثر على مفتاح المسؤول، وهو كلمة مرور ولّدها المضيف أثناء النشر. على Heroku يكون المفتاح هو الإدخال
POTATO_ADMIN_API_KEYفي تبويب Settings الخاص بالتطبيق، وعلى Render يوجد الإدخال نفسه في صفحة Environment الخاصة بالخدمة. - افتح عنوان الدراسة وأضف
/adminإلى نهايته، والصق مفتاح المسؤول لفتح لوحة المسؤول.
يثبّت المستودع المهمة والعناصر وقائمة المعلّقين. أنهِ المهمة قبل أن تنقر، لأن أي تغيير لاحق يمر عبر الزميل الذي صنع الزر. أبقِ المستودع خاصًا ما لم يكن بالإمكان أن تكون العناصر عامة.
شارك رابطًا من حاسوبك الخاص
يستطيع حاسوبك الخاص أن يخدم تجربة أولية لبعد ظهر واحد. يفتح المعلّقون رابط ويب مؤقتًا، وتصل التعليقات التوضيحية إلى مجلد مشروعك، ويتوقف الرابط عن العمل عندما تغلق الأمر. يحتاج هذا المسار إلى طرفية، وهي برنامج لكتابة الأوامر، وهي Terminal على Mac (في Applications ثم Utilities) وPowerShell على Windows (ابحث عن "PowerShell" في قائمة Start).
-
ثبّت Python 3.9 أو أحدث من python.org/downloads. على Windows، التنزيل هو مدير تثبيت Python. على Mac، التنزيل هو مثبّت macOS.
-
افتح الطرفية وثبّت Potato. على Mac، اكتب:
bashpython3 -m pip install potato-annotationوعلى Windows، اكتب:
powershellpy -m pip install potato-annotation -
فُكّ ضغط المشروع الذي نزّلته من مصمم الدراسات. على Mac، انقر نقرًا مزدوجًا على ملف
.zip. وعلى Windows، انقر بزر الفأرة الأيمن على الملف واختر Extract All. استبدل ملف البيانات النموذجي بعناصرك. -
انقل الطرفية إلى مجلد المشروع وابدأ Potato. اسم المجلد أدناه مثال، فاستخدم اسم مجلدك أنت. على Mac:
bashcd ~/Downloads/my-task python3 -m potato start config.yamlوعلى Windows:
powershellcd $HOME\Downloads\my-task py -m potato start config.yaml -
افتح
http://localhost:8000في متصفحك. لا يستطيع الوصول إلى هذا العنوان سوى حاسوبك. اضغط Ctrl-C في الطرفية لإيقاف Potato. -
للسماح لأشخاص آخرين بالدخول، ثبّت cloudflared، وهو برنامج مجاني من Cloudflare لا يحتاج إلى حساب. على Mac مع Homebrew، شغّل
brew install cloudflared. وعلى Windows، نزّل مثبّت Windows من صفحة التنزيلات في Cloudflare. -
شغّل
potato shareبدلًا منpotato start:bashpython3 -m potato share config.yamlعلى Windows، اكتب
py -m potato share config.yaml. يطبع Potato من سيستطيع تسجيل الدخول ويسأل قبل أن ينشر أي شيء. اكتبy، فيطبع Potato رابطhttps://لترسله إلى معلّقيك.
لا يعمل الرابط إلا ما دام الأمر قيد التشغيل. يُنهي الرابط إغلاقُ الطرفية أو وضعُ الحاسوب في السكون أو تغييرُ الشبكة، ويطبع التشغيل الجديد رابطًا جديدًا. تحظر بعض شبكات الجامعات روابط trycloudflare.com التي ينشئها cloudflared. إذا أبلغ معلّق عن رابط محظور، فإن potato share config.yaml --backend tailscale يستخدم Tailscale بدلًا من ذلك. يحتاج Tailscale إلى حساب مجاني. وإذا أبلغ potato share عن No tunnel backend found، فمعنى ذلك أن Potato لم يعثر على cloudflared على حاسوبك، وتسرد الرسالة أوامر التثبيت.
تغطي صفحة التثبيت البيئات الافتراضية والميزات الاختيارية، وتغطي صفحة تشغيل Potato محليًا أو في السحابة الأمر potato share بمزيد من التفصيل.
استأجر خادمًا بأمر واحد
يستأجر potato deploy up خادمًا من شركة سحابية، ويحصل على شهادة HTTPS (القفل الظاهر في شريط عنوان المتصفح)، ويرفع مجلد مشروعك، ويبدأ الدراسة، ويطبع عنوان الويب. يحتاج الأمر إلى إعداد الطرفية من الخطوات 1 إلى 3 أعلاه، وإلى حساب لدى الشركة السحابية، وإلى رمز API، وهو مفتاح يشبه كلمة المرور يتيح لبرنامج أن يتصرف باسم حسابك. يغطي دليل كل مضيف الحساب والرمز من البداية:
| المضيف | التكلفة الشهرية | الدليل |
|---|---|---|
| AWS Lightsail | $12 | AWS Lightsail |
| Hetzner أو Vultr أو Linode | نحو €6 إلى $12 | Hetzner وVultr وLinode |
| Jetstream2، للباحثين في الولايات المتحدة | مجاني مع تخصيص من ACCESS | Jetstream2 |
| مساحة Hugging Face Space | خطة Hugging Face PRO، $9 | Hugging Face Spaces |
يأخذ كل مضيف الأمرين نفسيهما، ويعطي دليل كل مضيف اسم المزوّد وأمر التثبيت الخاص بالمضيف. يعرض الأمر الأول الخطة والتكلفة الشهرية ولا ينشئ شيئًا، وينشئ الأمر الثاني الخادم بعد أن تؤكد:
potato deploy up config.yaml --provider aws --dry-run
potato deploy up config.yaml --provider awsيستنسخ زر Duplicate this Space الخاص بـHugging Face مساحة في المتصفح، لكن نسخة من مساحة Potato تحتفظ بإعدادات النسخ الاحتياطي لمالك الأصل وتفقد أسرار الأصل. انشر مساحة Potato بالأمر potato deploy up --provider huggingface بدلًا من ذلك.
ما ينبغي فعله قبل دعوة المعلّقين
اتبع هذه القائمة مرة واحدة متى صار للدراسة عنوان ويب، أيًّا كان المسار الذي سلكته:
- حدّد من يستطيع تسجيل الدخول. أبسط إعداد مغلق هو قائمة بأسماء المستخدمين. في مصمم الدراسات، أوقف Allow All Users وأضف كل معلّق تحت Authorized Users. يختار كل معلّق مدرج كلمة مرور عند التسجيل في أول زيارة، ويرفض Potato أي شخص ليس في القائمة. أرسل إلى كل معلّق اسم المستخدم مباشرة، لأن أول من يسجّل اسم مستخدم مدرجًا يمتلك ذلك الحساب. وللحسابات المؤسسية، راجع SSO وOAuth، ولعمال التعهيد الجماعي، راجع تكامل التعهيد الجماعي. ومع تشغيل Allow All Users، يستطيع أي شخص يجد العنوان أن ينشئ حسابًا. أبقِ هذا الإعداد للعروض التجريبية العامة.
- اعرف أين توجد التعليقات التوضيحية. يحفظ Potato إجابات كل معلّق أثناء عمله، في ملف اسمه
user_state.jsonداخل مجلد لكل معلّق. توجد المجلدات في مجلد المخرجات الذي يسمّيه الإعداد، والذي يسميه مصمم الدراساتoutput. على حاسوبك الخاص، يقع هذا المجلد داخل مجلد مشروعك. وفي النشر بالزر، تحتفظ مجموعة بيانات Hugging Face بالنسخة التي تنجو من إعادة التشغيل. وعلى خادم مستأجر، ينزّلpotato deploy pullالمجلد. وعلى خادم مؤسسي، اسأل قسم تقنية المعلومات كيف يُنسخ الخادم احتياطيًا. - اختبر بمتصفح ثانٍ. افتح عنوان الدراسة في نافذة خاصة، وهي Incognito في Chrome، وPrivate Window في Safari وFirefox، وInPrivate في Edge. أضف اسم مستخدم مثل
pilot-testإلى القائمة، وسجّل بذلك الاسم، وأجب عن ثلاثة عناصر. أغلق النافذة، وسجّل الدخول من جديد، وتحقق من أن الإجابات ما زالت موجودة. ثم افتح لوحة المسؤول وتحقق من ظهور المعلّق التجريبي. جرّب العنوان على هاتف إن كان المعلّقون قد يعملون على الهواتف. - أبقِ مفتاح المسؤول سريًا. يفتح مفتاح المسؤول لوحة المسؤول على
/admin. تعرض اللوحة إجابات كل معلّق. على حاسوبك الخاص، يحفظ Potato المفتاح فيadmin_api_key.txtداخل مجلد المشروع في أول مرة تفتح فيها/admin. - اكتب الدعوة. أرسل إلى كل معلّق العنوان واسم المستخدم والمدة التي تستغرقها المهمة والجهة التي يتصل بها عند حدوث مشكلة.
الحصول على نتائجك
تنزّل لوحة المسؤول النتائج إلى حاسوبك دون طرفية. افتح /admin، وأدخل مفتاح المسؤول، واختر Publish Dataset. تحت Target، اختر Local archive، واضبط Data format على CSV لجدول بيانات، وانقر Publish. عندما يجهز الأرشيف، انقر Download archive.
يحتوي الأرشيف على إجابات كل معلّق والعناصر والتصنيفات المجمّعة بالتصويت بالأغلبية. يبلّغ ملف README في الأرشيف عن أعداد التصنيفات وعن الاتفاق بين المعلّقين. تُستبدل أسماء المعلّقين بـA1 وA2 وهكذا ما لم تلغِ تحديد Anonymize annotators. وتبقى إجابات الاستبيانات خارج الأرشيف ما لم تحدد Include survey / phase responses، لأن إجابات الاستبيانات قد تحتوي على معلومات شخصية.
من طرفية، يكتب python -m potato.export التعليقات التوضيحية نفسها في مجلد، بأي من صيغ التصدير في Potato:
python -m potato.export --config config.yaml --format csv --output resultsوعلى خادم أُنشئ بالأمر potato deploy up، ينزّل potato deploy pull config.yaml كل ما جمعه الخادم، بما فيه قواعد البيانات.
إنهاء الدراسة حتى يتوقف الخادم عن كلفة المال
نزّل النتائج قبل أن تزيل أي شيء، وافتح التنزيل لتتحقق من وجود إجابات آخر معلّق. ثم أوقف الخادم بالطريقة التي يتطلبها المسار:
- حاسوبك الخاص. اضغط Ctrl-C في الطرفية. لم يُفرض أي رسم.
- قسم تقنية المعلومات لديك. أخبر الفريق أن الدراسة انتهت، واطلب نسخة من مجلد المخرجات، واسأل كم من الوقت ستُحفظ نسخة الخادم.
- زر النشر. احذف التطبيق من تبويب Settings الخاص بالتطبيق على Heroku، أو احذف الخدمة من صفحة Settings الخاصة بها على Render. تحتفظ مجموعة بيانات Hugging Face بنسخة كاملة من التعليقات التوضيحية. وعندما لا تعود بحاجة إلى النسخة الاحتياطية، احذف مجموعة البيانات من صفحة إعداداتها.
- خادم مستأجر. شغّل
potato deploy pull config.yaml، وافحص المجلد المسحوب، ثم شغّلpotato deploy destroy config.yaml. يرفض Potato تدمير خادم لم تُسحب بياناته قط.
أسئلة شائعة
كيف أنشئ خادم Potato لدراستي؟
تنشئ خادم Potato بتشغيل مهمتك على حاسوب يستطيع معلّقوك الوصول إليه عبر عنوان ويب. يستطيع قسم تقنية المعلومات في مؤسستك تشغيل المهمة نيابة عنك، ويستطيع زميل أن يعدّ زر نشر تنقر عليه، ويستطيع potato share أن يخدم تجربة أولية من حاسوبك المحمول، ويستطيع potato deploy up أن يستأجر لك خادمًا. يقارن الجدول تحت اختيار مسار بين المسارات بحسب التكلفة وبحسب العمل في الطرفية الذي يتطلبه كل مسار.
كيف أثبّت Potato على حاسوبي الشخصي؟
ثبّت Python 3.9 أو أحدث من python.org، ثم اكتب py -m pip install potato-annotation في PowerShell على Windows، أو python3 -m pip install potato-annotation في Terminal على Mac. بعد التثبيت، يبدأ py -m potato start config.yaml على Windows أو python3 -m potato start config.yaml على Mac مهمة. تغطي صفحة التثبيت الميزات الاختيارية.
كلمات تُستخدم في هذه الصفحة
- الخادم. الخادم حاسوب يبقى قيد التشغيل ومتصلًا بالإنترنت ليتمكن آخرون من استخدام برنامج عليه عبر متصفح ويب.
- URL أو عنوان الويب. عنوان URL هو العنوان الذي يكتبه المعلّقون أو ينقرون عليه، مثل
https://my-study.example.edu. أما النطاق فهو جزء الاسم من العنوان، وهو هناmy-study.example.edu. - HTTPS. يشفّر HTTPS كل ما يجري بين متصفح المعلّق والخادم، بما فيه كلمات المرور والإجابات. تعرض المتصفحات قفلًا لعنوان HTTPS.
- المنفذ. المنفذ نقطة دخول مرقّمة على حاسوب. يستمع Potato إلى المنفذ 8000 ما لم يسمّ الإعداد منفذًا آخر، وينتهي العنوان المحلي
http://localhost:8000بهذا الرقم. - الطرفية. الطرفية برنامج لكتابة الأوامر، تسمى Terminal على Mac وPowerShell على Windows.
- مفتاح المسؤول. مفتاح المسؤول كلمة مرور طويلة تفتح لوحة مسؤول Potato.
- رمز API. رمز API مفتاح يشبه كلمة المرور يتيح لبرنامج، مثل أمر النشر في Potato، أن يتصرف باسم حسابك لدى شركة استضافة.
قراءات إضافية
- متطلبات خادم Potato لقسم تقنية المعلومات، وهي الصفحة التي ترسلها إلى قسم تقنية المعلومات
- تشغيل Potato محليًا أو في السحابة، لكل المضيفات وأزرار النشر والنسخ الاحتياطية
- نشر خادم تعليق توضيحي، لاختيار مضيف لدراسة طويلة
- تشغيل Potato في Docker، للخوادم التي تشغّل الحاويات
- لوحة الإدارة، لمتابعة التقدم أثناء الدراسة