Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

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

يقرأ PRX متغيرات البيئة لمفاتيح API ومسارات الإعدادات وتجاوزات وقت التشغيل. تأخذ متغيرات البيئة الأولوية على القيم في config.toml للحقول الحساسة أمنيًا مثل مفاتيح API.

مسارات الإعدادات

المتغيرالقيمة الافتراضيةالوصف
OPENPRX_CONFIG_DIR~/.openprxتجاوز مجلد الإعدادات. يبحث PRX عن config.toml وconfig.d/ داخل هذا المجلد
OPENPRX_WORKSPACE~/.openprx/workspaceتجاوز مجلد مساحة العمل (الذاكرة، الجلسات، البيانات)

عند تعيين OPENPRX_CONFIG_DIR، يأخذ الأولوية على OPENPRX_WORKSPACE وعلامة مساحة العمل النشطة.

ترتيب تحديد مجلد الإعدادات:

  1. OPENPRX_CONFIG_DIR (الأولوية الأعلى)
  2. OPENPRX_WORKSPACE
  3. علامة مساحة العمل النشطة (~/.openprx/active_workspace.toml)
  4. ~/.openprx/ (الافتراضي)

مفاتيح API للمزودين

لكل مزود متغير بيئة مخصص. يتحقق PRX منها قبل الرجوع إلى حقل api_key في config.toml.

المزودون الأساسيون

المتغيرالمزود
ANTHROPIC_API_KEYAnthropic (Claude)
OPENAI_API_KEYOpenAI
GEMINI_API_KEYGoogle Gemini
GOOGLE_API_KEYGoogle Gemini (بديل)
OPENROUTER_API_KEYOpenRouter
OLLAMA_API_KEYOllama (عادة غير مطلوب)
GLM_API_KEYZhipu GLM
ZAI_API_KEYZ.AI
MINIMAX_API_KEYMinimax
MOONSHOT_API_KEYMoonshot
DASHSCOPE_API_KEYAlibaba Qwen (DashScope)

رموز OAuth

بعض المزودين يدعمون مصادقة OAuth بالإضافة إلى (أو بدلاً من) مفاتيح API:

المتغيرالمزودالوصف
ANTHROPIC_OAUTH_TOKENAnthropicرمز OAuth لـ Claude Code
CLAUDE_CODE_ACCESS_TOKENAnthropicرمز وصول Claude Code (بديل)
CLAUDE_CODE_REFRESH_TOKENAnthropicرمز تحديث Claude Code للتجديد التلقائي
MINIMAX_OAUTH_TOKENMinimaxرمز وصول OAuth لـ Minimax
MINIMAX_OAUTH_REFRESH_TOKENMinimaxرمز تحديث OAuth لـ Minimax
MINIMAX_OAUTH_CLIENT_IDMinimaxتجاوز معرّف عميل OAuth
MINIMAX_OAUTH_REGIONMinimaxمنطقة OAuth (global أو cn)
QWEN_OAUTH_TOKENQwenرمز وصول OAuth لـ Qwen
QWEN_OAUTH_REFRESH_TOKENQwenرمز تحديث OAuth لـ Qwen
QWEN_OAUTH_CLIENT_IDQwenتجاوز معرّف عميل OAuth لـ Qwen
QWEN_OAUTH_RESOURCE_URLQwenتجاوز عنوان URL لمورد OAuth لـ Qwen

المزودون المتوافقون / الطرف الثالث

المتغيرالمزود
GROQ_API_KEYGroq
MISTRAL_API_KEYMistral
DEEPSEEK_API_KEYDeepSeek
XAI_API_KEYxAI (Grok)
TOGETHER_API_KEYTogether AI
FIREWORKS_API_KEYFireworks AI
PERPLEXITY_API_KEYPerplexity
COHERE_API_KEYCohere
NVIDIA_API_KEYNVIDIA NIM
VENICE_API_KEYVenice
LLAMACPP_API_KEYllama.cpp server
KIMI_CODE_API_KEYKimi Code (Moonshot)
QIANFAN_API_KEYBaidu Qianfan
CLOUDFLARE_API_KEYCloudflare AI
VERCEL_API_KEYVercel AI

الاحتياطي

المتغيرالوصف
API_KEYاحتياطي عام يُستخدم عند عدم تعيين متغير خاص بالمزود

متغيرات الأدوات والقنوات

المتغيرالوصف
BRAVE_API_KEYمفتاح API لـ Brave Search (لـ [web_search] مع provider = "brave")
GITHUB_TOKENرمز وصول شخصي لـ GitHub (يُستخدم من قبل المهارات والتكاملات)
GOOGLE_APPLICATION_CREDENTIALSمسار ملف ADC لـ Google Cloud (Gemini عبر حساب الخدمة)

متغيرات وقت التشغيل

المتغيرالوصف
OPENPRX_VERSIONتجاوز سلسلة الإصدار المُبلغ عنها
OPENPRX_AUTOSTART_CHANNELSعيّن إلى "1" لبدء مستمعي القنوات تلقائيًا عند الإقلاع
OPENPRX_EVOLUTION_CONFIGتجاوز مسار إعدادات التطور
OPENPRX_EVOLUTION_DEBUG_RAWتفعيل تسجيل تصحيح التطور الخام

استبدال المتغيرات في الإعدادات

لا يوسّع PRX بنية ${VAR_NAME} أصليًا داخل config.toml. ومع ذلك، يمكنك تحقيق استبدال متغيرات البيئة من خلال هذه الطرق:

1. استخدام متغيرات البيئة مباشرة

بالنسبة لمفاتيح API، يتحقق PRX تلقائيًا من متغير البيئة المقابل. لا تحتاج لإشارتها في ملف الإعدادات:

toml
# لا حاجة لـ api_key -- يتحقق PRX من ANTHROPIC_API_KEY تلقائيًا
default_provider = "anthropic"
default_model = "anthropic/claude-sonnet-4-6"

2. استخدام غلاف صدفة

أنشئ config.toml من قالب باستخدام envsubst أو ما شابه:

bash
envsubst < config.toml.template > ~/.openprx/config.toml

3. استخدام إعدادات مقسّمة مع الأسرار

احتفظ بالأسرار في ملف منفصل يُنشأ من متغيرات البيئة وقت النشر:

bash
# إنشاء جزء الأسرار
cat > ~/.openprx/config.d/secrets.toml << EOF
api_key = "$ANTHROPIC_API_KEY"

[channels_config.telegram]
bot_token = "$TELEGRAM_BOT_TOKEN"
EOF

دعم ملفات .env

لا يحمّل PRX ملفات .env تلقائيًا. إذا كنت تحتاج دعم ملفات .env، استخدم إحدى هذه الطرق:

مع systemd

أضف EnvironmentFile إلى وحدة الخدمة:

ini
[Service]
EnvironmentFile=/opt/openprx/.env
ExecStart=/usr/local/bin/openprx

مع غلاف صدفة

حمّل ملف .env قبل تشغيل PRX:

bash
#!/bin/bash
set -a
source /opt/openprx/.env
set +a
exec openprx

مع direnv

إذا كنت تستخدم direnv، ضع ملف .envrc في مجلد العمل:

bash
# .envrc
export ANTHROPIC_API_KEY="sk-ant-..."
export TELEGRAM_BOT_TOKEN="123456:ABC-DEF..."

توصيات الأمان

  • لا تضع مفاتيح API أبدًا في نظام التحكم بالإصدارات. استخدم متغيرات البيئة أو الأسرار المشفرة.
  • يشفّر نظام [secrets] في PRX الحقول الحساسة في config.toml باستخدام ChaCha20-Poly1305. فعّله بـ [secrets] encrypt = true (مفعّل افتراضيًا).
  • يستبعد .dockerignore المرفق مع PRX ملفات .env و.env.* من بناء الحاويات.
  • تحجب سجلات التدقيق مفاتيح API والرموز تلقائيًا.
  • عند استخدام OPENPRX_CONFIG_DIR للإشارة إلى مجلد مشترك، تأكد من الصلاحيات المناسبة (chmod 600 config.toml).

Released under the Apache-2.0 License.