Skip to content

كيفية تقديم بلاغ جيد

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

قبل التقديم

  1. ابحث في البلاغات الموجودة. قد يكون شخص ما أبلغ عن نفس المشكلة بالفعل. تحقق من البلاغات المفتوحة والبلاغات المغلقة.

  2. تحقق من أدلة استكشاف الأخطاء. يغطي قسم استكشاف الأخطاء معظم المشاكل الشائعة.

  3. تحقق من المشكلات المعروفة. صفحة المشكلات المعروفة تسرد المشاكل التي نعرفها بالفعل.

  4. جرّب أحدث إصدار. إذا لم تكن على أحدث إصدار، حدّث أولاً:

    bash
    triggerfish update

ما يجب تضمينه

1. البيئة

إصدار Triggerfish: (شغّل `triggerfish version`)
نظام التشغيل: (مثل macOS 15.2، Ubuntu 24.04، Windows 11، Docker)
المعمارية: (x64 أو arm64)
طريقة التثبيت: (مُثبّت تنفيذي، من المصدر، Docker)

2. خطوات إعادة الإنتاج

اكتب التسلسل الدقيق للإجراءات التي تؤدي إلى المشكلة. كن محدداً:

سيء:

البوت توقف عن العمل.

جيد:

  1. بدأت Triggerfish مع قناة Telegram مكوّنة
  2. أرسلت الرسالة "تحقق من تقويمي لغد" في رسالة مباشرة للبوت
  3. استجاب البوت بنتائج التقويم
  4. أرسلت "الآن أرسل تلك النتائج بالبريد إلى alice@example.com"
  5. المتوقع: البوت يرسل البريد
  6. الفعلي: البوت يستجيب بـ "Write-down blocked: CONFIDENTIAL cannot flow to INTERNAL"

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

قل ما توقعت حدوثه وما حدث فعلاً. ضمّن رسالة الخطأ الدقيقة إن وُجدت. النسخ واللصق أفضل من إعادة الصياغة.

4. مخرجات السجل

أرفق حزمة سجلات:

bash
triggerfish logs bundle

إذا كان البلاغ حساساً أمنياً، يمكنك حجب أجزاء، لكن أشر في البلاغ إلى ما حجبته.

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

5. التكوين (محجوب)

الصق القسم ذو الصلة من triggerfish.yaml. احجب الأسرار دائماً. استبدل القيم الفعلية بعناصر نائبة:

yaml
# جيد - الأسرار محجوبة
models:
  primary:
    provider: anthropic
    model: claude-sonnet-4-20250514
  providers:
    anthropic:
      model: claude-sonnet-4-20250514
      apiKey: "secret:provider:anthropic:apiKey"  # مخزّن في سلسلة المفاتيح
channels:
  telegram:
    ownerId: "REDACTED"
    classification: INTERNAL

6. مخرجات Patrol

bash
triggerfish patrol

الصق المخرجات. يعطينا لمحة سريعة عن صحة النظام.

أنواع البلاغات

تقرير خلل

استخدم هذا القالب للأشياء المعطّلة:

markdown
## تقرير خلل

**البيئة:**
- الإصدار:
- نظام التشغيل:
- طريقة التثبيت:

**خطوات إعادة الإنتاج:**
1.
2.
3.

**السلوك المتوقع:**

**السلوك الفعلي:**

**رسالة الخطأ (إن وُجدت):**

**مخرجات Patrol:**

**التكوين ذو الصلة (محجوب):**

**حزمة السجلات:** (أرفق الملف)

طلب ميزة

markdown
## طلب ميزة

**المشكلة:** ما الذي تحاول فعله ولا تستطيع اليوم؟

**الحل المقترح:** كيف تعتقد أنه يجب أن يعمل؟

**البدائل المدروسة:** ماذا جرّبت أيضاً؟

سؤال / طلب دعم

إذا لم تكن متأكداً ما إذا كان شيء ما خللاً أو أنك عالق فحسب، استخدم GitHub Discussions بدلاً من Issues. المناقشات أفضل للأسئلة التي قد لا يكون لها إجابة واحدة صحيحة.

ما لا يجب تضمينه

  • مفاتيح API أو كلمات المرور الخام. احجبها دائماً.
  • البيانات الشخصية من المحادثات. احجب الأسماء وعناوين البريد الإلكتروني وأرقام الهواتف.
  • ملفات السجل الكاملة مضمّنة. أرفق حزمة السجلات كملف بدلاً من لصق آلاف الأسطر.

بعد التقديم

  • راقب أسئلة المتابعة. قد يحتاج المشرفون مزيداً من المعلومات.
  • اختبر الإصلاحات. إذا دُفع إصلاح، قد يُطلب منك التحقق منه.
  • أغلق البلاغ إذا وجدت الحل بنفسك. انشر الحل ليستفيد الآخرون.