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.