メインコンテンツへスキップ

設定へのアクセス

droidの設定を行うには:
  1. droidを実行
  2. /settingsを入力
  3. 好みに合わせて対話的に調整
変更は即座に反映され、設定ファイルに保存されます。

設定の保存場所

ファイルが存在しない場合は、初回droid実行時にデフォルト設定で作成されます。

ローカル上書き

任意の.factory/フォルダ内で、settings.jsonと一緒にsettings.local.jsonを作成できます:
  • ~/.factory/settings.local.json(ユーザーレベル)
  • <project>/.factory/settings.local.json(プロジェクトレベル)
ローカル上書きは、同一レベルの対応するsettings.jsonの上に統合され、同じ階層の優先順位に従います。マシン固有の設定をバージョン管理から除外したい場合は、settings.local.json.gitignoreに追加してください。

従来のDroid YAML設定

.droid.yamlは以前のプロジェクト設定インターフェースです。代わりに現在の.factory/ファイルを使用してください:
  • Droidの設定とローカル上書きにはsettings.jsonsettings.local.jsonを使用します。
  • リポジトリの指示、規約、検証コマンドにはAGENTS.mdを使用します。
  • 連携、自動化、再利用可能なワークフローにはMCPサーバーフックスキルを使用します。

利用可能な設定

モデル

modelには、利用可能なモデルIDを設定します。カスタムモデルについては、Bring Your Own Key (BYOK)を参照してください。

推論努力

reasoningEffortは、モデルが回答前に実行する構造化された思考の量を調整します。利用可能な値はモデルによって異なりますが、通常は以下が含まれます:
  • off / none – 構造化推論を無効化(最高速)。
  • low, medium, high – より複雑な推論のため段階的に検討時間を増加。
Anthropicモデルはデフォルトでoff、GPT-5はmediumで開始します。

自律レベル

sessionDefaultSettings.interactionModeを使って新しいセッションをAutoとSpec Modeのどちらで開始するかを選び、sessionDefaultSettings.autonomyLevelでデフォルトの自律レベルを設定します。offでは手動承認を維持し、lowmediumhighではそのリスクレベル以下の作業を事前承認します。 sessionDefaultSettings.autonomyModeは非推奨で、古い設定との互換性のために残されています。

Diffモード

droidがコード変更を表示する方法を制御します:
  • github – 横並び、高忠実度レンダリング(推奨)。
  • unified – 従来の単一列diff形式。

クラウドセッション同期

このスイッチをオンにすると、全てのCLIセッションがFactory webに同期され、ブラウザで会話を再確認できます:
  • true – セッションをwebアプリに同期。
  • false – セッションをローカルのみに保持。

音声通知

droidイベントの音声フィードバックを設定します: 完了音completionSound) - レスポンス完了時に再生:
  • fx-ok01 – 内蔵完了音(デフォルト) - ソフトな成功ブループ
  • fx-ack01 – 代替内蔵効果音 - 触覚的リップルフィードバック
  • bell – システムターミナルベルを使用
  • off – 音声通知なし
  • カスタムパス – 独自の音声ファイルへのパスを指定(例:"/path/to/sound.wav"
入力待機音awaitingInputSound) - droidがユーザー入力を待機中に再生。完了音と同じオプション、デフォルトはfx-ack01 音声フォーカスモードsoundFocusMode) - 音声再生タイミングを制御:
  • always – ウィンドウフォーカスに関係なく音声を再生(デフォルト)
  • focused – ターミナルがフォーカスされている時のみ音声を再生
  • unfocused – ターミナルがフォーカスされていない時のみ音声を再生
TUIで/settingsまたはShift+TabSettingsから音声設定にアクセスできます。

フック

hooksDisabled設定は、フック設定を削除せずに全てのフック実行を無効化するグローバルトグルを提供します:
  • false – フックが有効で正常に実行されます(デフォルト)
  • true – 全てのフックがグローバルに無効
これは/hooksメニューまたは/settingsからも切り替えられます。

IDE自動接続

ideAutoConnect設定は、外部ターミナル(IDE内蔵ターミナル以外)からの実行時にdroidが自動的にIDEに接続するかを制御します:
  • false – IDEターミナル内での実行時のみ自動接続(デフォルト)
  • true – 任意のターミナルからIDEに自動接続

コマンド許可リスト、拒否リスト、ブロックリスト

これらの設定を使用して、droidが自動実行できるコマンドと絶対に実行してはいけないコマンドを制御します:
  • commandAllowlist – この配列内のコマンドは安全として扱われ、自律プロンプトに関係なく追加確認なしで実行されます。頻繁に使用する低リスクユーティリティのみを含めてください(例:lspwddir)。
  • commandDenylist – この配列内のコマンドは常に確認が必要で、破壊的または危険なため通常ブロックされます(例:再帰的rmmkfs、特権システム操作)。拒否されたコマンドでも、明示的に承認すれば実行できます。
  • commandBlocklist – この配列内のコマンドは絶対に実行されません。拒否リストとは異なり、承認のプロンプトも承認する手段もありません。完全自律、自動実行、--skip-permissions-unsafeのいずれの場合でもブロックが適用されます。droidは実際に呼び出されるプログラムを解決してから照合するため、ラッパーシェル、絶対パス、クォートのトリック、コマンド置換でブロックを回避することはできません。
許可リストと拒否リストの両方に登場するコマンドは、拒否リストの動作がデフォルトとなります。ブロックリストは常に両者より優先されます。いずれのリストにもないコマンドは、セッションで選択した自律レベルにフォールバックします。

許可/拒否/ブロック設定例

承認に関係なくハードストップすべきコマンドにはcommandBlocklistを、明示的な確認後にのみ許可するコマンドにはcommandDenylistを使用してください。これらの配列を定期的に見直し更新して、ワークフローとセキュリティ体制に合わせてください。特にチーム間で設定を共有する場合は重要です。

セッションデフォルト

新しいセッションが開始されるときに適用されるデフォルト値です。上記の表にあるsessionDefaultSettings.interactionModesessionDefaultSettings.autonomyLevelもあわせて参照してください。

表示とUI

droidがターミナルでコンテンツをどのように描画するかを調整します。

追加の音声・通知設定

音声通知セクションを拡張し、ベル、イベントごとのフォーカスモード、サブエージェントのアクティビティに対するトグルを追加します。

ミッション設定

ミッション — マルチエージェントオーケストレーションの実行を設定します。

サブエージェント設定

Task ツールによって起動されるサブエージェントを設定します。これらは /settingsSubagents タブに表示されます。

サブエージェントの自律レベル

subagentAutonomyLevel は、サブエージェントが承認なしでどこまで実行できるかを制御します:
  • inherit – サブエージェントは親セッションの自律レベルを使用します(デフォルト)。
  • off – サブエージェントはすべてのアクションで手動承認が必要です。
  • low, medium, high – そのリスクレベル以下のサブエージェント作業を事前承認します。
明示的なレベルを設定しても、組織管理の maxAutonomyLevel によって制限されるため、エンタープライズの上限を超えることはありません。ミッションワーカーにはこの設定は適用されません。

コンテキストとコンパクション

モデルのコンテキストウィンドウ内に収めるために、droidが会話をいつ・どのようにコンパクションするかを制御します。

Spec Mode設定

Spec Modeによって作成される永続的なspecストアを制御します。

インフラストラクチャ

ステータスライン、worktree、リクエストタイムアウトに関するシステムレベルの設定。

エンタープライズおよび組織レベルの設定

エンタープライズ / 組織レベル。 以下の設定は通常、組織管理者によって管理され、Factory webアプリまたは管理されたsettings.jsonを通じてメンバーに配布されます。個々のユーザーが直接設定することは通常ありません。

設定例


さらに詳しく知りたい場合は?