انتقل إلى المحتوى الرئيسي

الأسرار

يحتوي قسم الإعدادات > الأسرار على مفاتيح API والإعدادات التي يقرأها كود موقعك. يمكن للذكاء الاصطناعي إضافة الأسرار أثناء البناء، وتضيف الموصلات أسرارها تلقائيًا. تُشفّر القيم وتبقى مخفية حتى تكشفها. وتصل إلى موقعك المنشور عند النشر.

صفحة الأسرار مع أقسام القيم المفقودة والأسرار ومن الموصلات

تضم الصفحة ثلاثة أقسام كحد أقصى: القيم المفقودة والأسرار ومن الموصلات.

القيم المفقودة​

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

هناك نوعان من الصفوف:

  • صفوف الربط: أسرار تملؤها الخدمة تلقائيًا، مثل مفاتيح Stripe أو Supabase أو Resend أو OpenAI. يعرض الصف اسم الخدمة وزر ربط، مثل ربط Stripe. يؤدي ربط الخدمة إلى ملء قيمها وإبقائها محدّثة. تُربط قواعد البيانات في لوحة البيانات، وكل الخدمات الأخرى في الموصلات.
  • صفوف اللصق: أي سر آخر. الصق القيمة في الحقل وانقر على حفظ أو اضغط على Enter، أو انقر على إزالة إذا كان موقعك لا يحتاج إليها. بالنسبة للخدمات الشائعة، يتضمن الصف رابطًا إلى مكان الحصول على المفتاح، مثل الحصول عليه من OpenAI.

يظهر صف أيضًا إذا تعذّرت قراءة قيمة محفوظة. اضبطها من جديد لحل المشكلة.

عندما يرسل لك الذكاء الاصطناعي رابطًا إلى مفتاح في المحادثة، تُفتح هذه الصفحة عند صفه مع تمييزه.

الأسرار​

كل أسرارك في أحد عرضين. يمكنك التبديل بينهما باستخدام الزرين بجوار استيراد .env:

  • نص: محرر واحد يحتوي على NAME=value واحدة في كل سطر. الأنسب للصق عدة قيم أو تعديلها دفعة واحدة.
  • قائمة: صف لكل سر، يعرض وقت إضافته أو تحديثه والخدمة التي ضبطته، وعبارة ظاهر في المتصفح للأسماء العامة. يمكنك إظهار قيمة أو نسخها أو تعديلها أو حذفها من صفها، والنقر على إضافة سر لإضافة سر جديد.

تكون القيم مخفية في البداية. انقر على كشف الأسرار لإظهارها وتعديلها، وعلى إخفاء الأسرار لإخفائها مجددًا بعد حفظ التغييرات أو تجاهلها. إذا لم تكن لديك أسرار بعد، يمكنك إضافتها مباشرة.

محرر الأسرار بعد كشفها، مع خطأ في أحد الأسطر وشريط الحفظ

عند ربط خدمة، يجمع المحرر الأسطر في مجموعات: الأسرار التي أضفتها تحت # Your secrets، ثم أسرار كل خدمة تحت اسمها، مثل # Stripe. لا تظهر في المحرر الأسرار التي يديرها WebTwizz نيابةً عنك، مثل أسرار WebTwizz Cloud وCRON_SECRET الذي تستخدمه المهام، ولا يمكن حذفها منه.

التعديل​

  • اكتب أو الصق أسطرًا مثل OPENROUTER_API_KEY=sk-or-.... الأسطر مرقّمة.
  • تتكوّن الأسماء من أحرف وأرقام و_، ولا يمكن أن تبدأ برقم.
  • يُسمح بالأسطر التي تبدأ بـ # والأسطر الفارغة، لكنها لا تُحفظ عند الحفظ.
  • إذا لم توجد قيمة بعد =، تظهر عبارة يحتاج إلى قيمة، ويظهر الاسم ضمن القيم المفقودة بعد الحفظ.
  • لإزالة سر، احذف سطره. تبقى أسرار الخدمة المرتبطة حتى تزيل الخدمة من المشروع.
  • يمكنك تغيير قيمة ضبطتها خدمة، لكن قد تعيد الخدمة ضبطها عند إعادة الاتصال.

أخطاء الأسطر​

تُعلَّم المشكلات على السطر وتُدرج أسفل المحرر، مثل:

  • أضف =value بعد NAME. لا يحتوي السطر على =.
  • لا يمكن أن يبدأ الاسم برقم
  • يضبط WebTwizz قيمة NAME. بعض الأسماء محجوزة، مثل NODE_ENV وPORT وأي اسم يبدأ بـ WEBTWIZZ_.
  • NAME موجود أيضًا في السطر 4. لا يمكن أن يظهر كل اسم إلا مرة واحدة.

يظهر تحذير عندما يحتوي اسم يبدأ بـ NEXT_PUBLIC_ على ما يبدو أنه مفتاح خاص، لأن أي شخص يفتح موقعك يمكنه قراءته. لا يمنعك التحذير من الحفظ.

استيراد ملف .env​

انقر على استيراد .env لاختيار ملف، أو اسحب ملف .env إلى المحرر. يمكنك أيضًا لصق ملف كامل في المحرر. تحصل الأسماء الموجودة على القيمة الجديدة، وتُضاف الأسماء الجديدة في النهاية. تخبرك رسالة بعدد الأسماء الجديدة وعدد القيم المستبدلة. لا يُحفظ شيء حتى تراجع القيم وتحفظها.

الحفظ​

بمجرد إجراء أي تغيير، يظهر شريط في الأسفل يلخّص التغييرات، مثل تمت إضافة 2 وتغيير 1. انقر على حفظ التغييرات (أو اضغط على ⌘S / Ctrl+S في المحرر) للحفظ، أو على تجاهل للتراجع. إذا كان أي سطر يحتوي على خطأ، يعرض الشريط بدلًا من ذلك أصلح سطرًا واحدًا للحفظ.

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

من الموصلات​

تُدرج الأسرار التي يضبطها موصل أو اتصال بقاعدة بيانات حسب الخدمة، مثل Stripe، مع عدد الأسرار التي تضبطها. تُبقي كل خدمة أسرارها محدّثة.

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

القيم العامة​

تصل الأسماء التي تبدأ بـ NEXT_PUBLIC_ إلى المتصفح أيضًا، لذا يمكن لأي شخص يفتح موقعك قراءتها. استخدمها للقيم التي يمكن مشاركتها بأمان، مثل عنوان URL لموقع أو مفتاح قابل للنشر. احتفظ بمفاتيح API والقيم الخاصة الأخرى في أسماء لا تحمل هذه البادئة.

المعاينة والموقع المنشور​

تصل التغييرات إلى المعاينة فورًا. ويحتفظ موقعك المنشور بالقيم من آخر عملية نشر. عندما تختلف القيم، تظهر أعلى الصفحة عبارة «تستخدم المعاينة القيم الجديدة بالفعل. لا يزال موقعك المنشور يستخدم القيم من آخر عملية نشر». انقر على نشر هناك لتحديث الموقع المنشور.

قراءة الأسرار في الكود​

اقرأ سرًا باستخدام process.env.NAME:

// Server code: API routes, server components and server actions can read every secret
const apiKey = process.env.OPENROUTER_API_KEY;

// Browser code can only read NEXT_PUBLIC_ names
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL;