環境変数
環境変数を使用してYeePilotのあらゆる設定を上書きできます
概要
YeePilotのすべての設定オプションは環境変数で上書きできます。CI/CDパイプライン、コンテナデプロイメント、一時的なオーバーライド、設定ファイルからのシークレット分離に便利です。
環境変数は ~/.yeepilot/config.yaml の値より常に優先されます。
命名規則
環境変数は一貫したパターンに従います:
YEEPILOT_プレフィックスで始める。- 設定キーを大文字に変換する。
- ドットやネストされたキーをアンダースコアに置き換える。
例
| 設定キー | 環境変数 |
|---|---|
ai.provider | YEEPILOT_AI_PROVIDER |
ai.model | YEEPILOT_AI_MODEL |
ai.api_key | YEEPILOT_AI_API_KEY |
ai.max_tokens | YEEPILOT_AI_MAX_TOKENS |
ai.token_mode | YEEPILOT_AI_TOKEN_MODE |
security.mode | YEEPILOT_SECURITY_MODE |
sandbox.enabled | YEEPILOT_SANDBOX_ENABLED |
sandbox.use_namespaces | YEEPILOT_SANDBOX_USE_NAMESPACES |
personality.language | YEEPILOT_PERSONALITY_LANGUAGE |
tui.theme | YEEPILOT_TUI_THEME |
update.auto_check | YEEPILOT_UPDATE_AUTO_CHECK |
設定の優先順位
同じ設定が複数の場所で定義されている場合、YeePilotは以下の順序で解決します(優先度の高い順):
- 環境変数 -- 常に優先。
- 設定ファイル (
~/.yeepilot/config.yaml) -- 環境変数が設定されていない場合に使用。 - 組み込みのデフォルト値 -- 環境変数も設定ファイルの値もない場合に使用。
# これはconfig.yamlの内容を上書きする
export YEEPILOT_AI_PROVIDER=anthropic
export YEEPILOT_AI_MODEL=claude-sonnet-4-20250514
yeepilot runよく使う環境変数
AIプロバイダー設定
# プロバイダーとモデルの選択
export YEEPILOT_AI_PROVIDER=openai
export YEEPILOT_AI_MODEL=gpt-4o
# APIキー(セキュリティ上、設定ファイルよりも推奨)
export YEEPILOT_AI_API_KEY=sk-...
# カスタムAPIエンドポイント(例:ローカルモデル用)
export YEEPILOT_AI_BASE_URL=http://localhost:11434/v1
# トークン管理
export YEEPILOT_AI_MAX_TOKENS=8192
export YEEPILOT_AI_TOKEN_MODE=saver
# エージェントと思考
export YEEPILOT_AI_AGENT_MODE=true
export YEEPILOT_AI_THINK_MODE=medium
export YEEPILOT_AI_AUTONOMY_PROFILE=strict_reviewセキュリティ設定
# セキュリティ姿勢
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_SECURITY_REQUIRE_CONFIRMATION=true
# 監査ログの場所
export YEEPILOT_SECURITY_AUDIT_LOG_PATH=/var/log/yeepilot/audit.logサンドボックス設定
# 名前空間を無効化(macOSや制限された環境で有用)
export YEEPILOT_SANDBOX_USE_NAMESPACES=false
# リソース制限の調整
export YEEPILOT_SANDBOX_MAX_CPU_SECONDS=600
export YEEPILOT_SANDBOX_MAX_MEMORY_MB=1024パーソナリティと表示
# 言語とトーン
export YEEPILOT_PERSONALITY_LANGUAGE=de
export YEEPILOT_PERSONALITY_TONE=professional
export YEEPILOT_PERSONALITY_VERBOSITY=brief
# TUIテーマ
export YEEPILOT_TUI_THEME=dark直接APIキー変数
YEEPILOT_AI_API_KEY に加えて、YeePilotは各プロバイダーが使用する標準的なAPIキー環境変数も認識します:
| 変数 | プロバイダー |
|---|---|
OPENAI_API_KEY | OpenAI |
ANTHROPIC_API_KEY | Anthropic |
OPENROUTER_API_KEY | OpenRouter |
これらは YEEPILOT_ プレフィックスなしで動作し、他のAPIキーが設定されていない場合に自動的にチェックされます。
# OpenAIの場合、以下は同等です:
export YEEPILOT_AI_API_KEY=sk-abc123
# または
export OPENAI_API_KEY=sk-abc123YEEPILOT_AI_API_KEY とプロバイダー固有の変数の両方が設定されている場合、YEEPILOT_AI_API_KEY が優先されます。
実践例
一時的なプロバイダー切り替え
設定ファイルを変更せずに、単一のセッションで別のプロバイダーに切り替えます:
YEEPILOT_AI_PROVIDER=anthropic \
YEEPILOT_AI_MODEL=claude-sonnet-4-20250514 \
ANTHROPIC_API_KEY=sk-ant-... \
yeepilot run本番サーバーのロックダウン
共有サーバー上のすべてのユーザーに対して、環境変数でストリクトセキュリティを設定します:
# /etc/environment または /etc/profile.d/yeepilot.sh に追加
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_AI_AUTONOMY_PROFILE=strict_review
export YEEPILOT_SANDBOX_ENABLED=true
export YEEPILOT_SANDBOX_USE_NAMESPACES=true
export YEEPILOT_SANDBOX_NETWORK_ACCESS=falseCI/CDパイプライン
非インタラクティブなパイプラインでYeePilotを使用します:
export YEEPILOT_AI_PROVIDER=openai
export YEEPILOT_AI_MODEL=gpt-4o-mini
export OPENAI_API_KEY="${OPENAI_SECRET}"
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_AI_AUTONOMY_PROFILE=high
yeepilot exec "check disk usage and report servers over 80%"コスト意識の高い設定
トークン使用量とAPIコストを最小化します:
export YEEPILOT_AI_TOKEN_MODE=saver
export YEEPILOT_AI_MAX_TOKENS=2048
export YEEPILOT_AI_CONVERSATION_MAX_HISTORY=5
export YEEPILOT_AI_OUTPUT_TRUNCATE_LENGTH=200シェルの設定
環境変数をセッション間で永続化するには、シェルプロファイルに追加します:
Bash
# ~/.bashrc または ~/.bash_profile に追加
export YEEPILOT_AI_PROVIDER=openai
export OPENAI_API_KEY=sk-...Zsh
# ~/.zshrc に追加
export YEEPILOT_AI_PROVIDER=openai
export OPENAI_API_KEY=sk-...Fish
# ~/.config/fish/config.fish に追加
set -gx YEEPILOT_AI_PROVIDER openai
set -gx OPENAI_API_KEY sk-...編集後、シェルをリロードするか source ~/.bashrc(またはお使いのシェルの同等コマンド)を実行してください。
開発モード
YEEPILOT_DEV_MODE 変数は特殊なケースです。dev ビルドタグでコンパイルされたYeePilotの開発ビルドでのみ有効になります。本番バイナリはこの変数を完全に無視します。
# 開発ビルドでのみ動作
export YEEPILOT_DEV_MODE=1これは開発中のコントリビューターが使用するもので、通常の使用には関係ありません。
設定の確認
環境変数の上書きを含め、アクティブな設定を確認するには:
yeepilot status現在のプロバイダー、モデル、セキュリティモード、その他のアクティブな設定が表示され、各値の出典も示されます。