メインコンテンツへスキップ
すべての設定は .env で行われます。example.env をコピーして値を入力してください:
cp example.env .env

設定レベル

各統合には、その重要度を示す設定レベルがあります:
レベル意味設定されていない場合の動作
Requiredコアシステム依存システムがエラーになります — チャットと主要機能は動作しません
Recommended重要な機能の有効化グレースフルデグラデーション — 機能は目に見える形で利用不可になりますが、システムは実行されます
Optional拡張機能透過的デグラデーション — システムは正常に動作し、機能は単に存在しません
: 管理者が設定したモデル(Admin → Models ページ)は、LLM 環境変数の代わりになります。ヘルスチェックは両方のソースを考慮します。

フロントエンド(ローカル開発のみ)

フロントエンドにはローカル開発のみの別の環境ファイルがあります:frontend/.env.local
このファイルは Docker では使用されません。 Docker コンテナ内では、Next.js が /api/* を Python バックエンドに内部的にプロキシします(ポート 8000 はコンテナ内部)ため、フロントエンド環境ファイルは不要です。
ローカル開発では、デフォルト設定がそのまま機能します — バックエンドがデフォルトポートで実行されている場合、frontend/.env.local を作成する必要はありません オーバーライドが必要な場合は、frontend/.env.local を手動で作成してください:
echo 'NEXT_PUBLIC_API_URL=http://localhost:9000' > frontend/.env.local
変数デフォルト説明
NEXT_PUBLIC_API_URLhttp://localhost:8000 (自動)ブラウザが直接 API 呼び出し(OAuth リダイレクト、ストリーミング)に使用するバックエンド URL。未設定の場合は window.location から自動検出されます — ローカルでバックエンドが非標準ポートで実行されている場合のみオーバーライドしてください。
ビルド時の注意NEXT_PUBLIC_* 変数は pnpm build 時に JS バンドルに埋め込まれます。実行時に変更する場合(例:ルート .env 経由)は効果がありません — これが、ローカル開発のみで frontend/.env.local に配置される理由です。

LLM (必須)

変数必須デフォルト説明
LLM_API_KEYはいLLMプロバイダーのAPIキー
LLM_BASE_URLいいえhttps://api.openai.com/v1OpenAI互換APIのベースURL
LLM_MODELいいえgpt-4oメインモデル — 計画、分析、ReAct エージェントに使用
FAST_LLM_MODELいいえ(LLM_MODELにフォールバック)高速モデル — DAGステップ実行に使用(より安価で高速)
LLM_TEMPERATUREいいえ0.7デフォルトサンプリング温度
LLM_CONTEXT_SIZEいいえ128000メインLLMのコンテキストウィンドウサイズ
LLM_MAX_OUTPUT_TOKENSいいえ64000メインLLMの呼び出しあたりの最大出力トークン数
FAST_LLM_API_KEYいいえ(LLM_API_KEYにフォールバック)高速モデルプロバイダーのAPIキー。高速モデルがメインモデルと異なるプロバイダーでホストされている場合に使用
FAST_LLM_BASE_URLいいえ(LLM_BASE_URLにフォールバック)高速モデルプロバイダーのベースURL
FAST_LLM_TEMPERATUREいいえ(LLM_TEMPERATUREにフォールバック)高速モデルのサンプリング温度
FAST_LLM_CONTEXT_SIZEいいえ(LLM_CONTEXT_SIZEにフォールバック)高速LLMのコンテキストウィンドウサイズ
FAST_LLM_MAX_OUTPUT_TOKENSいいえ(LLM_MAX_OUTPUT_TOKENSにフォールバック)高速LLMの呼び出しあたりの最大出力トークン数
LLM_REASONING_EFFORTいいえ(無効)サポートされているモデル用の拡張思考レベル(OpenAI o-series、Gemini 2.5+、Claude)。値: lowmediumhigh。LiteLLMは各プロバイダーのネイティブ形式に自動的に変換します。モデルの思考チェーンはUI「thinking」ステップで表示されます。
LLM_REASONING_BUDGET_TOKENSいいえ(努力レベルから自動)Anthropic思考の明示的なトークン予算(最小1024)。OpenAI/Geminiの場合は努力レベルが直接使用されます。LLM_REASONING_EFFORTが設定されている場合のみ有効です。
LLM_JSON_MODE_ENABLEDいいえtrueENV設定モデルのresponse_format=json_objectを無効にするにはfalseに設定します。AWS Bedrockでバックアップされたサードパーティリレーを使用する場合に必須(新しいバージョンはLiteLLMのアシスタント先頭注入を拒否し、2番目以降のエージェント反復でValidationExceptionが発生します)。DB設定モデルはAdmin → Models → Advanced settingsでモデルごとにこれをオーバーライドします。
REASONING_LLM_MODELいいえ(LLM_MODELにフォールバック)推論層のモデル名。深い分析が必要なタスク(例:DAG計画、計画分析)に使用
REASONING_LLM_API_KEYいいえ(LLM_API_KEYにフォールバック)推論モデルプロバイダーのAPIキー
REASONING_LLM_BASE_URLいいえ(LLM_BASE_URLにフォールバック)推論モデルプロバイダーのベースURL
REASONING_LLM_TEMPERATUREいいえ(LLM_TEMPERATUREにフォールバック)推論モデルのサンプリング温度
REASONING_LLM_CONTEXT_SIZEいいえ(LLM_CONTEXT_SIZEにフォールバック)推論モデルのコンテキストウィンドウサイズ
REASONING_LLM_MAX_OUTPUT_TOKENSいいえ(LLM_MAX_OUTPUT_TOKENSにフォールバック)推論モデルの呼び出しあたりの最大出力トークン数
REASONING_LLM_EFFORTいいえ(LLM_REASONING_EFFORTにフォールバック)推論モデル層の推論努力レベル。値: lowmediumhigh
REASONING_LLM_BUDGETいいえ(LLM_REASONING_BUDGET_TOKENSにフォールバック)推論用のトークン予算(主にAnthropicの場合)。推論層の自動計算予算をオーバーライドします
解決順序: ユーザー設定 → 管理者モデル(DB) → ENV フォールバック。Admin → Modelsで役割「General」の管理者モデルが設定されている場合、これらのENV変数はフォールバックのみとして機能します。ヘルスチェックは両方のソースを考慮します。

拡張思考(推論)

LLM_REASONING_EFFORT が設定されると、FIM One はモデルの拡張思考機能を有効にし、内部の思考の連鎖を UI の「thinking」ステップで表示します。FIM One は LiteLLM を使用して、推論努力パラメータを各プロバイダーのネイティブ形式に自動的に変換します。

サポートされているプロバイダー

プロバイダーLLM_BASE_URL動作方法推論コンテンツが返されるか?
OpenAI (o1 / o3 / o4-mini)https://api.openai.com/v1reasoning_effort がネイティブで送信されるはい
Anthropic (Claude 3.7+)https://api.anthropic.com/v1/LiteLLM が thinking パラメータを使用してネイティブ Anthropic API 経由でルーティングはい
Google Gemini (2.5+)https://generativelanguage.googleapis.com/v1beta/openai/reasoning_effort が互換エンドポイントで送信されるはい
LiteLLM は LLM_BASE_URL からプロバイダーを自動検出し、正しい API 形式にマッピングします。不明な URL は OpenAI 互換として扱われます。

重要な注意事項

サードパーティプロキシ / カスタムエンドポイントは保証されません。 LLM_BASE_URL がサードパーティ API プロキシ (例: OpenRouter、one-api、カスタムゲートウェイ) を指している場合、LiteLLM は URL に基づいて正しくルーティングしようとします。ただし、プロキシが非標準形式を期待している場合、推論が期待どおりに機能しない可能性があります。プロキシのドキュメントで、期待されるパラメータ形式を確認してください。

推論を伴う温度制約

推論がアクティブな場合、一部のプロバイダーは温度制限を課します:
  • Anthropic: 拡張思考が有効な場合、temperature=1 が必須です。Anthropic と拡張思考を使用する場合、LLM_TEMPERATURE=1 を設定する必要があります — 思考が有効な場合、Anthropic は他の値を拒否します。
  • OpenAI GPT-5.x: すべての場合において temperature=1 のみをサポートしています。LiteLLM の drop_params フィルタリングはこれを自動的に処理します — サポートされていない温度値は自動的にドロップされます。GPT-5.x の場合、ユーザーアクションは不要です。

LLM_REASONING_BUDGET_TOKENS の動作方法

この変数は主にAnthropicパスで意味があります。設定されると、自動計算されたバジェットをオーバーライドし、LiteLLM経由でthinkingパラメータ内のbudget_tokensとして送信されます。設定されない場合、バジェットはLLM_MAX_OUTPUT_TOKENS x努力比率から導出されます:
LLM_REASONING_EFFORTバジェット比率例(max_tokens = 64000)
low20%12,800トークン
medium50%32,000トークン
high80%51,200トークン
最小バジェットは1,024トークンです(Anthropicのハード最小値)。 OpenAIとGeminiの場合、プロバイダーはreasoning_effortレベルに基づいてトークン割り当てを内部的に処理します — LLM_REASONING_BUDGET_TOKENSは効果がありません。

エージェント実行

変数必須デフォルト説明
REACT_MAX_ITERATIONSいいえ20ReAct リクエストあたりの最大ツール呼び出し反復回数
MAX_CONCURRENCYいいえ5DAG エグゼキューターの最大並列ステップ数
DAG_STEP_MAX_ITERATIONSいいえ15各 DAG ステップ内の最大ツール呼び出し反復回数
DAG_MAX_REPLAN_ROUNDSいいえ3目標が達成されない場合の最大自動再計画試行回数
DAG_REPLAN_STOP_CONFIDENCEいいえ0.8エージェントが目標が達成不可能であると確信する信頼度がこのしきい値を超えたときに再試行を停止 (0.0 = 早期停止しない、1.0 = 任意の失敗で停止)
DAG_TOOL_CACHEいいえtrue単一の DAG 実行内で同一のツール呼び出しをキャッシュ。キーごとの非同期ロックが thundering herd を防止。キャッシュを無効にするには false に設定
DAG_STEP_VERIFICATIONいいえfalse各 DAG ステップ完了後に LLM ベースの品質チェックを有効化。失敗時、ステップは検証フィードバック付きで 1 回再試行。レイテンシが増加しますが結果精度が向上
AUTO_ROUTINGいいえtrue自動クエリ分類を有効化。高速 LLM が各クエリを分析し、ReAct (単一ステップ) または DAG (マルチステップ) 実行モードにルーティング。/api/auto エンドポイントがこれを使用。明示的なモード選択を要求するには false に設定

Webツール(オプション)

変数必須デフォルト説明
JINA_API_KEYいいえJina APIキー — 埋め込みとリランカーにも使用されます。jina.aiで取得してください
TAVILY_API_KEYいいえTavily Search APIキー(設定されておりWEB_SEARCH_PROVIDERが未設定の場合は自動選択)
BRAVE_API_KEYいいえBrave Search APIキー(設定されておりWEB_SEARCH_PROVIDERが未設定の場合は自動選択)
WEB_SEARCH_PROVIDERいいえjina検索プロバイダーセレクター:jina / tavily / brave
WEB_FETCH_PROVIDERいいえjina(キーが設定されている場合、そうでない場合はhttpxフェッチプロバイダー:jina / httpx

RAG & ナレッジベース(推奨)

変数必須デフォルト説明
EMBEDDING_MODELいいえjina-embeddings-v3エンベディングモデル識別子
EMBEDDING_DIMENSIONいいえ1024エンベディングベクトルの次元
EMBEDDING_API_KEYいいえ(JINA_API_KEYを使用)別のエンベディングプロバイダー用のAPIキーをオーバーライド
EMBEDDING_BASE_URLいいえhttps://api.jina.ai/v1別のエンベディングプロバイダー用のベースURLをオーバーライド
RETRIEVAL_MODEいいえgroundinggrounding(引用/競合/信頼度を含む完全パイプライン)またはsimple(基本的なRAG)
RERANKER_MODELいいえjina-reranker-v2-base-multilingualリランカーモデル識別子
RERANKER_PROVIDERいいえjinaリランカープロバイダー:jina / cohere / openai
COHERE_API_KEYいいえCohere APIキー(設定時にCohereリランカーを自動選択)
COHERE_RERANKER_MODELいいえrerank-multilingual-v3.0Cohereリランカーモデル
VECTOR_STORE_DIRいいえ./data/vector_storeLanceDB ベクトルストアデータ用ディレクトリ
エンベディングはナレッジベース機能に推奨されます。リランカーはオプションです — フュージョンスコアリングを使用して検索はなくても機能します。

コード実行

変数必須デフォルト説明
CODE_EXEC_BACKENDいいえlocallocal(ホスト上での直接実行)またはdocker(隔離されたコンテナ)
DOCKER_PYTHON_IMAGEいいえpython:3.11-slimPython実行用のDockerイメージ
DOCKER_NODE_IMAGEいいえnode:20-slimNode.js実行用のDockerイメージ
DOCKER_SHELL_IMAGEいいえpython:3.11-slimシェル実行用のDockerイメージ
DOCKER_MEMORYいいえ(Dockerのデフォルト)コンテナあたりのRAM上限(例:256m512m1g
DOCKER_CPUSいいえ(Dockerのデフォルト)コンテナあたりのCPUクォータ(例:0.51.0
SANDBOX_TIMEOUTいいえ120デフォルト実行タイムアウト(秒)
DOCKER_HOST_DATA_DIRいいえ(未設定)./dataボリュームマウントのホスト側絶対パス。DooD(Docker-outside-of-Docker)デプロイメントに必須。docker-compose.yml${PWD}/data経由で自動設定します。
セキュリティlocalモードはAIが生成したコードをホスト上で直接実行します。インターネット公開またはマルチユーザーデプロイメントの場合は、常にCODE_EXEC_BACKEND=dockerを設定してください。

ツール成果物

ツール実行(コード実行、テンプレートレンダリング、画像生成)によって生成されたファイルのサイズ制限。
変数必須デフォルト説明
MAX_ARTIFACT_SIZEいいえ10485760 (10 MB)単一成果物ファイルの最大サイズ(バイト)
MAX_ARTIFACTS_TOTALいいえ52428800 (50 MB)セッションあたりの成果物の最大合計サイズ(バイト)

画像生成(オプション)

変数必須デフォルト説明
IMAGE_GEN_PROVIDERいいえgooglegoogle(Gemini ネイティブ API)または openai(OpenAI 互換 /v1/images/generations
IMAGE_GEN_API_KEYいいえGoogle AI Studio キー(google)またはプロキシ/OpenAI API キー(openai
IMAGE_GEN_MODELいいえgemini-3.1-flash-image-preview画像生成モデル(例:dall-e-3gemini-nano-banana-2
IMAGE_GEN_BASE_URLいいえ(プロバイダーごと)Google: https://generativelanguage.googleapis.com/v1beta; OpenAI: https://api.openai.com/v1

メール (SMTP) (推奨)

SMTP_HOSTSMTP_USERSMTP_PASS がすべて設定されている場合、email_send ビルトインツールを自動登録します。
変数必須デフォルト説明
SMTP_HOST条件付きSMTP サーバーのホスト名
SMTP_PORTいいえ465SMTP ポート
SMTP_SSLいいえsslTLS モード: ssl (ポート 465) / tls (STARTTLS、ポート 587) / "" (平文)
SMTP_USER条件付きSMTP ログインユーザー名
SMTP_PASS条件付きSMTP ログインパスワード
SMTP_FROMいいえ(SMTP_USER を使用)From ヘッダーに表示される送信者アドレス
SMTP_FROM_NAMEいいえFrom ヘッダーに表示される表示名
SMTP_ALLOWED_DOMAINSいいえカンマ区切りのドメイン許可リスト (例: example.com,corp.io); リストされたドメイン外の受信者をブロック
SMTP_ALLOWED_ADDRESSESいいえカンマ区切りの完全なアドレス許可リスト; SMTP_ALLOWED_DOMAINS と組み合わせて使用; 両方を未設定のままにするとすべての受信者を許可 (共有メールボックスの場合は非推奨)

コネクタ

変数必須デフォルト説明
CONNECTOR_RESPONSE_MAX_CHARSいいえ50000非配列JSON/プレーンテキストコネクタレスポンスの最大文字数
CONNECTOR_RESPONSE_MAX_ITEMSいいえ10コネクタレスポンスがJSON配列の場合に保持する最大配列項目数
CREDENTIAL_ENCRYPTION_KEYいいえ(未設定)コネクタ認証情報ブロブのFernet暗号化キー。設定時、connector_credentialsに保存された認証トークンは保存時に暗号化されます。未設定の場合、認証情報はプレーンテキストJSON(後方互換性あり)として保存されます。このキーを変更すると、既存のすべての暗号化された認証情報が無効になります。

プラットフォーム

変数必須デフォルト説明
DATABASE_URLいいえsqlite+aiosqlite:///./data/fim_one.dbデータベース接続文字列。SQLite(ゼロ設定): sqlite+aiosqlite:///./data/fim_one.dbPostgreSQL(本番環境): postgresql+asyncpg://user:pass@localhost:5432/fim_one。Docker Composeは自動的にPostgreSQLを設定します。
JWT_SECRET_KEYいいえCHANGE_MEJWTトークン署名用の秘密鍵。プレースホルダー値CHANGE_ME(またはレガシーデフォルト)は、初回起動時に安全な256ビットランダムキーの自動生成をトリガーし、.envに書き込まれます。本番環境では明示的に設定して、再起動とレプリカ間でトークンを有効に保ちます。
CORS_ORIGINSいいえデフォルトのlocalhostエントリを超えて許可する追加のCORSオリジンのカンマ区切りリスト。フロントエンドが非localhostドメイン上で実行される場合に必須(例:https://app.example.com)。
UPLOADS_DIRいいえ./uploadsアップロードされたファイルのディレクトリ
MAX_UPLOAD_SIZE_MBいいえ50最大ファイルアップロードサイズ(メガバイト、バックエンド強制)
NEXT_PUBLIC_MAX_UPLOAD_SIZE_MBいいえ50フロントエンドUIに表示される最大ファイルアップロードサイズ。ビルド時変数MAX_UPLOAD_SIZE_MBと一致する必要があります。
MCP_SERVERSいいえMCPサーバー設定のJSONアレイ(uv sync --extra mcpが必須)
ALLOW_STDIO_MCPいいえfalsestdio MCPサーバーを許可します。信頼できるローカルデプロイメントの場合のみtrueに設定してください
ALLOWED_STDIO_COMMANDSいいえnpx,uvx,node,python,python3,deno,bunstdio MCPサーバーで許可されるベースコマンドのカンマ区切りリスト。ALLOW_STDIO_MCP=trueの場合のみ有効です
LOG_LEVELいいえINFOログレベル: DEBUG / INFO / WARNING / ERROR / CRITICAL
REDIS_URLいいえワーカー間割り込みリレー用のRedis接続URL。Docker Composeで自動設定されます。ローカルマルチワーカーセットアップ(WORKERS>1)の場合のみ必要です。
WORKERSいいえ1Uvicornワーカープロセス。1は安全で外部サービスは不要です。>1PostgreSQLが必須です(SQLiteはシングルライター)。認証、OAuth、ファイル操作は完全にマルチワーカー対応です(JWTベース)。制限事項: REDIS_URLがない場合、ストリーム中の割り込み/注入は同じワーカープロセス内でのみ機能します。Docker Composeは自動的にRedisを設定します。

OAuth(オプション)

プロバイダーに対して CLIENT_IDCLIENT_SECRET の両方が設定されている場合、ログインページに対応する OAuth ボタンが自動的に表示されます。
変数必須デフォルト説明
GITHUB_CLIENT_IDいいえGitHub OAuth App クライアント ID。github.com/settings/developers → OAuth Apps で作成
GITHUB_CLIENT_SECRETいいえGitHub OAuth App クライアント シークレット
GOOGLE_CLIENT_IDいいえGoogle OAuth クライアント ID。console.cloud.google.com/apis/credentials で作成
GOOGLE_CLIENT_SECRETいいえGoogle OAuth クライアント シークレット
DISCORD_CLIENT_IDいいえDiscord OAuth2 クライアント ID。discord.com/developers で作成
DISCORD_CLIENT_SECRETいいえDiscord OAuth2 クライアント シークレット
FEISHU_APP_IDいいえFeishu(Lark)App ID。open.feishu.cn で作成。contact:user.email:readonly 権限が必要
FEISHU_APP_SECRETいいえFeishu(Lark)App シークレット
FRONTEND_URL本番環境http://localhost:3000OAuth 完了後にブラウザが遷移する先。本番環境では必須(例:https://yourdomain.com
API_BASE_URL本番環境http://localhost:8000外部からアクセス可能なバックエンド URL。OAuth コールバック URL の構築に使用。本番環境では必須
NEXT_PUBLIC_API_URL本番環境<hostname>:8000 として自動検出)OAuth リダイレクト用のブラウザ側 API ベース URL。これはフロントエンド ビルド時変数です — ローカル開発では frontend/.env.local で設定するか、カスタム本番環境デプロイメントの場合は Docker ビルド引数として渡してください。標準的なリバースプロキシ設定(ポート 80/443)では自動検出が機能します。
本番環境 = ローカルではオプション(デフォルト値が機能します)ですが、インターネット公開デプロイメントでは必須です。

各プロバイダーに登録するOAuth コールバックURL

バックエンドは、コールバックURLを以下のように構成します: {API_BASE_URL}/api/auth/oauth/{provider}/callback
プロバイダー登録するコールバックURL
GitHubhttps://yourdomain.com/api/auth/oauth/github/callback
Googlehttps://yourdomain.com/api/auth/oauth/google/callback
Discordhttps://yourdomain.com/api/auth/oauth/discord/callback

分析(オプション)

すべての分析プロバイダーはオプションです。任意の組み合わせを設定できます。すべてのアクティブなプロバイダーが同時に読み込まれます。すべてを空白のままにすると、分析が完全に無効になります(ローカル開発では推奨)。
変数必須デフォルト説明
NEXT_PUBLIC_GA_MEASUREMENT_IDいいえGoogle Analytics 4 測定 ID(例:G-XXXXXXXXXX)。analytics.google.com で取得できます
NEXT_PUBLIC_UMAMI_SCRIPT_URLいいえUmami 分析スクリプト URL(例:https://your-umami.com/script.js)。自己ホスト型のプライバシーフレンドリーな代替案 — umami.is
NEXT_PUBLIC_UMAMI_WEBSITE_IDいいえUmami ウェブサイト ID。NEXT_PUBLIC_UMAMI_SCRIPT_URL が設定されている場合は必須
NEXT_PUBLIC_PLAUSIBLE_DOMAINいいえPlausible 分析ドメイン(例:yourdomain.com)。軽量でプライバシーフレンドリー — plausible.io
NEXT_PUBLIC_PLAUSIBLE_SCRIPT_URLいいえhttps://plausible.io/js/script.js自己ホスト型インスタンス用のカスタム Plausible スクリプト URL
すべての NEXT_PUBLIC_* 分析変数はビルド時です。変更を有効にするにはフロントエンドの再構築が必要です。