Skip to content
이 페이지는 AI의 도움으로 작성 및 번역되었습니다. 부정확한 내용이 있으면 개선에 참여해 주세요. GitHub에서 편집

환경 변수 ​

PRX는 API 키, 설정 경로, 런타임 재정의를 위한 환경 변수를 읽습니다. 환경 변수는 API 키와 같은 보안에 민감한 필드에 대해 config.toml의 값보다 우선합니다.

설정 경로 ​

변수기본값설명
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는 config.toml의 api_key 필드로 대체하기 전에 이를 먼저 확인합니다.

주요 프로바이더 ​

변수프로바이더
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 토큰 ​

일부 프로바이더는 API 키에 추가로(또는 대신) OAuth 인증을 지원합니다:

변수프로바이더설명
ANTHROPIC_OAUTH_TOKENAnthropicClaude Code OAuth 토큰
CLAUDE_CODE_ACCESS_TOKENAnthropicClaude Code 액세스 토큰 (대안)
CLAUDE_CODE_REFRESH_TOKENAnthropic자동 갱신을 위한 Claude Code 리프레시 토큰
MINIMAX_OAUTH_TOKENMinimaxMinimax OAuth 액세스 토큰
MINIMAX_OAUTH_REFRESH_TOKENMinimaxMinimax OAuth 리프레시 토큰
MINIMAX_OAUTH_CLIENT_IDMinimaxOAuth 클라이언트 ID 재정의
MINIMAX_OAUTH_REGIONMinimaxOAuth 리전 (global 또는 cn)
QWEN_OAUTH_TOKENQwenQwen OAuth 액세스 토큰
QWEN_OAUTH_REFRESH_TOKENQwenQwen OAuth 리프레시 토큰
QWEN_OAUTH_CLIENT_IDQwenQwen OAuth 클라이언트 ID 재정의
QWEN_OAUTH_RESOURCE_URLQwenQwen OAuth 리소스 URL 재정의

호환/서드파티 프로바이더 ​

변수프로바이더
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_KEYBrave Search API 키 ([web_search]에서 provider = "brave"인 경우)
GITHUB_TOKENGitHub 개인 액세스 토큰 (스킬 및 통합에서 사용)
GOOGLE_APPLICATION_CREDENTIALSGoogle Cloud ADC 파일 경로 (서비스 계정을 통한 Gemini)

런타임 변수 ​

변수설명
OPENPRX_VERSION보고되는 버전 문자열 재정의
OPENPRX_AUTOSTART_CHANNELS"1"로 설정하면 부팅 시 채널 리스너 자동 시작
OPENPRX_EVOLUTION_CONFIG진화 설정 경로 재정의
OPENPRX_EVOLUTION_DEBUG_RAW원시 진화 디버그 로깅 활성화

설정 내 변수 치환 ​

PRX는 config.toml 내에서 ${VAR_NAME} 구문을 기본적으로 확장하지 않습니다. 그러나 다음 접근 방식으로 환경 변수 치환을 달성할 수 있습니다:

1. 환경 변수 직접 사용 ​

API 키의 경우 PRX가 자동으로 해당 환경 변수를 확인합니다. 설정 파일에서 참조할 필요가 없습니다:

toml
# api_key가 필요 없음 -- PRX가 ANTHROPIC_API_KEY를 자동으로 확인함
default_provider = "anthropic"
default_model = "anthropic/claude-sonnet-4-6"

2. 셸 래퍼 사용 ​

envsubst 또는 유사한 도구를 사용하여 템플릿에서 config.toml을 생성합니다:

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

셸 래퍼 사용 ​

PRX 시작 전에 .env 파일을 소싱합니다:

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 키를 버전 관리에 커밋하지 마세요. 환경 변수 또는 암호화된 시크릿을 사용하세요.
  • PRX의 [secrets] 하위 시스템은 config.toml의 민감한 필드를 ChaCha20-Poly1305로 암호화합니다. [secrets] encrypt = true로 활성화합니다 (기본적으로 활성화).
  • PRX와 함께 제공되는 .dockerignore는 컨테이너 빌드에서 .env 및 .env.* 파일을 제외합니다.
  • 감사 로그는 API 키와 토큰을 자동으로 수정합니다.
  • OPENPRX_CONFIG_DIR을 사용하여 공유 디렉터리를 가리킬 때 적절한 파일 권한(chmod 600 config.toml)을 확인하세요.

Released under the Apache-2.0 License.