ข้ามไปยังเนื้อหา

ตัวแปรสภาพแวดล้อม (เอกสารอ้างอิงรันไทม์ปัจจุบัน)

เอกสารอ้างอิงนี้ได้รับการรวบรวมจากเส้นทางโค้ดปัจจุบันใน:

  • packages/coding-agent/src/**
  • packages/ai/src/** (การแก้ไข provider/auth ที่ใช้โดย 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 ของ Home (~/.env) สำหรับคีย์ที่ยังไม่ได้ตั้งค่า

กฎเพิ่มเติมในไฟล์ .env: คีย์ XCSH_* จะถูกสะท้อนไปยังคีย์ PI_* ระหว่างการแยกวิเคราะห์


ตัวแปรเหล่านี้ถูกใช้งานผ่าน getEnvApiKey() (packages/ai/src/stream.ts) เว้นแต่จะระบุไว้เป็นอย่างอื่น

ตัวแปรใช้สำหรับจำเป็นเมื่อหมายเหตุ / ลำดับความสำคัญ
ANTHROPIC_OAUTH_TOKENการพิสูจน์ตัวตน Anthropic APIใช้ Anthropic ด้วยการพิสูจน์ตัวตนแบบ OAuth tokenมีลำดับความสำคัญเหนือ ANTHROPIC_API_KEY สำหรับการแก้ไข provider auth
ANTHROPIC_API_KEYการพิสูจน์ตัวตน Anthropic APIใช้ Anthropic โดยไม่มี OAuth tokenFallback หลังจาก ANTHROPIC_OAUTH_TOKEN
ANTHROPIC_FOUNDRY_API_KEYAnthropic ผ่าน Azure Foundry / enterprise gatewayเปิดใช้งาน CLAUDE_CODE_USE_FOUNDRYมีลำดับความสำคัญเหนือ ANTHROPIC_OAUTH_TOKEN และ ANTHROPIC_API_KEY เมื่อเปิดใช้งาน Foundry mode
OPENAI_API_KEYการพิสูจน์ตัวตน OpenAIใช้ provider ในตระกูล OpenAI โดยไม่มีอาร์กิวเมนต์ apiKey ที่ระบุชัดเจนใช้โดย OpenAI Completions/Responses providers
GEMINI_API_KEYการพิสูจน์ตัวตน Google Geminiใช้โมเดล provider googleคีย์หลักสำหรับการแมป Gemini provider
GOOGLE_API_KEYFallback สำหรับการพิสูจน์ตัวตนของ Gemini image toolใช้เครื่องมือ gemini_image โดยไม่มี GEMINI_API_KEYใช้โดย fallback path ของ image tool ใน coding-agent
GROQ_API_KEYการพิสูจน์ตัวตน Groqใช้โมเดล Groq
CEREBRAS_API_KEYการพิสูจน์ตัวตน Cerebrasใช้โมเดล Cerebras
TOGETHER_API_KEYการพิสูจน์ตัวตน Togetherใช้ provider together
HUGGINGFACE_HUB_TOKENการพิสูจน์ตัวตน Hugging Faceใช้ provider huggingfaceตัวแปร env token หลักของ Hugging Face
HF_TOKENการพิสูจน์ตัวตน Hugging Faceใช้ provider huggingfaceFallback เมื่อ HUGGINGFACE_HUB_TOKEN ไม่ได้ตั้งค่า
SYNTHETIC_API_KEYการพิสูจน์ตัวตน Syntheticใช้โมเดล Synthetic
NVIDIA_API_KEYการพิสูจน์ตัวตน NVIDIAใช้ provider nvidia
NANO_GPT_API_KEYการพิสูจน์ตัวตน NanoGPTใช้ provider nanogpt
VENICE_API_KEYการพิสูจน์ตัวตน Veniceใช้ provider venice
LITELLM_API_KEYการพิสูจน์ตัวตน LiteLLMใช้ provider litellmคีย์ LiteLLM proxy ที่เข้ากันได้กับ OpenAI เมื่อตั้งค่าพร้อมกับ LITELLM_BASE_URL จะเปิดใช้งานการกำหนดค่าอัตโนมัติของ models.yml
LM_STUDIO_API_KEYการพิสูจน์ตัวตน LM Studio (ไม่บังคับ)ใช้ provider lm-studio กับ host ที่ต้องการการพิสูจน์ตัวตนLM Studio ในเครื่องส่วนใหญ่จะทำงานโดยไม่มีการพิสูจน์ตัวตน โทเค็นที่ไม่ว่างเปล่าใดๆ จะทำงานได้เมื่อต้องใช้คีย์
OLLAMA_API_KEYการพิสูจน์ตัวตน Ollama (ไม่บังคับ)ใช้ provider ollama กับ host ที่ต้องการการพิสูจน์ตัวตนOllama ในเครื่องส่วนใหญ่จะทำงานโดยไม่มีการพิสูจน์ตัวตน โทเค็นที่ไม่ว่างเปล่าใดๆ จะทำงานได้เมื่อต้องใช้คีย์
LLAMA_CPP_API_KEYการพิสูจน์ตัวตน Ollama (ไม่บังคับ)ใช้ llama-server พร้อมพารามิเตอร์ --api-keyllama.cpp ในเครื่องส่วนใหญ่จะทำงานโดยไม่มีการพิสูจน์ตัวตน โทเค็นที่ไม่ว่างเปล่าใดๆ จะทำงานได้เมื่อกำหนดค่าคีย์ไว้
XIAOMI_API_KEYการพิสูจน์ตัวตน Xiaomi MiMoใช้ provider xiaomi
MOONSHOT_API_KEYการพิสูจน์ตัวตน Moonshotใช้ provider moonshot
XAI_API_KEYการพิสูจน์ตัวตน xAIใช้โมเดล xAI
OPENROUTER_API_KEYการพิสูจน์ตัวตน OpenRouterใช้โมเดล OpenRouterยังใช้โดย image tool เมื่อ preferred/auto provider คือ OpenRouter
MISTRAL_API_KEYการพิสูจน์ตัวตน Mistralใช้โมเดล Mistral
ZAI_API_KEYการพิสูจน์ตัวตน z.aiใช้โมเดล z.aiยังใช้โดย z.ai web search provider
MINIMAX_API_KEYการพิสูจน์ตัวตน MiniMaxใช้ provider minimax
MINIMAX_CODE_API_KEYการพิสูจน์ตัวตน MiniMax Codeใช้ provider minimax-code
MINIMAX_CODE_CN_API_KEYการพิสูจน์ตัวตน MiniMax Code CNใช้ provider minimax-code-cn
OPENCODE_API_KEYการพิสูจน์ตัวตน OpenCodeใช้โมเดล OpenCode
QIANFAN_API_KEYการพิสูจน์ตัวตน Qianfanใช้ provider qianfan
QWEN_OAUTH_TOKENการพิสูจน์ตัวตน Qwen Portalใช้ qwen-portal ด้วย OAuth tokenมีลำดับความสำคัญเหนือ QWEN_PORTAL_API_KEY
QWEN_PORTAL_API_KEYการพิสูจน์ตัวตน Qwen Portalใช้ qwen-portal ด้วย API keyFallback หลังจาก QWEN_OAUTH_TOKEN
ZENMUX_API_KEYการพิสูจน์ตัวตน ZenMuxใช้ provider zenmuxใช้สำหรับเส้นทาง ZenMux OpenAI และ Anthropic-compatible
VLLM_API_KEYการพิสูจน์ตัวตน vLLM / เปิดใช้งานการค้นหาใช้ provider vllm (local OpenAI-compatible servers)ค่าที่ไม่ว่างเปล่าใดๆ จะทำงานได้สำหรับ local server ที่ไม่ต้องการการพิสูจน์ตัวตน
CURSOR_ACCESS_TOKENการพิสูจน์ตัวตน Cursor providerใช้ Cursor provider
AI_GATEWAY_API_KEYการพิสูจน์ตัวตน Vercel AI Gatewayใช้ provider vercel-ai-gateway
CLOUDFLARE_AI_GATEWAY_API_KEYการพิสูจน์ตัวตน Cloudflare AI Gatewayใช้ provider cloudflare-ai-gatewayBase URL ต้องกำหนดค่าเป็น https://gateway.ai.cloudflare.com/v1/<account>/<gateway>/anthropic
ตัวแปรใช้สำหรับห่วงโซ่
COPILOT_GITHUB_TOKENการพิสูจน์ตัวตน GitHub Copilot providerCOPILOT_GITHUB_TOKENGH_TOKENGITHUB_TOKEN
GH_TOKENFallback ของ Copilot; การพิสูจน์ตัวตน GitHub API ใน web scraperใน web scraper: GITHUB_TOKENGH_TOKEN
GITHUB_TOKENFallback ของ Copilot; การพิสูจน์ตัวตน GitHub API ใน web scraperใน web scraper: ตรวจสอบก่อน GH_TOKEN

เมื่อเปิดใช้งาน CLAUDE_CODE_USE_FOUNDRY คำขอ Anthropic จะเปลี่ยนไปใช้ Foundry mode:

  • Base URL แก้ไขจาก FOUNDRY_BASE_URL (fallback ยังคงเป็น model/default base URL หากไม่ได้ตั้งค่า)
  • การแก้ไข API key สำหรับ provider anthropic จะกลายเป็น: ANTHROPIC_FOUNDRY_API_KEYANTHROPIC_OAUTH_TOKENANTHROPIC_API_KEY
  • ANTHROPIC_CUSTOM_HEADERS ถูกแยกวิเคราะห์เป็นคู่ key: value ที่คั่นด้วยเครื่องหมายจุลภาค/บรรทัดใหม่ และรวมเข้าใน request headers
  • วัสดุ TLS client/server สามารถฉีดได้จากค่า env: NODE_EXTRA_CA_CERTS, CLAUDE_CODE_CLIENT_CERT, CLAUDE_CODE_CLIENT_KEY แต่ละตัวยอมรับ:
    • เส้นทางระบบไฟล์ไปยังเนื้อหา PEM หรือ
    • PEM แบบ inline (รวมถึงลำดับ \n ที่ escape แล้ว)
ตัวแปรประเภทค่าพฤติกรรม
CLAUDE_CODE_USE_FOUNDRYสตริงแบบ Boolean (1, true, yes, on)เปิดใช้งาน Foundry mode สำหรับ Anthropic provider
FOUNDRY_BASE_URLสตริง URLAnthropic endpoint base URL ใน Foundry mode
ANTHROPIC_FOUNDRY_API_KEYสตริงโทเค็นใช้สำหรับ Authorization: Bearer <token>
ANTHROPIC_CUSTOM_HEADERSสตริงรายการ headerHeader เพิ่มเติม; รูปแบบ header-a: value, header-b: value หรือคั่นด้วยบรรทัดใหม่
NODE_EXTRA_CA_CERTSเส้นทาง PEM หรือ PEM แบบ inlineCA chain เพิ่มเติมสำหรับการตรวจสอบใบรับรองเซิร์ฟเวอร์
CLAUDE_CODE_CLIENT_CERTเส้นทาง PEM หรือ PEM แบบ inlineใบรับรอง client สำหรับ mTLS
CLAUDE_CODE_CLIENT_KEYเส้นทาง PEM หรือ PEM แบบ inlineprivate key ของ client สำหรับ mTLS (ต้องจับคู่กับใบรับรอง)
ตัวแปรค่าเริ่มต้น / พฤติกรรม
AWS_REGIONแหล่งข้อมูล region หลัก
AWS_DEFAULT_REGIONFallback หาก AWS_REGION ไม่ได้ตั้งค่า
AWS_PROFILEเปิดใช้งาน named profile auth path
AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEYเปิดใช้งาน IAM key auth path
AWS_BEARER_TOKEN_BEDROCKเปิดใช้งาน bearer token auth path
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI / AWS_CONTAINER_CREDENTIALS_FULL_URIเปิดใช้งาน ECS task credential path
AWS_WEB_IDENTITY_TOKEN_FILE + AWS_ROLE_ARNเปิดใช้งาน web identity auth path
AWS_BEDROCK_SKIP_AUTHหากเป็น 1 จะฉีด dummy credentials (สถานการณ์ proxy/non-auth)
AWS_BEDROCK_FORCE_HTTP1หากเป็น 1 จะบังคับใช้ Node HTTP/1 request handler

Region fallback ในโค้ด provider: options.regionAWS_REGIONAWS_DEFAULT_REGIONus-east-1

ตัวแปรค่าเริ่มต้น / พฤติกรรม
AZURE_OPENAI_API_KEYจำเป็นเว้นแต่จะส่ง API key เป็น option
AZURE_OPENAI_API_VERSIONค่าเริ่มต้น v1
AZURE_OPENAI_BASE_URLการแทนที่ base URL โดยตรง
AZURE_OPENAI_RESOURCE_NAMEใช้เพื่อสร้าง base URL: https://<resource>.openai.azure.com/openai/v1
AZURE_OPENAI_DEPLOYMENT_NAME_MAPสตริงการแมปแบบเลือกได้: modelId=deploymentName,model2=deployment2

การแก้ไข Base URL: option azureBaseUrl → env AZURE_OPENAI_BASE_URL → option/env resource name → model.baseUrl

ตัวแปรจำเป็น?หมายเหตุ
GOOGLE_CLOUD_PROJECTใช่ (เว้นแต่จะส่งใน options)Fallback: GCLOUD_PROJECT
GCLOUD_PROJECTFallbackใช้เป็นแหล่ง project ID สำรอง
GOOGLE_CLOUD_LOCATIONใช่ (เว้นแต่จะส่งใน options)ไม่มีค่าเริ่มต้นใน provider
GOOGLE_APPLICATION_CREDENTIALSมีเงื่อนไขหากตั้งค่าไว้ ไฟล์ต้องมีอยู่ มิฉะนั้นจะตรวจสอบ ADC fallback path (~/.config/gcloud/application_default_credentials.json)
ตัวแปรค่าเริ่มต้น / พฤติกรรม
KIMI_CODE_OAUTH_HOSTการแทนที่ OAuth host หลัก
KIMI_OAUTH_HOSTการแทนที่ OAuth host สำรอง
KIMI_CODE_BASE_URLแทนที่ base URL ของ Kimi usage endpoint (usage/kimi.ts)

ห่วงโซ่ OAuth host: KIMI_CODE_OAUTH_HOSTKIMI_OAUTH_HOSThttps://auth.kimi.com

ตัวแปรค่าเริ่มต้น / พฤติกรรม
PI_AI_ANTIGRAVITY_VERSIONแทนที่แท็กเวอร์ชัน user-agent ของ Antigravity ใน Gemini CLI provider
ตัวแปรพฤติกรรม
PI_CODEX_DEBUG1/true เปิดใช้งาน debug logging ของ Codex provider
PI_CODEX_WEBSOCKET1/true เปิดใช้งานการตั้งค่าการขนส่งแบบ websocket
PI_CODEX_WEBSOCKET_V21/true เปิดใช้งาน websocket v2 path
PI_CODEX_WEBSOCKET_IDLE_TIMEOUT_MSการแทนที่ด้วยจำนวนเต็มบวก (ค่าเริ่มต้น 300000)
PI_CODEX_WEBSOCKET_RETRY_BUDGETการแทนที่ด้วยจำนวนเต็มไม่ติดลบ (ค่าเริ่มต้น 5)
PI_CODEX_WEBSOCKET_RETRY_DELAY_MSการแทนที่ base backoff ด้วยจำนวนเต็มบวก (ค่าเริ่มต้น 500)
ตัวแปรพฤติกรรม
DEBUG_CURSORเปิดใช้งาน debug logs ของ provider; 2/verbose สำหรับข้อมูล payload โดยละเอียด
DEBUG_CURSOR_LOGเส้นทางไฟล์แบบเลือกได้สำหรับ JSONL debug log output
ตัวแปรพฤติกรรม
PI_CACHE_RETENTIONหากเป็น long จะเปิดใช้งาน long retention ในกรณีที่รองรับ (anthropic, openai-responses, การแก้ไข Bedrock retention)

ตัวแปรใช้โดย
EXA_API_KEYExa search provider และ Exa MCP tools
BRAVE_API_KEYBrave search provider
PERPLEXITY_API_KEYPerplexity search provider แบบ API-key
TAVILY_API_KEYTavily search provider
ZAI_API_KEYz.ai search provider (ยังตรวจสอบ OAuth ที่จัดเก็บไว้ใน agent.db)
OPENAI_API_KEY / Codex OAuth ใน DBความพร้อมใช้งาน/การพิสูจน์ตัวตนของ Codex search provider

packages/coding-agent/src/web/search/auth.ts แก้ไข Anthropic web-search credentials ตามลำดับนี้:

  1. ANTHROPIC_SEARCH_API_KEY (+ ANTHROPIC_SEARCH_BASE_URL แบบเลือกได้)
  2. รายการ provider ใน models.json ที่มี api: "anthropic-messages"
  3. Anthropic OAuth credentials จาก agent.db (ต้องไม่หมดอายุภายใน 5 นาที)
  4. Generic Anthropic env fallback: provider key (ANTHROPIC_FOUNDRY_API_KEY/ANTHROPIC_OAUTH_TOKEN/ANTHROPIC_API_KEY) + ANTHROPIC_BASE_URL แบบเลือกได้ (FOUNDRY_BASE_URL เมื่อเปิดใช้งาน Foundry mode)

ตัวแปรที่เกี่ยวข้อง:

ตัวแปรค่าเริ่มต้น / พฤติกรรม
ANTHROPIC_SEARCH_API_KEYคีย์การค้นหาที่ระบุชัดเจนและมีลำดับความสำคัญสูงสุด
ANTHROPIC_SEARCH_BASE_URLค่าเริ่มต้นเป็น https://api.anthropic.com เมื่อไม่ได้ระบุ
ANTHROPIC_SEARCH_MODELค่าเริ่มต้นเป็น claude-haiku-4-5
ANTHROPIC_BASE_URLGeneric fallback base URL สำหรับ tier-4 auth path
ตัวแปรพฤติกรรม
PI_AUTH_NO_BORROWหากตั้งค่าไว้ จะปิดใช้งาน macOS native-app token borrowing path ใน Perplexity login flow

ตัวแปรค่าเริ่มต้น / พฤติกรรม
PI_PYการแทนที่โหมดเครื่องมือ Python: 0/bash=bash-only, 1/py=ipy-only, mix/both=both; ค่าที่ไม่ถูกต้องจะถูกละเว้น
PI_PYTHON_SKIP_CHECKหากเป็น 1 จะข้ามการตรวจสอบความพร้อมใช้งาน Python kernel/การตรวจสอบ warm
PI_PYTHON_GATEWAY_URLหากตั้งค่าไว้ จะใช้ external kernel gateway แทน local shared gateway
PI_PYTHON_GATEWAY_TOKENโทเค็น auth แบบเลือกได้สำหรับ external gateway (Authorization: token <value>)
PI_PYTHON_IPC_TRACEหากเป็น 1 จะเปิดใช้งาน low-level IPC trace path ใน kernel module
VIRTUAL_ENVเส้นทาง venv ที่มีลำดับความสำคัญสูงสุดสำหรับการแก้ไข Python runtime

พฤติกรรมเงื่อนไขเพิ่มเติม:

  • หาก BUN_ENV=test หรือ NODE_ENV=test การตรวจสอบความพร้อมใช้งาน Python จะถือว่าผ่านและข้ามการ warming
  • การกรองสภาพแวดล้อม Python จะปฏิเสธตัวแปร API key ทั่วไปและอนุญาตเฉพาะตัวแปรพื้นฐานที่ปลอดภัยและ prefix LC_, XDG_, PI_

ตัวแปรค่าเริ่มต้น / พฤติกรรม
PI_SMOL_MODELการแทนที่ model-role ชั่วคราวสำหรับ smol (CLI --smol มีลำดับความสำคัญสูงกว่า)
PI_SLOW_MODELการแทนที่ model-role ชั่วคราวสำหรับ slow (CLI --slow มีลำดับความสำคัญสูงกว่า)
PI_PLAN_MODELการแทนที่ model-role ชั่วคราวสำหรับ plan (CLI --plan มีลำดับความสำคัญสูงกว่า)
PI_NO_TITLEหากตั้งค่าไว้ (ค่าใดๆ ที่ไม่ว่างเปล่า) จะปิดใช้งานการสร้างชื่อ session อัตโนมัติในข้อความผู้ใช้แรก
NULL_PROMPTหากเป็น true ตัวสร้าง system prompt จะส่งคืนสตริงว่าง
PI_BLOCKED_AGENTบล็อก subagent ประเภทเฉพาะใน task tool
PI_SUBPROCESS_CMDแทนที่คำสั่ง spawn ของ subagent (การข้ามการแก้ไข xcsh / xcsh.cmd)
PI_TASK_MAX_OUTPUT_BYTESจำนวนไบต์ output สูงสุดที่จับได้ต่อ subagent (ค่าเริ่มต้น 500000)
PI_TASK_MAX_OUTPUT_LINESจำนวนบรรทัด output สูงสุดที่จับได้ต่อ subagent (ค่าเริ่มต้น 5000)
PI_TIMINGหากเป็น 1 จะเปิดใช้งาน log การวัดเวลา startup/tool
PI_DEBUG_STARTUPเปิดใช้งาน debug prints ของ startup stage ไปยัง stderr ในหลาย startup path
PI_PACKAGE_DIRแทนที่การแก้ไข package asset base dir (การค้นหาเส้นทาง docs/examples/changelog)
PI_DISABLE_LSPMUXหากเป็น 1 จะปิดใช้งานการตรวจจับ/การผสาน lspmux และบังคับใช้การ spawn LSP server โดยตรง
LITELLM_BASE_URLLiteLLM proxy base URL เมื่อตั้งค่าพร้อมกับ LITELLM_API_KEY จะทริกเกอร์การสร้าง models.yml อัตโนมัติเมื่อรันครั้งแรกและ self-healing ทุกครั้งที่เริ่มต้น
LM_STUDIO_BASE_URLการแทนที่ LM Studio discovery base URL เริ่มต้นโดยปริยาย (http://127.0.0.1:1234/v1 หากไม่ได้ตั้งค่า)
OLLAMA_BASE_URLการแทนที่ Ollama discovery base URL เริ่มต้นโดยปริยาย (http://127.0.0.1:11434 หากไม่ได้ตั้งค่า)
LLAMA_CPP_BASE_URLการแทนที่ Llama.cpp discovery base URL เริ่มต้นโดยปริยาย (http://127.0.0.1:8080 หากไม่ได้ตั้งค่า)
PI_EDIT_VARIANTหากเป็น hashline จะบังคับใช้ hashline read/grep display mode เมื่อ edit tool พร้อมใช้งาน
PI_NO_PTYหากเป็น 1 จะปิดใช้งาน interactive PTY path สำหรับ bash tool

PI_NO_PTY ยังถูกตั้งค่าภายในเมื่อใช้ CLI --no-pty


ตัวแปรเหล่านี้ถูกใช้งานผ่าน @f5-sales-demo/pi-utils/dirs และส่งผลต่อที่ที่ coding-agent จัดเก็บข้อมูล

ตัวแปรค่าเริ่มต้น / พฤติกรรม
PI_CONFIG_DIRชื่อ dirname ของ config root ภายใต้ home (ค่าเริ่มต้น .xcsh)
PI_CODING_AGENT_DIRการแทนที่แบบสมบูรณ์สำหรับ agent directory (ค่าเริ่มต้น ~/<PI_CONFIG_DIR or .xcsh>/agent)
PWDใช้เมื่อจับคู่ canonical current working directory ใน path helpers

(จาก packages/utils/src/procmgr.ts และการผสาน bash tool ของ coding-agent)

ตัวแปรพฤติกรรม
PI_BASH_NO_CIระงับการฉีด CI=true อัตโนมัติเข้าสู่สภาพแวดล้อม shell ที่ spawn
CLAUDE_BASH_NO_CILegacy alias fallback สำหรับ PI_BASH_NO_CI
PI_BASH_NO_LOGINมีจุดประสงค์เพื่อปิดใช้งาน login shell mode
CLAUDE_BASH_NO_LOGINLegacy alias fallback สำหรับ PI_BASH_NO_LOGIN
PI_SHELL_PREFIXwrapper คำนำหน้าคำสั่งแบบเลือกได้
CLAUDE_CODE_SHELL_PREFIXLegacy alias fallback สำหรับ PI_SHELL_PREFIX
VISUALคำสั่ง external editor ที่ต้องการ
EDITORคำสั่ง external editor สำรอง

หมายเหตุการใช้งานปัจจุบัน: PI_BASH_NO_LOGIN/CLAUDE_BASH_NO_LOGIN ถูกอ่าน แต่ getShellArgs() ปัจจุบันส่งคืน ['-l','-c'] ในทั้งสองสาขา (ไม่มีผลจริงในปัจจุบัน)


8) การตรวจจับ UI/theme/session (สภาพแวดล้อมที่ตรวจจับอัตโนมัติ)

หัวข้อที่มีชื่อว่า “8) การตรวจจับ UI/theme/session (สภาพแวดล้อมที่ตรวจจับอัตโนมัติ)”

ตัวแปรเหล่านี้ถูกอ่านเป็นสัญญาณรันไทม์ โดยส่วนใหญ่ถูกตั้งค่าโดย terminal/OS แทนที่จะกำหนดค่าด้วยตนเอง

ตัวแปรใช้สำหรับ
COLORTERM, TERM, WT_SESSIONการตรวจจับความสามารถสี (theme color mode)
COLORFGBGการตรวจจับพื้นหลัง terminal แบบ light/dark อัตโนมัติ
TERM_PROGRAM, TERM_PROGRAM_VERSION, TERMINAL_EMULATORเอกลักษณ์ terminal ใน system prompt/context
KDE_FULL_SESSION, XDG_CURRENT_DESKTOP, DESKTOP_SESSION, XDG_SESSION_DESKTOP, GDMSESSION, WINDOWMANAGERการตรวจจับ desktop/window-manager ใน system prompt/context
KITTY_WINDOW_ID, TMUX_PANE, TERM_SESSION_ID, WT_SESSIONID การติดตาม session ที่เสถียรต่อ terminal
SHELL, ComSpec, TERM_PROGRAM, TERMการวินิจฉัยข้อมูลระบบ
APPDATA, XDG_CONFIG_HOMEการแก้ไข lspmux config path
HOMEการย่อเส้นทางใน MCP command UI

ตัวแปรพฤติกรรม
PI_DEVเปิดใช้งาน verbose native addon load diagnostics ใน packages/natives
ตัวแปรพฤติกรรม
PI_NOTIFICATIONSoff / 0 / false ระงับการแจ้งเตือน desktop
PI_TUI_WRITE_LOGหากตั้งค่าไว้ จะบันทึก TUI writes ลงไฟล์
PI_HARDWARE_CURSORหากเป็น 1 จะเปิดใช้งาน hardware cursor mode
PI_CLEAR_ON_SHRINKหากเป็น 1 จะล้างแถวว่างเมื่อเนื้อหาย่อขนาด
PI_DEBUG_REDRAWหากเป็น 1 จะเปิดใช้งาน debug logging การ redraw
PI_TUI_DEBUGหากเป็น 1 จะเปิดใช้งาน deep TUI debug dump path

ตัวแปรพฤติกรรม
PI_COMMIT_TEST_FALLBACKหากเป็น true (ไม่คำนึงถึงตัวพิมพ์ใหญ่/เล็ก) จะบังคับใช้ fallback generation path ของ commit
PI_COMMIT_NO_FALLBACKหากเป็น true จะปิดใช้งาน fallback เมื่อ agent ไม่ส่งคืน proposal
PI_COMMIT_MAP_REDUCEหากเป็น false จะปิดใช้งาน map-reduce commit analysis path
DEBUGหากตั้งค่าไว้ จะพิมพ์ stack trace ข้อผิดพลาดของ commit agent

ปฏิบัติต่อตัวแปรเหล่านี้เป็น secrets อย่าบันทึก log หรือ commit:

  • Provider/API key และ OAuth/bearer credentials (ทั้งหมดที่เป็น *_API_KEY, *_TOKEN, OAuth access/refresh tokens)
  • Cloud credentials (AWS_*, เส้นทาง GOOGLE_APPLICATION_CREDENTIALS อาจเปิดเผยข้อมูล service-account)
  • ตัวแปร search/provider auth (EXA_API_KEY, BRAVE_API_KEY, PERPLEXITY_API_KEY, Anthropic search keys)
  • วัสดุ Foundry mTLS (CLAUDE_CODE_CLIENT_CERT, CLAUDE_CODE_CLIENT_KEY, NODE_EXTRA_CA_CERTS เมื่อชี้ไปยัง private CA bundles)

Python runtime ยังลบตัวแปร key ทั่วไปหลายตัวออกอย่างชัดเจนก่อนที่จะ spawn kernel subprocesses (packages/coding-agent/src/ipy/runtime.ts)