Skip to content

設定の優先順位

N.E.K.O. はレイヤード優先順位システムで設定値を解決します。優先度の高いソースが低いものをオーバーライドします。

優先順位

┌─────────────────────────────────┐  最高優先度
│  1. 環境変数                     │  NEKO_* プレフィックス
│     (シェルまたは .env で設定)   │
├─────────────────────────────────┤
│  2. ユーザー設定ファイル           │  core_config.json
│     (~/Documents/N.E.K.O/)     │  user_preferences.json
├─────────────────────────────────┤
│  3. API プロバイダー設定           │  config/api_providers.json
│     (プロジェクトディレクトリ)     │
├─────────────────────────────────┤
│  4. コードのデフォルト値           │  config/__init__.py
│     (ハードコードされたフォールバック)│
└─────────────────────────────────┘  最低優先度

解決の例

要約モデルの場合:

  1. NEKO_SUMMARY_MODEL 環境変数を確認
  2. core_config.json のカスタム要約モデル URL/名前を確認
  3. 選択された Assist プロバイダーの api_providers.json 内の summary_model を確認
  4. config/__init__.pyDEFAULT_SUMMARY_MODEL = "qwen-plus" にフォールバック

各レイヤーの使い分け

レイヤー最適な用途
環境変数Docker デプロイ、CI/CD、シークレット管理
ユーザー設定ファイルWeb UI による設定(自動管理)
API プロバイダー設定プロバイダーごとのデフォルトモデル割り当て
コードのデフォルト値他に何も設定されていない場合のフォールバック値

Docker 固有の注意事項

Docker デプロイでは、環境変数が主要な設定メカニズムです。entrypoint.sh スクリプトは起動時に NEKO_* 環境変数から core_config.json を自動的に生成します。

詳細は Docker デプロイ を参照してください。

MIT ライセンスの下で公開。