「OpenCodeの設定 - エージェントチーム」の版間の差分
| (同じ利用者による、間の2版が非表示) | |||
| 1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
OpenCodeは、TypeScriptで開発されたオープンソースのターミナルベースAIコーディングエージェントである。<br> | |||
ターミナル、デスクトップアプリ (Linux / MacOS / Windows)、IDE 拡張機能として利用でき、75以上のLLMプロバイダをサポートする。<br> | |||
Claude、OpenAI、Google等のクラウドモデルに加えて、ローカルモデルでも利用できる。<br> | |||
<br> | |||
* 公式リポジトリ | |||
*: [https://github.com/anomalyco/opencode anomalyco/opencode] | |||
<br> | <br> | ||
OpenCodeには、プライマリエージェントとサブエージェントによる強力なエージェント機能が搭載されている。<br> | OpenCodeには、プライマリエージェントとサブエージェントによる強力なエージェント機能が搭載されている。<br> | ||
プライマリエージェントはタスクの種類に応じて[Tab]キーで切り替え、サブエージェントは <code>@メンション</code> で呼び出すことができる。<br> | プライマリエージェントはタスクの種類に応じて[Tab]キーで切り替え、サブエージェントは <code>@メンション</code> で呼び出すことができる。<br> | ||
<br> | <br> | ||
oh-my- | oh-my-openagentは、OpenCode上で動作するエージェントハーネスであり、複数のLLM (Claude, GPT, Kimi等) を自動的に適切なタスクに割り当てる。<br> | ||
< | キャッチフレーズは「Install. Type ultrawork. Done.」であり、インストール後すぐに使い始めることができる。<br> | ||
リポジトリは [https://github.com/code-yeongyu/oh-my-openagent code-yeongyu/oh-my-openagent] として公開されており、アクティブに開発が継続されている主流プロジェクトである。<br> | |||
npm パッケージ名は互換性のため依然 <code>oh-my-opencode</code> が使用されているが、CLIと設定は <code>oh-my-openagent</code> を優先しており、旧名称 <code>oh-my-opencode</code> との互換レイヤが維持されている。<br> | |||
<br> | <br> | ||
下表に、oh-my- | oh-my-openagentの設計思想として <u>「The future isn't picking one winner; it's orchestrating them all.」</u> が掲げられており、<br> | ||
特定のLLMベンダーへの依存 (ベンダーロックイン) を回避しながら最適なモデルを柔軟に組み合わせることを目指している。<br> | |||
<br> | |||
下表に、oh-my-openagentが提供するエージェントチームの主な特徴を示す。<br> | |||
<br> | <br> | ||
<center> | <center> | ||
| 28行目: | 37行目: | ||
|- | |- | ||
| Oracle || コンテキスト認識型の質問応答とトラブルシューティングに特化 | | Oracle || コンテキスト認識型の質問応答とトラブルシューティングに特化 | ||
|- | |||
| Multimodal Looker || 画像・スクリーンショット・図表等視覚情報の解析に特化 | |||
|} | |} | ||
</center> | </center> | ||
| 48行目: | 59行目: | ||
| rowspan="2" | build || デフォルトのエージェント<br>開発作業向けのフルツールアクセスが可能 | | rowspan="2" | build || デフォルトのエージェント<br>開発作業向けのフルツールアクセスが可能 | ||
|- | |- | ||
| | | コード編集、ファイル操作、コマンド実行等全ての操作を実行できる。 | ||
|- | |- | ||
| rowspan="2" | plan || 読み取り専用エージェント<br>コード修正を行わずに分析・コード探索を行う。 | | rowspan="2" | plan || 読み取り専用エージェント<br>コード修正を行わずに分析・コード探索を行う。 | ||
| 98行目: | 109行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
カスタムエージェントの管理には以下に示すコマンドを使用する。<br> | |||
<br> | <br> | ||
opencode agent create <エージェント名> | opencode agent create <エージェント名> | ||
| 104行目: | 115行目: | ||
<br><br> | <br><br> | ||
== oh-my- | == oh-my-openagentのインストール == | ||
==== 前提条件 ==== | ==== 前提条件 ==== | ||
oh-my- | oh-my-openagentのインストールに必要な前提条件を以下に示す。<br> | ||
<br> | <br> | ||
* OpenCode 1.0. | * OpenCode 1.0.150以降 | ||
*: 以前のバージョンでは動作しない場合がある。 | *: 以前のバージョンでは動作しない場合がある。 | ||
* | * Bun (必須) | ||
*: <code>bunx</code> | *: oh-my-openagentはBun専用であり、npm / yarn / pnpmは非推奨である。 | ||
*: <code>bunx</code> コマンドが利用可能であること。 | |||
<br> | <br> | ||
対応プラットフォームおよびバイナリ構成を以下に示す。(全11種)<br> | |||
<br> | <br> | ||
* MacOS | * Linux | ||
* | ** x64 | ||
* Windows | ** x64-baseline | ||
** x64-musl | |||
** x64-musl-baseline | |||
** ARM64 | |||
** ARM64-musl | |||
* MacOS | |||
** ARM64 | |||
** x64 | |||
** x64-baseline | |||
* Windows | |||
** x64 | |||
** x64-baseline | |||
<br> | <br> | ||
==== インストール手順 ==== | ==== インストール手順 ==== | ||
oh-my- | oh-my-openagentのインストール手順を以下に示す。<br> | ||
<br> | <br> | ||
# OpenCodeをインストールする。 | # OpenCodeをインストールする。 | ||
#: OpenCodeのインストールは、[[インストール - OpenCode]]のページを参照すること。 | #: OpenCodeのインストールは、[[インストール - OpenCode]]のページを参照すること。 | ||
# oh-my- | # oh-my-openagentをインストールする。 | ||
#: <pre>bunx oh-my- | #: <pre>bunx oh-my-openagent install</pre> | ||
# OpenCodeを起動する。 | # OpenCodeを起動する。 | ||
#: <pre>opencode</pre> | #: <pre>opencode</pre> | ||
<br> | <br> | ||
oh-my-openagentはOpenCodeのプラグインとして動作しており、シェルエイリアスやPATHによる独立したCLIではない。<br> | |||
インストール時はOpenCodeのplugin配列に追加され、設定ファイルが自動的に作成される。<br> | |||
<br> | |||
==== インストールオプション ==== | ==== インストールオプション ==== | ||
<code>bunx oh-my- | <code>bunx oh-my-openagent install</code> には、各種AIプロバイダーの設定を同時に行うオプションが用意されている。<br> | ||
<br> | <br> | ||
bunx oh-my- | bunx oh-my-openagent install --no-tui --claude=<yes|no|max20> --gemini=<yes|no> --copilot=<yes|no> --openai=<yes|no> --opencode-go=<yes|no> --opencode-zen=<yes|no> --zai-coding-plan=<yes|no> | ||
<br> | <br> | ||
下表に、利用可能なオプションを示す。<br> | 下表に、利用可能なオプションを示す。<br> | ||
| 143行目: | 168行目: | ||
! オプション !! 説明 | ! オプション !! 説明 | ||
|- | |- | ||
| <code><nowiki>--claude=yes|no|max20</nowiki></code> || Claudeの認証設定を行う。<br><code>max20</code> は、Claude Max (月20ドルプラン) を指定する。 | | <code><nowiki>--claude=yes|no|max20</nowiki></code> || Claudeの認証設定を行う。<br><code>max20</code> は、Claude Max (月20ドルプラン) を指定する。<br>注: Anthropicの規約変更によりサードパーティツールからのPro / Max利用は非サポートとなっているため、現在は[Claude (Anthropic)]セクションを参照してAPIキー方式を使用すること。 | ||
|- | |- | ||
| <code><nowiki>--openai=yes|no</nowiki></code> || OpenAIの認証設定を行う。 | | <code><nowiki>--openai=yes|no</nowiki></code> || OpenAIの認証設定を行う。 | ||
| 150行目: | 175行目: | ||
|- | |- | ||
| <code><nowiki>--copilot=yes|no</nowiki></code> || GitHub Copilotの認証設定を行う。 | | <code><nowiki>--copilot=yes|no</nowiki></code> || GitHub Copilotの認証設定を行う。 | ||
|- | |||
| <code><nowiki>--opencode-go=yes|no</nowiki></code> || OpenCode Go の設定を行う。 | |||
|- | |- | ||
| <code><nowiki>--opencode-zen=yes|no</nowiki></code> || OpenCode Zenの設定を行う。 | | <code><nowiki>--opencode-zen=yes|no</nowiki></code> || OpenCode Zenの設定を行う。 | ||
| 158行目: | 185行目: | ||
|} | |} | ||
</center> | </center> | ||
<br><br> | |||
== CLIサブコマンド == | |||
oh-my-openagentが提供するCLIサブコマンドを以下に示す。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ CLIサブコマンド一覧 | |||
|- | |||
! サブコマンド !! 説明 | |||
|- | |||
| <code>install</code> || 初期セットアップを実行する。 | |||
|- | |||
| <code>run</code> || oh-my-openagentを実行する。 | |||
|- | |||
| <code>doctor</code> || 環境の診断を行い、問題を検出する。 | |||
|- | |||
| <code>mcp-oauth</code> || MCP サーバの OAuth 認証を実行する。 | |||
|- | |||
| <code>refresh-model-capabilities</code> || モデル情報を最新の状態に更新する。 | |||
|- | |||
| <code>get-local-version</code> || インストール済みのバージョンを確認する。 | |||
|} | |||
</center> | |||
<br> | |||
診断コマンドの使用例を以下に示す。<br> | |||
<br> | |||
bunx oh-my-openagent doctor | |||
<br><br> | |||
== oh-my-openagentのアンインストール == | |||
==== OpenCodeの設定ファイルからプラグインを削除 ==== | |||
OpenCodeの設定ファイルを編集して、プラグインエントリを削除する。<br> | |||
<br> | |||
* 設定ファイルの場所 | |||
** Linux / MacOS | |||
**: ~/.config/opencode/opencode.json | |||
**: または | |||
**: opencode.jsonc | |||
** Windows | |||
**: %USERPROFILE%\.config\opencode\opencode.json | |||
**: または | |||
**: opencode.jsonc | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ 削除対象ファイル一覧 | |||
! 場所 !! ファイル !! 用途 | |||
|- | |||
|OpenCode設定 || ~/.config/opencode/opencode.json<br>または<br>/<プロジェクトルート>/opencode.jsonc || plugin配列からエントリ削除 | |||
|- | |||
|ユーザ設定 || ~/.config/opencode/oh-my-openagent.json[c] || ユーザプラグイン設定 (新名称) | |||
|- | |||
|ユーザ設定 || ~/.config/opencode/oh-my-opencode.json[c] || ユーザプラグイン設定 (旧名称・互換) | |||
|- | |||
|プロジェクト設定 || .opencode/oh-my-openagent.json[c] || プロジェクトプラグイン設定 (新名称) | |||
|- | |||
|プロジェクト設定 || .opencode/oh-my-opencode.json[c] || プロジェクトプラグイン設定 (旧名称・互換) | |||
|} | |||
</center> | |||
<br> | |||
設定ファイル内のplugin配列から <u>oh-my-openagent</u> または <u>oh-my-opencode</u> のエントリを削除する。<br> | |||
<br> | <br> | ||
==== 設定ファイルを削除 ==== | |||
プラグイン固有の設定ファイルを削除する。<br> | |||
<br> | <br> | ||
* ユーザ全体の設定ファイル | |||
*: <syntaxhighlight lang="text"> | |||
# プラグイン設定ファイルを削除 | |||
rm -f ~/.config/opencode/oh-my-openagent.jsonc ~/.config/opencode/oh-my-openagent.json \ | |||
~/.config/opencode/oh-my-opencode.jsonc ~/.config/opencode/oh-my-opencode.json | |||
</syntaxhighlight> | |||
*: <br> | |||
* プロジェクト固有の設定ファイル (プロジェクト内に存在する場合) | |||
*: <syntaxhighlight lang="text"> | |||
# プロジェクト設定ファイルを削除 (各プロジェクトディレクトリで実行) | |||
rm -f .opencode/oh-my-openagent.jsonc .opencode/oh-my-openagent.json \ | |||
.opencode/oh-my-opencode.jsonc .opencode/oh-my-opencode.json | |||
</syntaxhighlight> | |||
<br> | |||
==== 削除の確認 ==== | |||
OpenCodeのバージョンコマンドを実行して、プラグインが表示されないことを確認する。<br> | |||
<br> | |||
opencode --version | |||
<br><br> | <br><br> | ||
== oh-my- | == oh-my-openagentの設定 == | ||
oh-my-openagentの設定ファイルはJSON5およびJSONC形式に対応しており、コメントの記述と末尾カンマが許可されている。<br> | |||
<br> | |||
==== 設定ファイルの場所 ==== | ==== 設定ファイルの場所 ==== | ||
oh-my- | oh-my-openagentの設定ファイルの場所を以下に示す。<br> | ||
優先度が高い設定が低い設定を上書きする。<br> | 優先度が高い設定が低い設定を上書きする。<br> | ||
<br> | <br> | ||
* プロジェクト固有設定 (最優先) | * プロジェクト固有設定 (最優先) | ||
*: <u>.opencode/oh-my-opencode.json</u> | *: <u>.opencode/oh-my-openagent.json[c]</u> (新名称) | ||
*: プロジェクトルートから上位ディレクトリに向かってホームディレクトリまでウォーキング検索を行い、最も近いファイルが優先される。 | |||
*: <u>.opencode/oh-my-opencode.json[c]</u> (旧名称・互換 - 自動認識、警告付きで自動アップグレード) | |||
* ユーザ全体設定 | * ユーザ全体設定 | ||
*: <u>~/.config/opencode/oh-my-opencode.json</u> | *: <u>~/.config/opencode/oh-my-openagent.json[c]</u> (新名称) | ||
*: <u>~/.config/opencode/oh-my-opencode.json[c]</u> (旧名称・互換 - 自動認識、警告付きで自動アップグレード) | |||
* OpenCode全体設定 | |||
*: <u>~/.config/opencode/opencode.json</u> | |||
<br> | |||
JSONスキーマを設定ファイルに指定することにより、エディタ補完が利用できる。<br> | |||
スキーマURLを以下に示す。<br> | |||
<br> | |||
https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json | |||
<br> | <br> | ||
==== エージェント設定 ==== | ==== エージェント設定 ==== | ||
| 202行目: | 318行目: | ||
|- | |- | ||
| <code>replace_plan</code> || <u>true</u> に設定すると、デフォルトのplanエージェントをこのエージェントで置き換える。 | | <code>replace_plan</code> || <u>true</u> に設定すると、デフォルトのplanエージェントをこのエージェントで置き換える。 | ||
|} | |||
</center> | |||
<br> | |||
==== モデルマッピング設定 ==== | |||
oh-my-openagentは、タスクの種類に応じて4つのカテゴリでLLMを自動的に割り当てる。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ モデルマッピングカテゴリ | |||
|- | |||
! カテゴリ !! 説明 !! 推奨モデル例 | |||
|- | |||
| <code>visual-engineering</code> || フロントエンド・UI/UX タスク || Claude Sonnet 系 | |||
|- | |||
| <code>deep</code> || 自律的研究・実行 (Hephaestus 等) || Claude Opus 系 | |||
|- | |||
| <code>quick</code> || 単一ファイルの小規模変更 || Claude Haiku 系 | |||
|- | |||
| <code>ultrabrain</code> || 難解・複雑なロジック処理 || GPT-5.5 推奨 | |||
|} | |} | ||
</center> | </center> | ||
| 226行目: | 361行目: | ||
<br> | <br> | ||
<code>disabled_mcps</code> に無効化するMCP名を配列で指定する。<br> | <code>disabled_mcps</code> に無効化するMCP名を配列で指定する。<br> | ||
<br> | |||
==== テレメトリ設定 ==== | |||
oh-my-openagentはデフォルトでハッシュIDのみを使用した匿名テレメトリを送信する。<br> | |||
テレメトリを無効化するには、以下の環境変数のいずれかを設定する。<br> | |||
<br> | |||
<syntaxhighlight lang="sh"> | |||
# 匿名テレメトリを無効化 | |||
export OMO_SEND_ANONYMOUS_TELEMETRY=0 | |||
# PostHog による収集を無効化 | |||
export OMO_DISABLE_POSTHOG=1 | |||
</syntaxhighlight> | |||
<br><br> | <br><br> | ||
== エージェントチーム == | == エージェントチーム == | ||
oh-my- | oh-my-openagentが提供するエージェントチームの各メンバーについて説明する。<br> | ||
<br> | <br> | ||
==== Sisyphus ==== | ==== Sisyphus ==== | ||
Sisyphusは、oh-my- | Sisyphusは、oh-my-openagentのデフォルトエージェントであり、メインの調整役・オーケストレーターとして機能する。<br> | ||
ギリシャ神話のシジフォスから命名されており、タスクが完了するまで粘り強く実行し続けることを表している。<br> | ギリシャ神話のシジフォスから命名されており、タスクが完了するまで粘り強く実行し続けることを表している。<br> | ||
<br> | <br> | ||
| 251行目: | 398行目: | ||
| 自動再開 || 中断後もタスクを自動的に再開できる。 | | 自動再開 || 中断後もタスクを自動的に再開できる。 | ||
|- | |- | ||
| 推奨モデル || Claude | | 推奨モデル || Claude Opus 4.7、Kimi K2.6、GLM-5.1 | ||
|} | |} | ||
</center> | </center> | ||
| 276行目: | 423行目: | ||
|- | |- | ||
| Sisyphusとの違い || 他のエージェントへの委譲ではなく、自ら深掘りして作業を完遂する。 | | Sisyphusとの違い || 他のエージェントへの委譲ではなく、自ら深掘りして作業を完遂する。 | ||
|- | |||
| 推奨モデル || GPT-5.5 | |||
|} | |} | ||
</center> | </center> | ||
| 298行目: | 447行目: | ||
|- | |- | ||
| 直接実行との違い || 自ら直接実行するのではなく、適切な専門家に委ねる。 | | 直接実行との違い || 自ら直接実行するのではなく、適切な専門家に委ねる。 | ||
|- | |||
| 推奨モデル || Claude Opus 4.7、Kimi K2.6、GLM-5.1 | |||
|} | |} | ||
</center> | </center> | ||
| 316行目: | 467行目: | ||
| コードベース構造理解 || プロジェクトのファイル構成や依存関係を把握する。 | | コードベース構造理解 || プロジェクトのファイル構成や依存関係を把握する。 | ||
|- | |- | ||
| Context7 | | Context7 MCPとの連携 || Context7 MCPと組み合わせて使用することで効果的に機能する。 | ||
|} | |} | ||
</center> | </center> | ||
| 354行目: | 505行目: | ||
! 項目 !! 説明 | ! 項目 !! 説明 | ||
|- | |- | ||
| 役割 || Q& | | 役割 || Q&A特化型<br>コンテキスト認識型の質問応答を担当する。 | ||
|- | |- | ||
| コード動作原理説明 || なぜそのコードがそのように動作するかを説明する。 | | コード動作原理説明 || なぜそのコードがそのように動作するかを説明する。 | ||
| 361行目: | 512行目: | ||
|- | |- | ||
| トラブルシューティング || 問題の原因と解決策を分析する。 | | トラブルシューティング || 問題の原因と解決策を分析する。 | ||
|} | |||
</center> | |||
<br> | |||
==== Multimodal Looker ==== | |||
Multimodal Lookerは、視覚情報の解析に特化したエージェントである。<br> | |||
<br> | |||
下表に、主な特徴を示す。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ Multimodal Lookerの特徴 | |||
|- | |||
! 項目 !! 説明 | |||
|- | |||
| 役割 || 視覚解析専門<br>画像・スクリーンショット・図表等視覚情報の解析を担当する。 | |||
|- | |||
| スクリーンショット解析 || UIのスクリーンショットやエラー画面から情報を抽出する。 | |||
|- | |||
| 図表理解 || アーキテクチャ図、フローチャート、ER図等の技術的な図表を読み取る。 | |||
|} | |} | ||
</center> | </center> | ||
| 369行目: | 539行目: | ||
<center> | <center> | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ oh-my- | |+ oh-my-openagent エージェント比較 | ||
! エージェント !! 主な役割 !! 特性 !! 推奨用途 | ! エージェント !! 主な役割 !! 特性 !! 推奨用途 !! 推奨モデル | ||
|- | |- | ||
| Sisyphus || オーケストレーター || todo-driven、委譲、並列実行 || 複雑なマルチステップタスク全般 | | Sisyphus || オーケストレーター || todo-driven、委譲、並列実行 || 複雑なマルチステップタスク全般 || Claude Opus 4.7、Kimi K2.6、GLM-5.1 | ||
|- | |- | ||
| Hephaestus || 自律実行者 || 深掘り、エンドツーエンド完了 || 単一ゴールの自律的な実装 | | Hephaestus || 自律実行者 || 深掘り、エンドツーエンド完了 || 単一ゴールの自律的な実装 || GPT-5.5 | ||
|- | |- | ||
| Prometheus || 戦略プランナー || インタビュー、分類、委譲 || 要件が不明確な大きなタスク | | Prometheus || 戦略プランナー || インタビュー、分類、委譲 || 要件が不明確な大きなタスク || Claude Opus 4.7、Kimi K2.6、GLM-5.1 | ||
|- | |- | ||
| Librarian || ドキュメント探索 || コードパターン発見 || ドキュメント作成・コード調査 | | Librarian || ドキュメント探索 || コードパターン発見 || ドキュメント作成・コード調査 || - | ||
|- | |- | ||
| Explore || コード探索 || ナビゲーション、依存関係分析 || 未知コードベースへの入門 | | Explore || コード探索 || ナビゲーション、依存関係分析 || 未知コードベースへの入門 || - | ||
|- | |- | ||
| Oracle || Q&A || コンテキスト認識型回答 || 技術的な質問・トラブルシューティング | | Oracle || Q&A || コンテキスト認識型回答 || 技術的な質問・トラブルシューティング || - | ||
|- | |||
| Multimodal Looker || 視覚解析 || 画像・図表・スクリーンショット解析 || UI確認・図表読み取り || - | |||
|} | |} | ||
</center> | </center> | ||
<br> | |||
==== Team Mode (v4.0) ==== | |||
v4.0 から導入された Team Mode を使用することにより、リードエージェントと最大8メンバーの並列実行が可能になる。<br> | |||
tmux による可視化もサポートされており、複数エージェントの動作状況をリアルタイムで確認できる。<br> | |||
<br> | |||
Team Mode で使用できる専用ツールを以下に示す。<br> | |||
<br> | |||
* <code>team_create</code> | |||
*: チームを作成してメンバーエージェントを初期化する。 | |||
* <code>team_send_message</code> | |||
*: チームメンバーにメッセージを送信する。 | |||
* <code>team_task_create</code> | |||
*: 並列タスクをチームメンバーに割り当てる。 | |||
* <code>team_status</code> | |||
*: チーム進捗をモニタリングする。 | |||
<br> | |||
Team Mode 有効時に利用可能な組み込みスキルを以下に示す。<br> | |||
<br> | |||
* hyperplan | |||
*: 5つの対立的批評者 (hostile critics) が実装前に計画を多角的に検証する。 | |||
* security-research | |||
*: 3名のハンタと2名のPoC エンジニアが脆弱性検査を並列実行する。 | |||
<br> | |||
Team Mode の設定例を以下に示す。<br> | |||
<br> | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"team_mode": { | |||
"enabled": true, | |||
"max_parallel_members": 4, | |||
"tmux_visualization": true | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br><br> | <br><br> | ||
| 405行目: | 611行目: | ||
<br> | <br> | ||
==== ultraworkコマンド ==== | ==== ultraworkコマンド ==== | ||
oh-my- | oh-my-openagentが提供する <code>ultrawork</code> コマンド (短縮形: <code>ulw</code>) を使用することにより、エージェントがプロジェクトの探索から実装・検証・完了まで自動的に実行する。<br> | ||
ultraworkは、Ralph Loop (自己修正ループ) と Todo Enforcer (放置されたエージェントを引き戻す機能) を組み合わせて、タスクを最後まで自律的に完遂する仕組みである。<br> | |||
低コスト運用の例として、ChatGPT Sub ($20) + Kimi Code ($19) + GLM Plan ($10) 等のサブスクリプション組み合わせでも十分に活用できる。<br> | |||
<br> | <br> | ||
ultraworkコマンドの使用例を以下に示す。<br> | ultraworkコマンドの使用例を以下に示す。<br> | ||
| 432行目: | 640行目: | ||
"auto_resume": true | "auto_resume": true | ||
} | } | ||
} | |||
</syntaxhighlight> | |||
<br> | |||
==== スラッシュコマンド ==== | |||
oh-my-openagentは以下のスラッシュコマンドを提供する。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ スラッシュコマンド一覧 | |||
|- | |||
! コマンド !! 説明 | |||
|- | |||
| <code>/start-work</code> || Prometheusエージェントを呼び出し、インタビューによる段階的プランニングを開始する。 | |||
|- | |||
| <code>/ulw-loop</code> || 自己参照ループを開始する。完了判定が下るまで継続して実行される。 | |||
|- | |||
| <code>/init-deep</code> || 階層的なAGENTS.mdファイルをプロジェクト構造に合わせて自動生成する。 | |||
|} | |||
</center> | |||
<br><br> | |||
== 開発支援機能 == | |||
oh-my-openagentは、コーディング品質と精度を向上させる複数の開発支援機能を内蔵している。<br> | |||
<br> | |||
==== Hashline ==== | |||
Hashlineは、コンテンツハッシュ付き行番号タグをソースコードに付与することにより、LLMによる編集精度を大幅に向上させる機能である。<br> | |||
この機能により、編集失敗率が 6.7% から 68.3% 改善されたことが報告されている。<br> | |||
<br> | |||
==== LSP統合 ==== | |||
Language Server Protocol (LSP) との統合により、IDE品質のコード操作ツールが利用できる。<br> | |||
<br> | |||
提供されるLSPツールを以下に示す。<br> | |||
<br> | |||
* <code>lsp_rename</code> | |||
*: シンボルのリネームをLSPを通じて安全に実行する。 | |||
* <code>lsp_goto_definition</code> | |||
*: シンボル定義へジャンプする。 | |||
* <code>lsp_find_references</code> | |||
*: シンボルの参照箇所をプロジェクト全体から検索する。 | |||
* <code>lsp_diagnostics</code> | |||
*: LSPによるコード診断情報 (エラー・警告) を取得する。 | |||
<br> | |||
==== AST-Grep ==== | |||
AST-Grepは、25言語以上に対応したパターン認識によるコード検索・書き換えツールである。<br> | |||
抽象構文木 (AST) を利用することにより、単純なテキスト検索では困難なコードパターンの検索・変換が可能である。<br> | |||
<br> | |||
==== Tmux統合 ==== | |||
Tmuxとの統合により、REPL・デバッガ等の対話型ツールを完全にサポートする。<br> | |||
エージェントが対話型のターミナルセッションを制御できるため、インタラクティブなデバッグ作業が可能になる。<br> | |||
<br> | |||
==== その他の支援機能 ==== | |||
<center> | |||
{| class="wikitable" | |||
|+ その他の開発支援機能 | |||
|- | |||
! 機能名 !! 説明 | |||
|- | |||
| Ralph Loop || エージェントの自己修正ループ。実行結果を評価して自動的に修正を繰り返す。 | |||
|- | |||
| Todo Enforcer || 放置されたTODOタスクを検出し、自動的に作業を再開させる。 | |||
|- | |||
| Comment Checker || AIが生成したコードコメントの品質をチェックし、不適切なコメントを検出する。 | |||
|} | |||
</center> | |||
<br><br> | |||
== 内蔵MCP == | |||
oh-my-openagentは以下のMCPサーバを内蔵しており、追加設定なしで利用できる。<br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ 内蔵MCPサーバ一覧 | |||
|- | |||
! MCP名 !! 説明 | |||
|- | |||
| Exa || Web検索を実行する。最新情報の取得やドキュメント参照に使用する。 | |||
|- | |||
| Context7 || ライブラリ・フレームワークの公式ドキュメントを参照する。 | |||
|- | |||
| grep.app || GitHub全体からコードを検索する。実装例やライブラリの使用方法調査に有効である。 | |||
|} | |||
</center> | |||
<br> | |||
特定のMCPを無効化するには、<code>disabled_mcps</code> 設定を使用する。<br> | |||
<br> | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"disabled_mcps": ["exa", "context7", "grep_app"] | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| 438行目: | 734行目: | ||
== 認証設定 == | == 認証設定 == | ||
==== Claude (Anthropic) ==== | ==== Claude (Anthropic) ==== | ||
Anthropic | Anthropic Claudeの認証は、現在APIキー方式のみが推奨される。<br> | ||
<br> | <br> | ||
Anthropicは、サードパーティ製プラグイン経由でClaude Pro / Maxサブスクリプションを使用することを規約により明確に禁止している。<br> | |||
これに伴い、OpenCode 1.3.0以降ではOAuth (Claude Pro / Max) ログイン用プラグインがバンドルされなくなった。<br> | |||
このため、OpenCodeでClaudeを利用する場合は[https://console.anthropic.com/ Anthropic Console]で発行したAPIキーを使用することが事実上の必須要件となっている。<br> | |||
<br> | |||
APIキーによる認証手順を以下に示す。<br> | |||
<br> | |||
# [https://console.anthropic.com/ Anthropic Console]にアクセスして、APIキーを発行する。 | |||
# 以下に示すコマンドを実行する。 | # 以下に示すコマンドを実行する。 | ||
#: <pre>opencode auth login</pre> | #: <pre>opencode auth login</pre> | ||
#: <br> | #: <br> | ||
# 表示された一覧から[Anthropic]を選択する。 | # 表示された一覧から[Anthropic]を選択する。 | ||
# < | # 認証方式として[API Key]を選択する。 | ||
# 発行したAPIキーを貼り付ける。 | |||
<br> | |||
* 環境変数を使用してAPIキーを設定する場合は、以下に示すコマンドを実行する。 | |||
*: <syntaxhighlight lang="sh"> | |||
export ANTHROPIC_API_KEY=<APIキー> | |||
</syntaxhighlight> | |||
<br> | |||
推奨モデルを以下に示す。<br> | |||
<br> | |||
* Claude Opus 4.6 / 4.7 | |||
*: Sisyphus、Prometheus 等の高度な推論を要するエージェント向け | |||
* Claude Sonnet 4.6 | |||
*: 汎用作業向け | |||
* Claude Haiku 4.5 | |||
*: <code>quick</code> カテゴリ (単一ファイルの軽量タスク) 向け | |||
<br> | |||
<u>OpenCodeのTUI内では、<code>/connect</code> コマンドからもAnthropicの認証フローを開始できる。</u><br> | |||
<br> | <br> | ||
< | 過去のOpenCodeおよびoh-my-opencodeでは、Claude Pro / MaxサブスクリプションによるOAuthログインが利用可能であった。<br> | ||
しかし、Anthropicの利用規約変更により、現在はサードパーティツールからのPro / Maxサブスクリプションの利用は非サポートとなっている。<br> | |||
従量課金型のAPIキー利用、または、Claude.ai公式インターフェース上での利用に切り替える必要がある。<br> | |||
<br> | <br> | ||
==== Google Gemini ==== | ==== Google Gemini ==== | ||
| 463行目: | 784行目: | ||
# 表示された一覧から[Google]を選択し、OAuth (Antigravity) で認証する。 | # 表示された一覧から[Google]を選択し、OAuth (Antigravity) で認証する。 | ||
<br> | <br> | ||
==== GLM | ==== GLM Coding Plan (Z.AI) ==== | ||
GLM-5は、智谱AI (Zhipu AI / Z.AI) が開発した大規模言語モデルである。<br> | GLM-5は、智谱AI (Zhipu AI / Z.AI) が開発した大規模言語モデルである。<br> | ||
7,440億パラメータの大規模MoEモデルであり、アクティブパラメータは約400億である。<br> | |||
前世代のGLM-4.5 (3,550億パラメータ、アクティブ320億) から大幅にスケールアップしている。<br> | |||
コンテキスト長は200,000トークンに対応し、DeepSeek Sparse Attention を統合している。<br> | |||
「Thinking Mode」を備え、エージェント型の長期計画とコード生成に対応する。<br> | |||
<br> | <br> | ||
認証手順を以下に示す。<br> | 認証手順を以下に示す。<br> | ||
| 485行目: | 809行目: | ||
}, | }, | ||
"models": { | "models": { | ||
"glm-5": { | "glm-5.1": { | ||
"name": "GLM-5" | "name": "GLM-5.1" | ||
} | } | ||
} | } | ||
} | } | ||
}, | }, | ||
"model": "zai/glm-5" | "model": "zai/glm-5.1" | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| 507行目: | 831行目: | ||
}, | }, | ||
"models": { | "models": { | ||
"glm-5": { | "glm-5.1": { | ||
"name": "GLM-5 Coding" | "name": "GLM-5.1 Coding" | ||
} | } | ||
} | } | ||
} | } | ||
}, | }, | ||
"model": "zai-coding/glm-5" | "model": "zai-coding/glm-5.1" | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| 522行目: | 846行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
==== GitHub Copilot ==== | ==== GitHub Copilot ==== | ||
GitHub Copilotの認証設定手順を以下に示す。<br> | GitHub Copilotの認証設定手順を以下に示す。<br> | ||
| 533行目: | 858行目: | ||
== トラブルシューティング == | == トラブルシューティング == | ||
下表に、oh-my- | 下表に、oh-my-openagentのインストールおよび動作に関する問題と対処法を示す。<br> | ||
<br> | <br> | ||
<center> | <center> | ||
| 540行目: | 865行目: | ||
! 問題 !! 対処法 | ! 問題 !! 対処法 | ||
|- | |- | ||
| インストールが失敗する || | | インストールが失敗する || Bunがインストールされているか確認する。<br>OpenCode 1.0.150以降を使用しているか確認する。 | ||
|- | |- | ||
| JSONの設定が反映されない || 設定ファイルの内容が有効なJSON形式であるか確認する。 | | JSONの設定が反映されない || 設定ファイルの内容が有効なJSON形式であるか確認する。 | ||
|- | |- | ||
| <code>bunx</code> コマンドが見つからない || <code> | | <code>bunx</code> コマンドが見つからない || Bunをインストールしてから再試行する。<br>oh-my-openagent は Bun 専用であり、npx は使用できない。 | ||
|- | |||
| 旧名称と新名称の混在問題 || <code>oh-my-openagent.json[c]</code> (新名称) と <code>oh-my-opencode.json[c]</code> (旧名称) は両方認識される。<br>新規設定は <code>oh-my-openagent.json[c]</code> を使用することを推奨する。 | |||
|- | |- | ||
| | | Snapでインストールしたbunの問題 || OpenCodeのオフィシャルインストーラーを再利用するか、Snap以外の方法でBunをインストールする。 | ||
|- | |- | ||
| | | エージェントが起動しない || <u>oh-my-openagent.json</u> の <code>enabled</code> が <u>true</u> になっているか確認する。 | ||
|- | |- | ||
| | | インストール後にエージェントが表示されない || <code>bunx oh-my-openagent doctor</code> を実行して環境の診断を行う。 | ||
|- | |- | ||
| | | 環境の問題を診断したい || <code>bunx oh-my-openagent doctor</code> を実行する。<br>インストール状態・設定・依存関係の問題を自動検出する。 | ||
|} | |} | ||
</center> | </center> | ||
| 560行目: | 887行目: | ||
{{#seo: | {{#seo: | ||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | ||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板,OpenCode,oh-my-opencode,AI,エージェント,Agent,LLM,GLM-5,Claude,Gemini,GitHub Copilot,TUI,ターミナル | |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板,OpenCode,oh-my-openagent,oh-my-opencode,AI,エージェント,Agent,LLM,GLM-5,Claude,Gemini,GitHub Copilot,TUI,ターミナル,Team Mode,Hashline,AST-Grep,LSP,Multimodal Looker,hyperplan,security-research,Ralph Loop,Todo Enforcer | ||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | ||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |image=/resources/assets/MochiuLogo_Single_Blue.png | ||
2026年5月9日 (土) 14:05時点における最新版
概要
OpenCodeは、TypeScriptで開発されたオープンソースのターミナルベースAIコーディングエージェントである。
ターミナル、デスクトップアプリ (Linux / MacOS / Windows)、IDE 拡張機能として利用でき、75以上のLLMプロバイダをサポートする。
Claude、OpenAI、Google等のクラウドモデルに加えて、ローカルモデルでも利用できる。
- 公式リポジトリ
OpenCodeには、プライマリエージェントとサブエージェントによる強力なエージェント機能が搭載されている。
プライマリエージェントはタスクの種類に応じて[Tab]キーで切り替え、サブエージェントは @メンション で呼び出すことができる。
oh-my-openagentは、OpenCode上で動作するエージェントハーネスであり、複数のLLM (Claude, GPT, Kimi等) を自動的に適切なタスクに割り当てる。
キャッチフレーズは「Install. Type ultrawork. Done.」であり、インストール後すぐに使い始めることができる。
リポジトリは code-yeongyu/oh-my-openagent として公開されており、アクティブに開発が継続されている主流プロジェクトである。
npm パッケージ名は互換性のため依然 oh-my-opencode が使用されているが、CLIと設定は oh-my-openagent を優先しており、旧名称 oh-my-opencode との互換レイヤが維持されている。
oh-my-openagentの設計思想として 「The future isn't picking one winner; it's orchestrating them all.」 が掲げられており、
特定のLLMベンダーへの依存 (ベンダーロックイン) を回避しながら最適なモデルを柔軟に組み合わせることを目指している。
下表に、oh-my-openagentが提供するエージェントチームの主な特徴を示す。
| エージェント名 | 説明 |
|---|---|
| Sisyphus | メイン調整役・オーケストレーター タスク完了まで実行継続し、中断後の自動再開をサポート |
| Hephaestus | ゴール指定での自律的な深掘り作業 コードベース全体をエンドツーエンドで完了 |
| Prometheus | インタビューモードで十分なコンテキストを収集した上で専門エージェントに委譲 |
| Librarian | ドキュメント管理とコード例・パターン発見に特化 |
| Explore | 大規模コードベースのナビゲーションと依存関係分析に特化 |
| Oracle | コンテキスト認識型の質問応答とトラブルシューティングに特化 |
| Multimodal Looker | 画像・スクリーンショット・図表等視覚情報の解析に特化 |
OpenCodeのエージェント機能
OpenCodeは、プライマリエージェントとサブエージェントの2種類のエージェントを提供する。
プライマリエージェント
プライマリエージェントはOpenCodeの主要な動作モードを制御する。
[Tab]キーで切り替えることができる。
| エージェント名 | 説明 |
|---|---|
| build | デフォルトのエージェント 開発作業向けのフルツールアクセスが可能 |
| コード編集、ファイル操作、コマンド実行等全ての操作を実行できる。 | |
| plan | 読み取り専用エージェント コード修正を行わずに分析・コード探索を行う。 |
| コードベースの構造理解や実装方針の検討に使用する。 |
サブエージェント
サブエージェントは、@メンション で呼び出すことができる。
| エージェント名 | 説明 |
|---|---|
| general | 複雑な調査やマルチステップタスクを担当する汎用サブエージェント |
| explore | コードベース探索用の読み取り専用サブエージェント |
カスタムエージェントの定義
カスタムエージェントは、opencode.json または ~/.config/opencode/agents/ 内のMarkdownファイルで定義できる。
opencode.json ファイルによるカスタムエージェント定義の例を以下に示す。
{
"agents": {
"custom-agent": {
"mode": "subagent",
"model": "anthropic/claude-opus-4",
"tools": {
"edit": true,
"bash": false,
"view": true
},
"permission": {
"edit": "ask",
"bash": "deny"
},
"temperature": 0.7,
"prompt": "You are a specialized code reviewer focused on security."
}
}
}
カスタムエージェントの管理には以下に示すコマンドを使用する。
opencode agent create <エージェント名> opencode agent list
oh-my-openagentのインストール
前提条件
oh-my-openagentのインストールに必要な前提条件を以下に示す。
- OpenCode 1.0.150以降
- 以前のバージョンでは動作しない場合がある。
- Bun (必須)
- oh-my-openagentはBun専用であり、npm / yarn / pnpmは非推奨である。
bunxコマンドが利用可能であること。
対応プラットフォームおよびバイナリ構成を以下に示す。(全11種)
- Linux
- x64
- x64-baseline
- x64-musl
- x64-musl-baseline
- ARM64
- ARM64-musl
- MacOS
- ARM64
- x64
- x64-baseline
- Windows
- x64
- x64-baseline
インストール手順
oh-my-openagentのインストール手順を以下に示す。
- OpenCodeをインストールする。
- OpenCodeのインストールは、インストール - OpenCodeのページを参照すること。
- oh-my-openagentをインストールする。
bunx oh-my-openagent install
- OpenCodeを起動する。
opencode
oh-my-openagentはOpenCodeのプラグインとして動作しており、シェルエイリアスやPATHによる独立したCLIではない。
インストール時はOpenCodeのplugin配列に追加され、設定ファイルが自動的に作成される。
インストールオプション
bunx oh-my-openagent install には、各種AIプロバイダーの設定を同時に行うオプションが用意されている。
bunx oh-my-openagent install --no-tui --claude=<yes|no|max20> --gemini=<yes|no> --copilot=<yes|no> --openai=<yes|no> --opencode-go=<yes|no> --opencode-zen=<yes|no> --zai-coding-plan=<yes|no>
下表に、利用可能なオプションを示す。
| オプション | 説明 |
|---|---|
--claude=yes|no|max20 |
Claudeの認証設定を行う。max20 は、Claude Max (月20ドルプラン) を指定する。注: Anthropicの規約変更によりサードパーティツールからのPro / Max利用は非サポートとなっているため、現在は[Claude (Anthropic)]セクションを参照してAPIキー方式を使用すること。 |
--openai=yes|no |
OpenAIの認証設定を行う。 |
--gemini=yes|no |
Google Geminiの認証設定を行う。 |
--copilot=yes|no |
GitHub Copilotの認証設定を行う。 |
--opencode-go=yes|no |
OpenCode Go の設定を行う。 |
--opencode-zen=yes|no |
OpenCode Zenの設定を行う。 |
--zai-coding-plan=yes|no |
Z.AIコーディングプランの設定を行う。 |
--no-tui |
TUIを使用せず、対話なしでインストールを実行する。 |
CLIサブコマンド
oh-my-openagentが提供するCLIサブコマンドを以下に示す。
| サブコマンド | 説明 |
|---|---|
install |
初期セットアップを実行する。 |
run |
oh-my-openagentを実行する。 |
doctor |
環境の診断を行い、問題を検出する。 |
mcp-oauth |
MCP サーバの OAuth 認証を実行する。 |
refresh-model-capabilities |
モデル情報を最新の状態に更新する。 |
get-local-version |
インストール済みのバージョンを確認する。 |
診断コマンドの使用例を以下に示す。
bunx oh-my-openagent doctor
oh-my-openagentのアンインストール
OpenCodeの設定ファイルからプラグインを削除
OpenCodeの設定ファイルを編集して、プラグインエントリを削除する。
- 設定ファイルの場所
- Linux / MacOS
- ~/.config/opencode/opencode.json
- または
- opencode.jsonc
- Windows
- %USERPROFILE%\.config\opencode\opencode.json
- または
- opencode.jsonc
- Linux / MacOS
| 場所 | ファイル | 用途 |
|---|---|---|
| OpenCode設定 | ~/.config/opencode/opencode.json または /<プロジェクトルート>/opencode.jsonc |
plugin配列からエントリ削除 |
| ユーザ設定 | ~/.config/opencode/oh-my-openagent.json[c] | ユーザプラグイン設定 (新名称) |
| ユーザ設定 | ~/.config/opencode/oh-my-opencode.json[c] | ユーザプラグイン設定 (旧名称・互換) |
| プロジェクト設定 | .opencode/oh-my-openagent.json[c] | プロジェクトプラグイン設定 (新名称) |
| プロジェクト設定 | .opencode/oh-my-opencode.json[c] | プロジェクトプラグイン設定 (旧名称・互換) |
設定ファイル内のplugin配列から oh-my-openagent または oh-my-opencode のエントリを削除する。
設定ファイルを削除
プラグイン固有の設定ファイルを削除する。
- ユーザ全体の設定ファイル
# プラグイン設定ファイルを削除 rm -f ~/.config/opencode/oh-my-openagent.jsonc ~/.config/opencode/oh-my-openagent.json \ ~/.config/opencode/oh-my-opencode.jsonc ~/.config/opencode/oh-my-opencode.json
- プロジェクト固有の設定ファイル (プロジェクト内に存在する場合)
# プロジェクト設定ファイルを削除 (各プロジェクトディレクトリで実行) rm -f .opencode/oh-my-openagent.jsonc .opencode/oh-my-openagent.json \ .opencode/oh-my-opencode.jsonc .opencode/oh-my-opencode.json
削除の確認
OpenCodeのバージョンコマンドを実行して、プラグインが表示されないことを確認する。
opencode --version
oh-my-openagentの設定
oh-my-openagentの設定ファイルはJSON5およびJSONC形式に対応しており、コメントの記述と末尾カンマが許可されている。
設定ファイルの場所
oh-my-openagentの設定ファイルの場所を以下に示す。
優先度が高い設定が低い設定を上書きする。
- プロジェクト固有設定 (最優先)
- .opencode/oh-my-openagent.json[c] (新名称)
- プロジェクトルートから上位ディレクトリに向かってホームディレクトリまでウォーキング検索を行い、最も近いファイルが優先される。
- .opencode/oh-my-opencode.json[c] (旧名称・互換 - 自動認識、警告付きで自動アップグレード)
- ユーザ全体設定
- ~/.config/opencode/oh-my-openagent.json[c] (新名称)
- ~/.config/opencode/oh-my-opencode.json[c] (旧名称・互換 - 自動認識、警告付きで自動アップグレード)
- OpenCode全体設定
- ~/.config/opencode/opencode.json
JSONスキーマを設定ファイルに指定することにより、エディタ補完が利用できる。
スキーマURLを以下に示す。
https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json
エージェント設定
各エージェントの有効 / 無効を設定できる。
{
"agents": {
"planner-sisyphus": {"enabled": true, "replace_plan": true},
"hephaestus": {"enabled": false},
"prometheus": {"enabled": false},
"librarian": {"enabled": false},
"explore": {"enabled": false},
"oracle": {"enabled": false}
}
}
| 設定項目 | 説明 |
|---|---|
enabled |
true でエージェントを有効化、false で無効化する。 |
replace_plan |
true に設定すると、デフォルトのplanエージェントをこのエージェントで置き換える。 |
モデルマッピング設定
oh-my-openagentは、タスクの種類に応じて4つのカテゴリでLLMを自動的に割り当てる。
| カテゴリ | 説明 | 推奨モデル例 |
|---|---|---|
visual-engineering |
フロントエンド・UI/UX タスク | Claude Sonnet 系 |
deep |
自律的研究・実行 (Hephaestus 等) | Claude Opus 系 |
quick |
単一ファイルの小規模変更 | Claude Haiku 系 |
ultrabrain |
難解・複雑なロジック処理 | GPT-5.5 推奨 |
フック設定
不要なライフサイクルフックを無効化できる。
{
"disabled_hooks": ["comment-checker", "agent-usage-reminder"]
}
disabled_hooks に無効化するフック名を配列で指定する。
MCP設定
不要なMCPサーバを無効化できる。
{
"disabled_mcps": ["context7", "grep_app"]
}
disabled_mcps に無効化するMCP名を配列で指定する。
テレメトリ設定
oh-my-openagentはデフォルトでハッシュIDのみを使用した匿名テレメトリを送信する。
テレメトリを無効化するには、以下の環境変数のいずれかを設定する。
# 匿名テレメトリを無効化
export OMO_SEND_ANONYMOUS_TELEMETRY=0
# PostHog による収集を無効化
export OMO_DISABLE_POSTHOG=1
エージェントチーム
oh-my-openagentが提供するエージェントチームの各メンバーについて説明する。
Sisyphus
Sisyphusは、oh-my-openagentのデフォルトエージェントであり、メインの調整役・オーケストレーターとして機能する。
ギリシャ神話のシジフォスから命名されており、タスクが完了するまで粘り強く実行し続けることを表している。
下表に、主な特徴を示す。
| 項目 | 説明 |
|---|---|
| 役割 | メイン調整役・オーケストレーター 計画、委譲、並列実行管理を担当する。 |
| todo-driven workflow | タスクリストを管理しながら順序立てて実行する。 |
| extended thinking | 複雑な問題に対して深く考察してから行動する。 |
| 自動再開 | 中断後もタスクを自動的に再開できる。 |
| 推奨モデル | Claude Opus 4.7、Kimi K2.6、GLM-5.1 |
Sisyphusは replace_plan: true を設定することにより、デフォルトのplanエージェントを置き換えることができる。
Hephaestus
Hephaestusは、ゴールを指定するだけで自律的に深く作業を進めるエージェントである。
ギリシャ神話の鍛冶の神ヘパイストスから命名されており、ツールや技術の精通を象徴する。
下表に、主な特徴を示す。
| 項目 | 説明 |
|---|---|
| 役割 | 自律的な深い作業者 ゴール指定での独立実行が得意。 |
| コードベースパターン探索 | プロジェクト全体のパターンを自ら探索・理解する。 |
| エンドツーエンド完了 | タスク開始から完了まで自律的に実行する。 |
| Sisyphusとの違い | 他のエージェントへの委譲ではなく、自ら深掘りして作業を完遂する。 |
| 推奨モデル | GPT-5.5 |
Prometheus
Prometheusは、十分なコンテキストを収集した上で専門エージェントに委譲する戦略的プランナーエージェントである。
ギリシャ神話のプロメテウスから命名されており、先見性と戦略的思考を象徴する。
下表に、主な特徴を示す。
| 項目 | 説明 |
|---|---|
| 役割 | 戦略的プランナー 委譲ベースの実行を担当する。 |
| インタビューモード | 作業開始前に十分なコンテキストを収集するための質問を行う。 |
| 要求分類 | ユーザの要求をリファクタリングと新機能開発に分類し、適切な専門エージェントに委譲する。 |
| 直接実行との違い | 自ら直接実行するのではなく、適切な専門家に委ねる。 |
| 推奨モデル | Claude Opus 4.7、Kimi K2.6、GLM-5.1 |
Librarian
Librarianは、ドキュメント管理とコード例・パターン発見に特化したエージェントである。
下表に、主な特徴を示す。
| 項目 | 説明 |
|---|---|
| 役割 | ドキュメント・コード探索専門 ドキュメント管理、コード例・パターンの発見を担当する。 |
| コードベース構造理解 | プロジェクトのファイル構成や依存関係を把握する。 |
| Context7 MCPとの連携 | Context7 MCPと組み合わせて使用することで効果的に機能する。 |
Explore
Exploreは、大規模コードベースのナビゲーションに特化したエージェントである。
下表に、主な特徴を示す。
| 項目 | 説明 |
|---|---|
| 役割 | コード探索専門 大規模コードベースのナビゲーションを担当する。 |
| 素早いコード移動 | 関連するコード間を効率的に移動できる。 |
| パターン検出 | コードベース内のパターンを素早く見つける。 |
| 依存関係分析 | モジュール間の依存関係を分析する。 |
| 用途 | 未知のコードベースへの入門や、既存コードの把握に適している。 |
Oracle
Oracleは、コンテキストを理解した上で質問に答えることに特化したエージェントである。
下表に、主な特徴を示す。
| 項目 | 説明 |
|---|---|
| 役割 | Q&A特化型 コンテキスト認識型の質問応答を担当する。 |
| コード動作原理説明 | なぜそのコードがそのように動作するかを説明する。 |
| ベストプラクティス提示 | 特定の問題に対する推奨されるアプローチを示す。 |
| トラブルシューティング | 問題の原因と解決策を分析する。 |
Multimodal Looker
Multimodal Lookerは、視覚情報の解析に特化したエージェントである。
下表に、主な特徴を示す。
| 項目 | 説明 |
|---|---|
| 役割 | 視覚解析専門 画像・スクリーンショット・図表等視覚情報の解析を担当する。 |
| スクリーンショット解析 | UIのスクリーンショットやエラー画面から情報を抽出する。 |
| 図表理解 | アーキテクチャ図、フローチャート、ER図等の技術的な図表を読み取る。 |
エージェントの比較
下表に、各エージェントの特性を示す。
| エージェント | 主な役割 | 特性 | 推奨用途 | 推奨モデル |
|---|---|---|---|---|
| Sisyphus | オーケストレーター | todo-driven、委譲、並列実行 | 複雑なマルチステップタスク全般 | Claude Opus 4.7、Kimi K2.6、GLM-5.1 |
| Hephaestus | 自律実行者 | 深掘り、エンドツーエンド完了 | 単一ゴールの自律的な実装 | GPT-5.5 |
| Prometheus | 戦略プランナー | インタビュー、分類、委譲 | 要件が不明確な大きなタスク | Claude Opus 4.7、Kimi K2.6、GLM-5.1 |
| Librarian | ドキュメント探索 | コードパターン発見 | ドキュメント作成・コード調査 | - |
| Explore | コード探索 | ナビゲーション、依存関係分析 | 未知コードベースへの入門 | - |
| Oracle | Q&A | コンテキスト認識型回答 | 技術的な質問・トラブルシューティング | - |
| Multimodal Looker | 視覚解析 | 画像・図表・スクリーンショット解析 | UI確認・図表読み取り | - |
Team Mode (v4.0)
v4.0 から導入された Team Mode を使用することにより、リードエージェントと最大8メンバーの並列実行が可能になる。
tmux による可視化もサポートされており、複数エージェントの動作状況をリアルタイムで確認できる。
Team Mode で使用できる専用ツールを以下に示す。
team_create- チームを作成してメンバーエージェントを初期化する。
team_send_message- チームメンバーにメッセージを送信する。
team_task_create- 並列タスクをチームメンバーに割り当てる。
team_status- チーム進捗をモニタリングする。
Team Mode 有効時に利用可能な組み込みスキルを以下に示す。
- hyperplan
- 5つの対立的批評者 (hostile critics) が実装前に計画を多角的に検証する。
- security-research
- 3名のハンタと2名のPoC エンジニアが脆弱性検査を並列実行する。
Team Mode の設定例を以下に示す。
{
"team_mode": {
"enabled": true,
"max_parallel_members": 4,
"tmux_visualization": true
}
}
エージェントの使用方法
基本的な使い方
各エージェントの呼び出し方法を以下に示す。
- プライマリエージェントの切り替え
- [Tab]キーを押下することにより、build と plan エージェントを切り替える。
- サブエージェントの呼び出し
- チャット入力欄で
@に続けてエージェント名を入力する。
- チャット入力欄で
サブエージェントの呼び出し例を以下に示す。
@Librarian このプロジェクトの認証モジュールの構造を教えて @Oracle このエラーの原因と解決策を教えて @Explore このファイルに依存しているモジュールを全て教えて
ultraworkコマンド
oh-my-openagentが提供する ultrawork コマンド (短縮形: ulw) を使用することにより、エージェントがプロジェクトの探索から実装・検証・完了まで自動的に実行する。
ultraworkは、Ralph Loop (自己修正ループ) と Todo Enforcer (放置されたエージェントを引き戻す機能) を組み合わせて、タスクを最後まで自律的に完遂する仕組みである。
低コスト運用の例として、ChatGPT Sub ($20) + Kimi Code ($19) + GLM Plan ($10) 等のサブスクリプション組み合わせでも十分に活用できる。
ultraworkコマンドの使用例を以下に示す。
opencode "ultrawork: Refactor user authentication module, add OAuth2 support"
ultraworkコマンドの実行フローを以下に示す。
- プロジェクト探索
- コードベース全体の構造を把握する。
- パターン研究
- 既存のコードパターンやアーキテクチャを理解する。
- 実装
- タスクを実行する。
- 検証
- 実装結果を確認・テストする。
- 完了
- タスクを完了して結果を報告する。
auto_resume 機能を有効化することにより、中断後も自動的にタスクを再開できる。
設定方法を以下に示す。
{
"experimental": {
"auto_resume": true
}
}
スラッシュコマンド
oh-my-openagentは以下のスラッシュコマンドを提供する。
| コマンド | 説明 |
|---|---|
/start-work |
Prometheusエージェントを呼び出し、インタビューによる段階的プランニングを開始する。 |
/ulw-loop |
自己参照ループを開始する。完了判定が下るまで継続して実行される。 |
/init-deep |
階層的なAGENTS.mdファイルをプロジェクト構造に合わせて自動生成する。 |
開発支援機能
oh-my-openagentは、コーディング品質と精度を向上させる複数の開発支援機能を内蔵している。
Hashline
Hashlineは、コンテンツハッシュ付き行番号タグをソースコードに付与することにより、LLMによる編集精度を大幅に向上させる機能である。
この機能により、編集失敗率が 6.7% から 68.3% 改善されたことが報告されている。
LSP統合
Language Server Protocol (LSP) との統合により、IDE品質のコード操作ツールが利用できる。
提供されるLSPツールを以下に示す。
lsp_rename- シンボルのリネームをLSPを通じて安全に実行する。
lsp_goto_definition- シンボル定義へジャンプする。
lsp_find_references- シンボルの参照箇所をプロジェクト全体から検索する。
lsp_diagnostics- LSPによるコード診断情報 (エラー・警告) を取得する。
AST-Grep
AST-Grepは、25言語以上に対応したパターン認識によるコード検索・書き換えツールである。
抽象構文木 (AST) を利用することにより、単純なテキスト検索では困難なコードパターンの検索・変換が可能である。
Tmux統合
Tmuxとの統合により、REPL・デバッガ等の対話型ツールを完全にサポートする。
エージェントが対話型のターミナルセッションを制御できるため、インタラクティブなデバッグ作業が可能になる。
その他の支援機能
| 機能名 | 説明 |
|---|---|
| Ralph Loop | エージェントの自己修正ループ。実行結果を評価して自動的に修正を繰り返す。 |
| Todo Enforcer | 放置されたTODOタスクを検出し、自動的に作業を再開させる。 |
| Comment Checker | AIが生成したコードコメントの品質をチェックし、不適切なコメントを検出する。 |
内蔵MCP
oh-my-openagentは以下のMCPサーバを内蔵しており、追加設定なしで利用できる。
| MCP名 | 説明 |
|---|---|
| Exa | Web検索を実行する。最新情報の取得やドキュメント参照に使用する。 |
| Context7 | ライブラリ・フレームワークの公式ドキュメントを参照する。 |
| grep.app | GitHub全体からコードを検索する。実装例やライブラリの使用方法調査に有効である。 |
特定のMCPを無効化するには、disabled_mcps 設定を使用する。
{
"disabled_mcps": ["exa", "context7", "grep_app"]
}
認証設定
Claude (Anthropic)
Anthropic Claudeの認証は、現在APIキー方式のみが推奨される。
Anthropicは、サードパーティ製プラグイン経由でClaude Pro / Maxサブスクリプションを使用することを規約により明確に禁止している。
これに伴い、OpenCode 1.3.0以降ではOAuth (Claude Pro / Max) ログイン用プラグインがバンドルされなくなった。
このため、OpenCodeでClaudeを利用する場合はAnthropic Consoleで発行したAPIキーを使用することが事実上の必須要件となっている。
APIキーによる認証手順を以下に示す。
- Anthropic Consoleにアクセスして、APIキーを発行する。
- 以下に示すコマンドを実行する。
opencode auth login
- 表示された一覧から[Anthropic]を選択する。
- 認証方式として[API Key]を選択する。
- 発行したAPIキーを貼り付ける。
- 環境変数を使用してAPIキーを設定する場合は、以下に示すコマンドを実行する。
export ANTHROPIC_API_KEY=<APIキー>
推奨モデルを以下に示す。
- Claude Opus 4.6 / 4.7
- Sisyphus、Prometheus 等の高度な推論を要するエージェント向け
- Claude Sonnet 4.6
- 汎用作業向け
- Claude Haiku 4.5
quickカテゴリ (単一ファイルの軽量タスク) 向け
OpenCodeのTUI内では、/connect コマンドからもAnthropicの認証フローを開始できる。
過去のOpenCodeおよびoh-my-opencodeでは、Claude Pro / MaxサブスクリプションによるOAuthログインが利用可能であった。
しかし、Anthropicの利用規約変更により、現在はサードパーティツールからのPro / Maxサブスクリプションの利用は非サポートとなっている。
従量課金型のAPIキー利用、または、Claude.ai公式インターフェース上での利用に切り替える必要がある。
Google Gemini
Google Geminiの認証には、opencode-antigravity-auth プラグインを使用する。
- ~/.config/opencode/opencode.json にプラグインを追加する。
{ "plugin": ["oh-my-opencode", "opencode-antigravity-auth@latest"] }
- 以下に示すコマンドを実行する。
opencode auth login
- 表示された一覧から[Google]を選択し、OAuth (Antigravity) で認証する。
GLM Coding Plan (Z.AI)
GLM-5は、智谱AI (Zhipu AI / Z.AI) が開発した大規模言語モデルである。
7,440億パラメータの大規模MoEモデルであり、アクティブパラメータは約400億である。
前世代のGLM-4.5 (3,550億パラメータ、アクティブ320億) から大幅にスケールアップしている。
コンテキスト長は200,000トークンに対応し、DeepSeek Sparse Attention を統合している。
「Thinking Mode」を備え、エージェント型の長期計画とコード生成に対応する。
認証手順を以下に示す。
opencode auth loginを実行して、[Z.AI]を選択する。- Z.AI Open Platformにアクセスして、APIキーを取得する。
- APIキーを入力する。
APIキーの形式は {API Key ID}.{secret} である。
- opencode.json ファイルに記述するカスタムプロバイダー設定を以下に示す。
{ "provider": { "zai": { "npm": "@ai-sdk/openai-compatible", "name": "Z.AI", "options": { "baseURL": "https://api.z.ai/api/paas/v4/", "apiKey": "{env:ZAI_API_KEY}" }, "models": { "glm-5.1": { "name": "GLM-5.1" } } } }, "model": "zai/glm-5.1" }
- コーディング専用エンドポイントを使用する場合の設定を以下に示す。
{ "provider": { "zai-coding": { "npm": "@ai-sdk/openai-compatible", "name": "Z.AI Coding", "options": { "baseURL": "https://api.z.ai/api/coding/paas/v4/", "apiKey": "{env:ZAI_API_KEY}" }, "models": { "glm-5.1": { "name": "GLM-5.1 Coding" } } } }, "model": "zai-coding/glm-5.1" }
- 環境変数を使用してAPIキーを設定する場合は、以下に示すコマンドを実行する。
export ZAI_API_KEY=<APIキー>
GitHub Copilot
GitHub Copilotの認証設定手順を以下に示す。
- 以下に示すコマンドを実行する。
opencode auth login
- 表示された一覧から[GitHub]を選択する。
- Webブラウザが開くので、OAuthで認証する。
トラブルシューティング
下表に、oh-my-openagentのインストールおよび動作に関する問題と対処法を示す。
| 問題 | 対処法 |
|---|---|
| インストールが失敗する | Bunがインストールされているか確認する。 OpenCode 1.0.150以降を使用しているか確認する。 |
| JSONの設定が反映されない | 設定ファイルの内容が有効なJSON形式であるか確認する。 |
bunx コマンドが見つからない |
Bunをインストールしてから再試行する。 oh-my-openagent は Bun 専用であり、npx は使用できない。 |
| 旧名称と新名称の混在問題 | oh-my-openagent.json[c] (新名称) と oh-my-opencode.json[c] (旧名称) は両方認識される。新規設定は oh-my-openagent.json[c] を使用することを推奨する。
|
| Snapでインストールしたbunの問題 | OpenCodeのオフィシャルインストーラーを再利用するか、Snap以外の方法でBunをインストールする。 |
| エージェントが起動しない | oh-my-openagent.json の enabled が true になっているか確認する。
|
| インストール後にエージェントが表示されない | bunx oh-my-openagent doctor を実行して環境の診断を行う。
|
| 環境の問題を診断したい | bunx oh-my-openagent doctor を実行する。インストール状態・設定・依存関係の問題を自動検出する。 |