Skip to content
このページは AI の支援により作成・翻訳されました。誤りがあれば、改善にご協力ください。 GitHub で編集

環境変数

PRX は API キー、設定パス、ランタイムオーバーライドのために環境変数を読み取ります。環境変数は、API キーのようなセキュリティに敏感なフィールドについて config.toml の値より優先されます。

設定パス

変数デフォルト説明
OPENPRX_CONFIG_DIR~/.openprx設定ディレクトリをオーバーライド。PRX はこのディレクトリ内の config.tomlconfig.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.tomlapi_key フィールドにフォールバックする前にこれらをチェックします。

主要プロバイダー

変数プロバイダー
ANTHROPIC_API_KEYAnthropic (Claude)
OPENAI_API_KEYOpenAI
GEMINI_API_KEYGoogle Gemini
GOOGLE_API_KEYGoogle Gemini(代替)
OPENROUTER_API_KEYOpenRouter
OLLAMA_API_KEYOllama(通常は不要)
GLM_API_KEY智譜 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.