> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wolffi.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# المتغيرات

> تخزين مفاتيح API والتوكنات والأسرار بأمان في وولف فيش

# ما هي المتغيرات

المتغيرات هي قيم مُسمّاة يُخزِّنها وولف فيش في `config.json` ضمن مصفوفة `variables`. تحتوي على مفاتيح API والتوكنات والأسرار التي تحتاجها القدرات أثناء التشغيل. أعدّها في **الإعدادات > المتغيرات**.

## الهيكل

كل متغير يحتوي على ثلاثة حقول:

| الحقل       | النوع   | الوصف                                                            |
| ----------- | ------- | ---------------------------------------------------------------- |
| `name`      | string  | المُعرِّف المُستخدم للإشارة إلى المتغير (مثلاً `OPENAI_API_KEY`) |
| `value`     | string  | القيمة أو السر الفعلي                                            |
| `sensitive` | boolean | عندما تكون true، تُخفى القيمة في واجهة المستخدم                  |

```json theme={null}
{
  "variables": [
    {
      "name": "OPENAI_API_KEY",
      "value": "sk-proj-abc123...",
      "sensitive": true
    },
    {
      "name": "GITHUB_TOKEN",
      "value": "ghp_xxxxxxxxxxxx",
      "sensitive": true
    },
    {
      "name": "BRAVE_API_KEY",
      "value": "BSA-xxxxxxxxxx",
      "sensitive": true
    },
    {
      "name": "NOTION_TOKEN",
      "value": "ntn_xxxxxxxxxx",
      "sensitive": true
    },
    {
      "name": "DEFAULT_BRANCH",
      "value": "main",
      "sensitive": false
    }
  ]
}
```

## علامة الحساسية

عندما تكون `sensitive` بقيمة `true`، تُعرَض قيمة المتغير كـ `••••••` في واجهة الإعدادات. هذا للراحة في الواجهة فقط — لا يُخفي أو يستبعد القيمة من الوكيل.

<Tip>
  علّم أي بيانات اعتماد أو توكن أو مفتاح API كحساس لإخفائه في الواجهة. المتغيرات غير الحساسة مخصصة للإعدادات غير السرية مثل أسماء الفروع ومعرفات المشاريع أو تسميات البيئات.
</Tip>

## كيف يستخدم الوكيل المتغيرات

كل متغير — بما فيها المعلّمة كحساسة — يظهر **كنص عادي** في موجه النظام داخل كتلة `<variables>` في كل دور:

```
- OPENAI_API_KEY = sk-proj-abc123... (sensitive)
- GITHUB_TOKEN = ghp_xxxxxxxxxxxx (sensitive)
- BRAVE_API_KEY = BSA-xxxxxxxxxx (sensitive)
- DEFAULT_BRANCH = main
```

تسمية `(sensitive)` هي تلميح للوكيل بعدم إظهار القيمة في ردوده — لكنها لا تُخفي أو تحجب القيمة الفعلية. هذا بالتصميم: المتغيرات هي الآلية لإعطاء النموذج اللغوي بيانات الاعتماد التي يحتاج لاستخدامها مباشرة (مثل تمرير مفتاح API كوسيط لأمر shell).

الوكيل يستخدمها تلقائياً. إذا احتاجت مهمة مفتاح API ووُجد متغير مطابق، يستخدمه بدون سؤال.

<Warning>
  إذا خزّنت سراً كمتغير، فسيراه النموذج اللغوي كنص عادي. هذا مقصود — يحتاج الوكيل القيمة ليعمل بها. استخدم المتغيرات لبيانات الاعتماد التي يحتاج الوكيل للرجوع إليها مباشرة. لبيانات الاعتماد التي تتولاها الإضافات بنفسها (Google OAuth، رمز Notion، إلخ)، استخدم صفحات إعدادات التكاملات بدلاً من ذلك — تلك لا تُرسل أبداً إلى النموذج اللغوي.
</Warning>

<Info>
  القيم مُخزَّنة كنص عادي في `config.json`. وولف فيش يعمل محلياً أولاً ومساحة العمل ملكك. إذا كنت تتحكم في إصدارات مساحة العمل، أضف `config.json` إلى `.gitignore`.
</Info>

## المتغيرات مقابل متغيرات البيئة

المتغيرات ليست متغيرات بيئة النظام. تختلف بطرق مهمة:

|              | متغيرات وولف فيش               | متغيرات بيئة النظام                |
| ------------ | ------------------------------ | ---------------------------------- |
| النطاق       | مساحة عمل وولف فيش فقط         | جلسة نظام التشغيل بالكامل          |
| قابلة للنقل  | نعم، تنتقل مع مساحة العمل      | لا، مرتبطة بالجهاز                 |
| تُدار بواسطة | واجهة الإعدادات أو config.json | ملف تهيئة الصدفة أو إعدادات النظام |
| متاحة لـ     | الوكيل (عبر موجه النظام)       | جميع العمليات                      |

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

## المتغيرات الشائعة

| المتغير              | يُستخدم بواسطة                                  |
| -------------------- | ----------------------------------------------- |
| `OPENAI_API_KEY`     | مزود OpenAI الاحتياطي                           |
| `GITHUB_TOKEN`       | قدرة GitHub (طلبات السحب، المشكلات، المستودعات) |
| `BRAVE_API_KEY`      | قدرة البحث في الويب                             |
| `NOTION_TOKEN`       | تكامل Notion                                    |
| `GOOGLE_API_KEY`     | تكامل Google Workspace                          |
| `TELEGRAM_BOT_TOKEN` | قناة Telegram                                   |

## إضافة متغير

<Tabs>
  <Tab title="عبر واجهة الإعدادات">
    1. افتح **الإعدادات > المتغيرات**
    2. انقر **إضافة متغير**
    3. أدخل الاسم والقيمة وفعّل الحساسية إذا لزم الأمر
    4. انقر **حفظ**
  </Tab>

  <Tab title="عبر config.json">
    عدّل `brain/config.json` مباشرة وأضف إدخالاً إلى مصفوفة `variables`:

    ```json theme={null}
    {
      "name": "MY_API_KEY",
      "value": "your-key-here",
      "sensitive": true
    }
    ```

    يلتقط وولف فيش التغيير في دورة المحادثة التالية (لا حاجة لإعادة التشغيل).
  </Tab>
</Tabs>
