モード
さまざまなユースケースに対応するモードです。
注意: モードは
opencode設定の agent オプションで設定するようになりました。modeオプションは非推奨です。詳しくはこちら。
opencode のモードを使用すると、さまざまなユースケースに合わせて動作、ツール、プロンプトをカスタマイズできます。
組み込みモードとして build と plan の2つが用意されています。これらをカスタマイズしたり、opencode 設定で独自のモードを構成したりできます。
セッション中にモードを切り替えたり、設定ファイルで構成したりできます。
組み込みモード
opencode には2つの組み込みモードがあります。
Build
Build はすべてのツールが有効なデフォルトモードです。ファイル操作やシステムコマンドへのフルアクセスが必要な開発作業の標準モードです。
Plan
計画と分析のために設計された制限付きモードです。Plan モードでは、以下のツールがデフォルトで無効になっています:
write- 新しいファイルを作成できませんedit- 既存のファイルを変更できません。ただし、計画自体を詳述するための.opencode/plans/*.mdにあるファイルは例外ですpatch- パッチを適用できませんbash- シェルコマンドを実行できません
このモードは、AI にコードの分析、変更の提案、計画の作成を行わせたいが、コードベースに実際の変更を加えたくない場合に便利です。
切り替え
セッション中に Tab キーを使用してモードを切り替えることができます。または、設定した switch_mode キーバインドを使用します。
参照:コードフォーマット設定についてはフォーマッターをご覧ください。
設定
組み込みモードをカスタマイズしたり、設定を通じて独自のモードを作成したりできます。モードは2つの方法で設定できます:
JSON 設定
opencode.json 設定ファイルでモードを設定します:
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"mode": {
"build": {
"model": "anthropic/claude-sonnet-4-20250514",
"prompt": "{file:./prompts/build.txt}",
"tools": {
"write": true,
"edit": true,
"bash": true
}
},
"plan": {
"model": "anthropic/claude-haiku-4-20250514",
"tools": {
"write": false,
"edit": false,
"bash": false
}
}
}
}Markdown 設定
Markdown ファイルを使用してモードを定義することもできます。以下の場所に配置します:
- グローバル:
~/.config/opencode/modes/ - プロジェクト:
.opencode/modes/
~/.config/opencode/modes/review.md
---
model: anthropic/claude-sonnet-4-20250514
temperature: 0.1
tools:
write: false
edit: false
bash: false
---
You are in code review mode. Focus on:
- Code quality and best practices
- Potential bugs and edge cases
- Performance implications
- Security considerations
Provide constructive feedback without making direct changes.Markdown ファイル名がモード名になります(例:review.md は review モードを作成します)。
これらの設定オプションを詳しく見ていきましょう。
Model
model 設定を使用して、このモードのデフォルトモデルをオーバーライドします。異なるタスクに最適化された異なるモデルを使用する場合に便利です。例えば、計画には高速なモデル、実装にはより高性能なモデルを使用できます。
opencode.json
{
"mode": {
"plan": {
"model": "anthropic/claude-haiku-4-20250514"
}
}
}Temperature
temperature 設定で AI の応答のランダム性と創造性を制御します。低い値は応答をより集中的で決定論的にし、高い値は創造性と多様性を高めます。
opencode.json
{
"mode": {
"plan": {
"temperature": 0.1
},
"creative": {
"temperature": 0.8
}
}
}Temperature の値は通常 0.0 から 1.0 の範囲です:
0.0-0.2:非常に集中的で決定論的な応答。コード分析や計画に最適0.3-0.5:ある程度の創造性を持つバランスの取れた応答。一般的な開発タスクに適しています0.6-1.0:より創造的で多様な応答。ブレインストーミングや探索に便利
opencode.json
{
"mode": {
"analyze": {
"temperature": 0.1,
"prompt": "{file:./prompts/analysis.txt}"
},
"build": {
"temperature": 0.3
},
"brainstorm": {
"temperature": 0.7,
"prompt": "{file:./prompts/creative.txt}"
}
}
}temperature が指定されていない場合、opencode はモデル固有のデフォルト値を使用します(ほとんどのモデルでは通常 0、Qwen モデルでは 0.55)。
Prompt
prompt 設定で、このモード用のカスタムシステムプロンプトファイルを指定します。プロンプトファイルには、モードの目的に固有の指示を含める必要があります。
opencode.json
{
"mode": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}このパスは設定ファイルの場所からの相対パスです。そのため、グローバルな opencode 設定とプロジェクト固有の設定の両方で機能します。
Tools
tools 設定で、このモードで利用可能なツールを制御します。特定のツールを true または false に設定して有効または無効にできます。
{
"mode": {
"readonly": {
"tools": {
"write": false,
"edit": false,
"bash": false,
"read": true,
"grep": true,
"glob": true
}
}
}
}ツールが指定されていない場合、デフォルトですべてのツールが有効になります。
利用可能なツール
モード設定で制御できるすべてのツールは以下の通りです。
| ツール | 説明 |
|---|---|
bash | シェルコマンドを実行 |
edit | 既存のファイルを変更 |
write | 新しいファイルを作成 |
read | ファイルの内容を読み取り |
grep | ファイルの内容を検索 |
glob | パターンでファイルを検索 |
list | ディレクトリの内容を一覧表示 |
patch | ファイルにパッチを適用 |
todowrite | TODO リストを管理 |
todoread | TODO リストを読み取り |
webfetch | Web コンテンツを取得 |
カスタムモード
設定に追加することで、独自のカスタムモードを作成できます。両方のアプローチを使用した例を以下に示します:
JSON 設定を使用する場合
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"mode": {
"docs": {
"prompt": "{file:./prompts/documentation.txt}",
"tools": {
"write": true,
"edit": true,
"bash": false,
"read": true,
"grep": true,
"glob": true
}
}
}
}Markdown ファイルを使用する場合
プロジェクト固有のモードは .opencode/modes/ に、グローバルモードは ~/.config/opencode/modes/ にモードファイルを作成します:
.opencode/modes/debug.md
---
temperature: 0.1
tools:
bash: true
read: true
grep: true
write: false
edit: false
---
You are in debug mode. Your primary goal is to help investigate and diagnose issues.
Focus on:
- Understanding the problem through careful analysis
- Using bash commands to inspect system state
- Reading relevant files and logs
- Searching for patterns and anomalies
- Providing clear explanations of findings
Do not make any changes to files. Only investigate and report.~/.config/opencode/modes/refactor.md
---
model: anthropic/claude-sonnet-4-20250514
temperature: 0.2
tools:
edit: true
read: true
grep: true
glob: true
---
You are in refactoring mode. Focus on improving code quality without changing functionality.
Priorities:
- Improve code readability and maintainability
- Apply consistent naming conventions
- Reduce code duplication
- Optimize performance where appropriate
- Ensure all tests continue to passユースケース
さまざまなモードの一般的なユースケースを以下に示します。
- Build モード:すべてのツールが有効なフル開発作業
- Plan モード:変更を加えない分析と計画
- Review モード:読み取り専用アクセスとドキュメントツールによるコードレビュー
- Debug モード:bash と read ツールが有効な調査に特化
- Docs モード:システムコマンドなしのファイル操作によるドキュメント作成
ユースケースによって異なるモデルが適している場合もあります。