تخطَّ إلى المحتوى

متغيرات البيئة (مرجع وقت التشغيل الحالي)

هذا المرجع مُستمد من مسارات الشيفرة البرمجية الحالية في:

  • packages/coding-agent/src/**
  • packages/ai/src/** (حل المزود/المصادقة المُستخدم من قِبل coding-agent)
  • packages/utils/src/** و packages/tui/src/** حيث تؤثر تلك المتغيرات مباشرة على وقت تشغيل coding-agent

يوثّق هذا المرجع السلوك النشط فقط.

تستخدم معظم عمليات البحث في وقت التشغيل $env من @f5-sales-demo/pi-utils (packages/utils/src/env.ts).

ترتيب تحميل $env:

  1. بيئة العملية الحالية (Bun.env)
  2. ملف .env الخاص بالمشروع ($PWD/.env) للمفاتيح غير المُعيَّنة مسبقاً
  3. ملف .env الخاص بالمجلد الرئيسي (~/.env) للمفاتيح غير المُعيَّنة مسبقاً

قاعدة إضافية في ملفات .env: يتم نسخ مفاتيح XCSH_* إلى مفاتيح PI_* أثناء التحليل.


1) مصادقة النموذج/المزود

Section titled “1) مصادقة النموذج/المزود”

يتم استهلاك هذه المتغيرات عبر getEnvApiKey() (packages/ai/src/stream.ts) ما لم يُذكر خلاف ذلك.

بيانات اعتماد المزود الأساسية

Section titled “بيانات اعتماد المزود الأساسية”
المتغيرالاستخداممطلوب عندملاحظات / الأسبقية
ANTHROPIC_OAUTH_TOKENمصادقة Anthropic APIاستخدام Anthropic مع مصادقة رمز OAuthيأخذ الأسبقية على ANTHROPIC_API_KEY لحل مصادقة المزود
ANTHROPIC_API_KEYمصادقة Anthropic APIاستخدام Anthropic بدون رمز OAuthالبديل الاحتياطي بعد ANTHROPIC_OAUTH_TOKEN
ANTHROPIC_FOUNDRY_API_KEYAnthropic عبر Azure Foundry / بوابة المؤسساتتفعيل CLAUDE_CODE_USE_FOUNDRYيأخذ الأسبقية على ANTHROPIC_OAUTH_TOKEN و ANTHROPIC_API_KEY عند تفعيل وضع Foundry
OPENAI_API_KEYمصادقة OpenAIاستخدام مزودي عائلة OpenAI بدون وسيط apiKey صريحيُستخدم من قِبل مزودي OpenAI Completions/Responses
GEMINI_API_KEYمصادقة Google Geminiاستخدام نماذج مزود googleالمفتاح الأساسي لتعيين مزود Gemini
GOOGLE_API_KEYمصادقة احتياطية لأداة صور Geminiاستخدام أداة gemini_image بدون GEMINI_API_KEYيُستخدم من قِبل المسار الاحتياطي لأداة صور coding-agent
GROQ_API_KEYمصادقة Groqاستخدام نماذج Groq
CEREBRAS_API_KEYمصادقة Cerebrasاستخدام نماذج Cerebras
TOGETHER_API_KEYمصادقة Togetherاستخدام مزود together
HUGGINGFACE_HUB_TOKENمصادقة Hugging Faceاستخدام مزود huggingfaceمتغير بيئة رمز Hugging Face الأساسي
HF_TOKENمصادقة Hugging Faceاستخدام مزود huggingfaceالبديل الاحتياطي عندما يكون HUGGINGFACE_HUB_TOKEN غير مُعيَّن
SYNTHETIC_API_KEYمصادقة Syntheticاستخدام نماذج Synthetic
NVIDIA_API_KEYمصادقة NVIDIAاستخدام مزود nvidia
NANO_GPT_API_KEYمصادقة NanoGPTاستخدام مزود nanogpt
VENICE_API_KEYمصادقة Veniceاستخدام مزود venice
LITELLM_API_KEYمصادقة LiteLLMاستخدام مزود litellmمفتاح وكيل LiteLLM المتوافق مع OpenAI. عند تعيينه مع LITELLM_BASE_URL، يُمكّن التكوين التلقائي لـ models.yml
LM_STUDIO_API_KEYمصادقة LM Studio (اختياري)استخدام مزود lm-studio مع مضيفين مُصادَق عليهمعادةً يعمل LM Studio المحلي بدون مصادقة؛ أي رمز غير فارغ يعمل عند الحاجة لمفتاح
OLLAMA_API_KEYمصادقة Ollama (اختياري)استخدام مزود ollama مع مضيفين مُصادَق عليهمعادةً يعمل Ollama المحلي بدون مصادقة؛ أي رمز غير فارغ يعمل عند الحاجة لمفتاح
LLAMA_CPP_API_KEYمصادقة Ollama (اختياري)استخدام llama-server مع معامل --api-keyعادةً يعمل llama.cpp المحلي بدون مصادقة؛ أي رمز غير فارغ يعمل عند تكوين مفتاح
XIAOMI_API_KEYمصادقة Xiaomi MiMoاستخدام مزود xiaomi
MOONSHOT_API_KEYمصادقة Moonshotاستخدام مزود moonshot
XAI_API_KEYمصادقة xAIاستخدام نماذج xAI
OPENROUTER_API_KEYمصادقة OpenRouterاستخدام نماذج OpenRouterيُستخدم أيضاً من قِبل أداة الصور عندما يكون المزود المفضل/التلقائي هو OpenRouter
MISTRAL_API_KEYمصادقة Mistralاستخدام نماذج Mistral
ZAI_API_KEYمصادقة z.aiاستخدام نماذج z.aiيُستخدم أيضاً من قِبل مزود بحث الويب z.ai
MINIMAX_API_KEYمصادقة MiniMaxاستخدام مزود minimax
MINIMAX_CODE_API_KEYمصادقة MiniMax Codeاستخدام مزود minimax-code
MINIMAX_CODE_CN_API_KEYمصادقة MiniMax Code CNاستخدام مزود minimax-code-cn
OPENCODE_API_KEYمصادقة OpenCodeاستخدام نماذج OpenCode
QIANFAN_API_KEYمصادقة Qianfanاستخدام مزود qianfan
QWEN_OAUTH_TOKENمصادقة Qwen Portalاستخدام qwen-portal مع رمز OAuthيأخذ الأسبقية على QWEN_PORTAL_API_KEY
QWEN_PORTAL_API_KEYمصادقة Qwen Portalاستخدام qwen-portal مع مفتاح APIالبديل الاحتياطي بعد QWEN_OAUTH_TOKEN
ZENMUX_API_KEYمصادقة ZenMuxاستخدام مزود zenmuxيُستخدم لمسارات ZenMux المتوافقة مع OpenAI وAnthropic
VLLM_API_KEYمصادقة/اكتشاف vLLMاستخدام مزود vllm (خوادم محلية متوافقة مع OpenAI)أي قيمة غير فارغة تعمل للخوادم المحلية بدون مصادقة
CURSOR_ACCESS_TOKENمصادقة مزود Cursorاستخدام مزود Cursor
AI_GATEWAY_API_KEYمصادقة Vercel AI Gatewayاستخدام مزود vercel-ai-gateway
CLOUDFLARE_AI_GATEWAY_API_KEYمصادقة Cloudflare AI Gatewayاستخدام مزود cloudflare-ai-gatewayيجب تكوين عنوان URL الأساسي كـ https://gateway.ai.cloudflare.com/v1/<account>/<gateway>/anthropic
المتغيرالاستخدامالسلسلة
COPILOT_GITHUB_TOKENمصادقة مزود GitHub CopilotCOPILOT_GITHUB_TOKENGH_TOKENGITHUB_TOKEN
GH_TOKENبديل Copilot الاحتياطي؛ مصادقة GitHub API في أداة استخراج الويبفي أداة استخراج الويب: GITHUB_TOKENGH_TOKEN
GITHUB_TOKENبديل Copilot الاحتياطي؛ مصادقة GitHub API في أداة استخراج الويبفي أداة استخراج الويب: يُفحص قبل GH_TOKEN

2) تكوين وقت التشغيل الخاص بالمزود

Section titled “2) تكوين وقت التشغيل الخاص بالمزود”

بوابة Anthropic Foundry (Azure / وكيل المؤسسات)

Section titled “بوابة Anthropic Foundry (Azure / وكيل المؤسسات)”

عند تفعيل CLAUDE_CODE_USE_FOUNDRY، تتحول طلبات Anthropic إلى وضع Foundry:

  • يُحل عنوان URL الأساسي من FOUNDRY_BASE_URL (يبقى البديل الاحتياطي هو عنوان URL الأساسي للنموذج/الافتراضي إذا لم يُعيَّن).
  • يصبح حل مفتاح API لمزود anthropic: ANTHROPIC_FOUNDRY_API_KEYANTHROPIC_OAUTH_TOKENANTHROPIC_API_KEY.
  • يتم تحليل ANTHROPIC_CUSTOM_HEADERS كأزواج key: value مفصولة بفاصلة/سطر جديد ودمجها في ترويسات الطلب.
  • يمكن حقن مواد TLS للعميل/الخادم من قيم البيئة: NODE_EXTRA_CA_CERTS، CLAUDE_CODE_CLIENT_CERT، CLAUDE_CODE_CLIENT_KEY. كل منها يقبل إما:
    • مسار نظام ملفات لمحتوى PEM، أو
    • PEM مضمّن (بما في ذلك تسلسلات \n المُهرَّبة).
المتغيرنوع القيمةالسلوك
CLAUDE_CODE_USE_FOUNDRYسلسلة شبيهة بالقيمة المنطقية (1، true، yes، on)يُفعّل وضع Foundry لمزود Anthropic
FOUNDRY_BASE_URLسلسلة URLعنوان URL الأساسي لنقطة نهاية Anthropic في وضع Foundry
ANTHROPIC_FOUNDRY_API_KEYسلسلة رمزيُستخدم لـ Authorization: Bearer <token>
ANTHROPIC_CUSTOM_HEADERSسلسلة قائمة ترويساتترويسات إضافية؛ التنسيق header-a: value, header-b: value أو مفصولة بأسطر جديدة
NODE_EXTRA_CA_CERTSمسار PEM أو PEM مضمّنسلسلة CA إضافية للتحقق من شهادة الخادم
CLAUDE_CODE_CLIENT_CERTمسار PEM أو PEM مضمّنشهادة عميل mTLS
CLAUDE_CODE_CLIENT_KEYمسار PEM أو PEM مضمّنمفتاح خاص لعميل mTLS (يجب أن يُقرن بالشهادة)
المتغيرالافتراضي / السلوك
AWS_REGIONمصدر المنطقة الأساسي
AWS_DEFAULT_REGIONالبديل الاحتياطي إذا لم يُعيَّن AWS_REGION
AWS_PROFILEيُفعّل مسار مصادقة الملف الشخصي المُسمى
AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEYيُفعّل مسار مصادقة مفتاح IAM
AWS_BEARER_TOKEN_BEDROCKيُفعّل مسار مصادقة رمز الحامل
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI / AWS_CONTAINER_CREDENTIALS_FULL_URIيُفعّل مسار بيانات اعتماد مهمة ECS
AWS_WEB_IDENTITY_TOKEN_FILE + AWS_ROLE_ARNيُفعّل مسار مصادقة هوية الويب
AWS_BEDROCK_SKIP_AUTHإذا كان 1، يحقن بيانات اعتماد وهمية (سيناريوهات الوكيل/بدون مصادقة)
AWS_BEDROCK_FORCE_HTTP1إذا كان 1، يفرض معالج طلبات Node HTTP/1

البديل الاحتياطي للمنطقة في شيفرة المزود: options.regionAWS_REGIONAWS_DEFAULT_REGIONus-east-1.

المتغيرالافتراضي / السلوك
AZURE_OPENAI_API_KEYمطلوب ما لم يُمرر مفتاح API كخيار
AZURE_OPENAI_API_VERSIONالافتراضي v1
AZURE_OPENAI_BASE_URLتجاوز مباشر لعنوان URL الأساسي
AZURE_OPENAI_RESOURCE_NAMEيُستخدم لبناء عنوان URL الأساسي: https://<resource>.openai.azure.com/openai/v1
AZURE_OPENAI_DEPLOYMENT_NAME_MAPسلسلة تعيين اختيارية: modelId=deploymentName,model2=deployment2

حل عنوان URL الأساسي: خيار azureBaseUrl → بيئة AZURE_OPENAI_BASE_URL → اسم المورد من الخيار/البيئة → model.baseUrl.

المتغيرمطلوب؟ملاحظات
GOOGLE_CLOUD_PROJECTنعم (ما لم يُمرر في الخيارات)البديل الاحتياطي: GCLOUD_PROJECT
GCLOUD_PROJECTبديل احتياطييُستخدم كمصدر بديل لمعرّف المشروع
GOOGLE_CLOUD_LOCATIONنعم (ما لم يُمرر في الخيارات)لا يوجد افتراضي في المزود
GOOGLE_APPLICATION_CREDENTIALSمشروطإذا عُيِّن، يجب أن يكون الملف موجوداً؛ وإلا يُفحص مسار ADC الاحتياطي (~/.config/gcloud/application_default_credentials.json)
المتغيرالافتراضي / السلوك
KIMI_CODE_OAUTH_HOSTتجاوز مضيف OAuth الأساسي
KIMI_OAUTH_HOSTتجاوز مضيف OAuth الاحتياطي
KIMI_CODE_BASE_URLيتجاوز عنوان URL الأساسي لنقطة نهاية استخدام Kimi (usage/kimi.ts)

سلسلة مضيف OAuth: KIMI_CODE_OAUTH_HOSTKIMI_OAUTH_HOSThttps://auth.kimi.com.

المتغيرالافتراضي / السلوك
PI_AI_ANTIGRAVITY_VERSIONيتجاوز علامة إصدار وكيل المستخدم Antigravity في مزود Gemini CLI

استجابات OpenAI Codex (عناصر التحكم بالميزات/التصحيح)

Section titled “استجابات OpenAI Codex (عناصر التحكم بالميزات/التصحيح)”
المتغيرالسلوك
PI_CODEX_DEBUG1/true يُفعّل تسجيل تصحيح مزود Codex
PI_CODEX_WEBSOCKET1/true يُفعّل تفضيل نقل websocket
PI_CODEX_WEBSOCKET_V21/true يُفعّل مسار websocket v2
PI_CODEX_WEBSOCKET_IDLE_TIMEOUT_MSتجاوز عدد صحيح موجب (الافتراضي 300000)
PI_CODEX_WEBSOCKET_RETRY_BUDGETتجاوز عدد صحيح غير سالب (الافتراضي 5)
PI_CODEX_WEBSOCKET_RETRY_DELAY_MSتجاوز قاعدة التراجع الأسي كعدد صحيح موجب (الافتراضي 500)
المتغيرالسلوك
DEBUG_CURSORيُفعّل سجلات تصحيح المزود؛ 2/verbose لمقتطفات حمولة مفصلة
DEBUG_CURSOR_LOGمسار ملف اختياري لإخراج سجل تصحيح JSONL

مفتاح توافق ذاكرة التخزين المؤقت للموجهات

Section titled “مفتاح توافق ذاكرة التخزين المؤقت للموجهات”
المتغيرالسلوك
PI_CACHE_RETENTIONإذا كان long، يُفعّل الاحتفاظ الطويل حيث يكون مدعوماً (anthropic، openai-responses، حل احتفاظ Bedrock)

3) النظام الفرعي لبحث الويب

Section titled “3) النظام الفرعي لبحث الويب”

بيانات اعتماد مزود البحث

Section titled “بيانات اعتماد مزود البحث”
المتغيريُستخدم من قِبل
EXA_API_KEYمزود بحث Exa وأدوات Exa MCP
BRAVE_API_KEYمزود بحث Brave
PERPLEXITY_API_KEYمزود بحث Perplexity في وضع مفتاح API
TAVILY_API_KEYمزود بحث Tavily
ZAI_API_KEYمزود بحث z.ai (يفحص أيضاً OAuth المُخزَّن في agent.db)
OPENAI_API_KEY / Codex OAuth في DBتوفر/مصادقة مزود بحث Codex

سلسلة مصادقة بحث الويب من Anthropic

Section titled “سلسلة مصادقة بحث الويب من Anthropic”

يحل packages/coding-agent/src/web/search/auth.ts بيانات اعتماد بحث الويب من Anthropic بهذا الترتيب:

  1. ANTHROPIC_SEARCH_API_KEY (+ اختيارياً ANTHROPIC_SEARCH_BASE_URL)
  2. إدخال مزود models.json مع api: "anthropic-messages"
  3. بيانات اعتماد Anthropic OAuth من agent.db (يجب ألا تنتهي صلاحيتها خلال مهلة 5 دقائق)
  4. بديل Anthropic العام الاحتياطي: مفتاح المزود (ANTHROPIC_FOUNDRY_API_KEY/ANTHROPIC_OAUTH_TOKEN/ANTHROPIC_API_KEY) + اختيارياً ANTHROPIC_BASE_URL (FOUNDRY_BASE_URL عند تفعيل وضع Foundry)

المتغيرات ذات الصلة:

المتغيرالافتراضي / السلوك
ANTHROPIC_SEARCH_API_KEYمفتاح بحث صريح بأعلى أسبقية
ANTHROPIC_SEARCH_BASE_URLالافتراضي https://api.anthropic.com عند حذفه
ANTHROPIC_SEARCH_MODELالافتراضي claude-haiku-4-5
ANTHROPIC_BASE_URLعنوان URL أساسي عام احتياطي لمسار المصادقة من المستوى 4

علامة سلوك تدفق Perplexity OAuth

Section titled “علامة سلوك تدفق Perplexity OAuth”
المتغيرالسلوك
PI_AUTH_NO_BORROWإذا عُيِّن، يُعطّل مسار استعارة رمز التطبيق الأصلي في macOS في تدفق تسجيل دخول Perplexity

4) أدوات Python ووقت تشغيل النواة

Section titled “4) أدوات Python ووقت تشغيل النواة”
المتغيرالافتراضي / السلوك
PI_PYتجاوز وضع أداة Python: 0/bash=bash-only، 1/py=ipy-only، mix/both=both؛ يتم تجاهل القيم غير الصالحة
PI_PYTHON_SKIP_CHECKإذا كان 1، يتخطى فحوصات توفر نواة Python/فحوصات الإحماء
PI_PYTHON_GATEWAY_URLإذا عُيِّن، يستخدم بوابة نواة خارجية بدلاً من البوابة المشتركة المحلية
PI_PYTHON_GATEWAY_TOKENرمز مصادقة اختياري للبوابة الخارجية (Authorization: token <value>)
PI_PYTHON_IPC_TRACEإذا كان 1، يُفعّل مسار تتبع IPC منخفض المستوى في وحدة النواة
VIRTUAL_ENVمسار بيئة افتراضية بأعلى أسبقية لحل وقت تشغيل Python

سلوك شرطي إضافي:

  • إذا كان BUN_ENV=test أو NODE_ENV=test، تُعامل فحوصات توفر Python على أنها ناجحة ويُتخطى الإحماء.
  • تصفية بيئة Python ترفض مفاتيح API الشائعة وتسمح بمتغيرات الأساس الآمنة + بادئات LC_، XDG_، PI_.

5) مفاتيح تبديل سلوك الوكيل/وقت التشغيل

Section titled “5) مفاتيح تبديل سلوك الوكيل/وقت التشغيل”
المتغيرالافتراضي / السلوك
PI_SMOL_MODELتجاوز مؤقت لدور النموذج smol (خيار CLI --smol يأخذ الأسبقية)
PI_SLOW_MODELتجاوز مؤقت لدور النموذج slow (خيار CLI --slow يأخذ الأسبقية)
PI_PLAN_MODELتجاوز مؤقت لدور النموذج plan (خيار CLI --plan يأخذ الأسبقية)
PI_NO_TITLEإذا عُيِّن (أي قيمة غير فارغة)، يُعطّل التوليد التلقائي لعنوان الجلسة عند أول رسالة مستخدم
NULL_PROMPTإذا كان true، يُعيد منشئ موجه النظام سلسلة فارغة
PI_BLOCKED_AGENTيحظر نوع وكيل فرعي محدد في أداة المهام
PI_SUBPROCESS_CMDيتجاوز أمر إنشاء الوكيل الفرعي (تجاوز حل xcsh / xcsh.cmd)
PI_TASK_MAX_OUTPUT_BYTESأقصى عدد بايتات مُلتقطة لكل وكيل فرعي (الافتراضي 500000)
PI_TASK_MAX_OUTPUT_LINESأقصى عدد أسطر مُلتقطة لكل وكيل فرعي (الافتراضي 5000)
PI_TIMINGإذا كان 1، يُفعّل سجلات أدوات توقيت بدء التشغيل/الأدوات
PI_DEBUG_STARTUPيُفعّل طباعات تصحيح مرحلة بدء التشغيل إلى stderr في مسارات بدء تشغيل متعددة
PI_PACKAGE_DIRيتجاوز حل دليل أصول الحزمة الأساسي (بحث مسار المستندات/الأمثلة/سجل التغييرات)
PI_DISABLE_LSPMUXإذا كان 1، يُعطّل اكتشاف/تكامل lspmux ويفرض إنشاء خادم LSP مباشر
LITELLM_BASE_URLعنوان URL الأساسي لوكيل LiteLLM. عند تعيينه مع LITELLM_API_KEY، يُشغّل التوليد التلقائي لـ models.yml عند أول تشغيل والإصلاح الذاتي عند كل بدء تشغيل
LM_STUDIO_BASE_URLتجاوز عنوان URL الأساسي الافتراضي الضمني لاكتشاف LM Studio (http://127.0.0.1:1234/v1 إذا لم يُعيَّن)
OLLAMA_BASE_URLتجاوز عنوان URL الأساسي الافتراضي الضمني لاكتشاف Ollama (http://127.0.0.1:11434 إذا لم يُعيَّن)
LLAMA_CPP_BASE_URLتجاوز عنوان URL الأساسي الافتراضي الضمني لاكتشاف Llama.cpp (http://127.0.0.1:8080 إذا لم يُعيَّن)
PI_EDIT_VARIANTإذا كان hashline، يفرض وضع عرض القراءة/البحث بنمط hashline عند توفر أداة التحرير
PI_NO_PTYإذا كان 1، يُعطّل مسار PTY التفاعلي لأداة bash

يُعيَّن PI_NO_PTY أيضاً داخلياً عند استخدام خيار CLI --no-pty.


6) مسارات جذر التخزين والتكوين

Section titled “6) مسارات جذر التخزين والتكوين”

تُستهلك هذه المتغيرات عبر @f5-sales-demo/pi-utils/dirs وتؤثر على مكان تخزين coding-agent للبيانات.

المتغيرالافتراضي / السلوك
PI_CONFIG_DIRاسم دليل جذر التكوين تحت المجلد الرئيسي (الافتراضي .xcsh)
PI_CODING_AGENT_DIRتجاوز كامل لدليل الوكيل (الافتراضي ~/<PI_CONFIG_DIR or .xcsh>/agent)
PWDيُستخدم عند مطابقة دليل العمل الحالي الكنسي في مساعدات المسارات

7) بيئة تنفيذ الصدفة/الأدوات

Section titled “7) بيئة تنفيذ الصدفة/الأدوات”

(من packages/utils/src/procmgr.ts وتكامل أداة bash في coding-agent.)

المتغيرالسلوك
PI_BASH_NO_CIيمنع الحقن التلقائي لـ CI=true في بيئة الصدفة المُنشأة
CLAUDE_BASH_NO_CIاسم مستعار قديم احتياطي لـ PI_BASH_NO_CI
PI_BASH_NO_LOGINمخصص لتعطيل وضع صدفة تسجيل الدخول
CLAUDE_BASH_NO_LOGINاسم مستعار قديم احتياطي لـ PI_BASH_NO_LOGIN
PI_SHELL_PREFIXغلاف بادئة أمر اختياري
CLAUDE_CODE_SHELL_PREFIXاسم مستعار قديم احتياطي لـ PI_SHELL_PREFIX
VISUALأمر المحرر الخارجي المفضل
EDITORأمر المحرر الخارجي الاحتياطي

ملاحظة حول التنفيذ الحالي: يتم قراءة PI_BASH_NO_LOGIN/CLAUDE_BASH_NO_LOGIN، لكن getShellArgs() الحالية تُعيد ['-l','-c'] في كلا الفرعين (بدون تأثير فعلي حالياً).


8) واجهة المستخدم/السمة/اكتشاف الجلسة (بيئة مُكتشفة تلقائياً)

Section titled “8) واجهة المستخدم/السمة/اكتشاف الجلسة (بيئة مُكتشفة تلقائياً)”

تُقرأ هذه المتغيرات كإشارات وقت تشغيل؛ وعادةً يتم تعيينها من قِبل الطرفية/نظام التشغيل بدلاً من التكوين اليدوي.

المتغيرالاستخدام
COLORTERM، TERM، WT_SESSIONاكتشاف قدرة الألوان (وضع ألوان السمة)
COLORFGBGاكتشاف تلقائي لخلفية الطرفية فاتحة/داكنة
TERM_PROGRAM، TERM_PROGRAM_VERSION، TERMINAL_EMULATORهوية الطرفية في موجه/سياق النظام
KDE_FULL_SESSION، XDG_CURRENT_DESKTOP، DESKTOP_SESSION، XDG_SESSION_DESKTOP، GDMSESSION، WINDOWMANAGERاكتشاف سطح المكتب/مدير النوافذ في موجه/سياق النظام
KITTY_WINDOW_ID، TMUX_PANE، TERM_SESSION_ID، WT_SESSIONمعرّفات تتبع جلسة مستقرة لكل طرفية
SHELL، ComSpec، TERM_PROGRAM، TERMتشخيصات معلومات النظام
APPDATA، XDG_CONFIG_HOMEحل مسار تكوين lspmux
HOMEاختصار المسار في واجهة أوامر MCP

9) علامات المُحمّل الأصلي/التصحيح

Section titled “9) علامات المُحمّل الأصلي/التصحيح”
المتغيرالسلوك
PI_DEVيُفعّل تشخيصات تحميل الإضافة الأصلية المُفصّلة في packages/natives

10) علامات وقت تشغيل TUI (حزمة مشتركة، تؤثر على تجربة المستخدم في coding-agent)

Section titled “10) علامات وقت تشغيل TUI (حزمة مشتركة، تؤثر على تجربة المستخدم في coding-agent)”
المتغيرالسلوك
PI_NOTIFICATIONSoff / 0 / false تمنع إشعارات سطح المكتب
PI_TUI_WRITE_LOGإذا عُيِّن، يُسجّل كتابات TUI في ملف
PI_HARDWARE_CURSORإذا كان 1، يُفعّل وضع مؤشر الأجهزة
PI_CLEAR_ON_SHRINKإذا كان 1، يمسح الصفوف الفارغة عند تقلّص المحتوى
PI_DEBUG_REDRAWإذا كان 1، يُفعّل تسجيل تصحيح إعادة الرسم
PI_TUI_DEBUGإذا كان 1، يُفعّل مسار تفريغ تصحيح TUI العميق

11) عناصر التحكم بتوليد الالتزامات

Section titled “11) عناصر التحكم بتوليد الالتزامات”
المتغيرالسلوك
PI_COMMIT_TEST_FALLBACKإذا كان true (غير حساس لحالة الأحرف)، يفرض مسار توليد الالتزام الاحتياطي
PI_COMMIT_NO_FALLBACKإذا كان true، يُعطّل البديل الاحتياطي عندما لا يُعيد الوكيل أي اقتراح
PI_COMMIT_MAP_REDUCEإذا كان false، يُعطّل مسار تحليل الالتزام بنمط map-reduce
DEBUGإذا عُيِّن، تُطبع تتبعات مكدس أخطاء وكيل الالتزام

المتغيرات ذات الحساسية الأمنية

Section titled “المتغيرات ذات الحساسية الأمنية”

تعامل مع هذه المتغيرات كأسرار؛ لا تُسجّلها أو تُرسلها إلى المستودع:

  • مفاتيح المزود/API وبيانات اعتماد OAuth/رمز الحامل (جميع *_API_KEY، *_TOKEN، رموز الوصول/التحديث لـ OAuth)
  • بيانات اعتماد السحابة (AWS_*، مسار GOOGLE_APPLICATION_CREDENTIALS قد يكشف مواد حساب الخدمة)
  • متغيرات مصادقة البحث/المزود (EXA_API_KEY، BRAVE_API_KEY، PERPLEXITY_API_KEY، مفاتيح بحث Anthropic)
  • مواد mTLS لـ Foundry (CLAUDE_CODE_CLIENT_CERT، CLAUDE_CODE_CLIENT_KEY، NODE_EXTRA_CA_CERTS عندما يشير إلى حزم CA خاصة)

يقوم وقت تشغيل Python أيضاً بتجريد العديد من متغيرات المفاتيح الشائعة صراحةً قبل إنشاء عمليات نواة فرعية (packages/coding-agent/src/ipy/runtime.ts).