MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
OpenCodeの設定 - エージェントチームのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
OpenCodeの設定 - エージェントチーム
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == OpenCodeは、TypeScriptで開発されたオープンソースのターミナルベースAIコーディングエージェントである。<br> ターミナル、デスクトップアプリ (Linux / MacOS / Windows)、IDE 拡張機能として利用でき、75以上のLLMプロバイダをサポートする。<br> Claude、OpenAI、Google等のクラウドモデルに加えて、ローカルモデルでも利用できる。<br> <br> * 公式リポジトリ *: [https://github.com/anomalyco/opencode anomalyco/opencode] <br> OpenCodeには、プライマリエージェントとサブエージェントによる強力なエージェント機能が搭載されている。<br> プライマリエージェントはタスクの種類に応じて[Tab]キーで切り替え、サブエージェントは <code>@メンション</code> で呼び出すことができる。<br> <br> 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> 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> <center> {| class="wikitable" |+ 組み込みワークフローエージェント一覧 |- ! エージェント名 !! 説明 |- | Sisyphus || メイン調整役・オーケストレーター<br>タスク完了まで実行継続し、中断後の自動再開をサポート |- | Hephaestus || ゴール指定での自律的な深掘り作業<br>コードベース全体をエンドツーエンドで完了 |- | Prometheus || インタビューモードで十分なコンテキストを収集した上で専門エージェントに委譲 |- | Librarian || ドキュメント管理とコード例・パターン発見に特化 |- | Explore || 大規模コードベースのナビゲーションと依存関係分析に特化 |- | Oracle || コンテキスト認識型の質問応答とトラブルシューティングに特化 |- | Multimodal Looker || 画像・スクリーンショット・図表等視覚情報の解析に特化 |} </center> <br><br> == OpenCodeのエージェント機能 == OpenCodeは、プライマリエージェントとサブエージェントの2種類のエージェントを提供する。<br> <br> ==== プライマリエージェント ==== プライマリエージェントはOpenCodeの主要な動作モードを制御する。<br> <br> [Tab]キーで切り替えることができる。<br> <br> <center> {| class="wikitable" |+ エージェントモード一覧 |- ! エージェント名 !! 説明 |- | rowspan="2" | build || デフォルトのエージェント<br>開発作業向けのフルツールアクセスが可能 |- | コード編集、ファイル操作、コマンド実行等全ての操作を実行できる。 |- | rowspan="2" | plan || 読み取り専用エージェント<br>コード修正を行わずに分析・コード探索を行う。 |- | コードベースの構造理解や実装方針の検討に使用する。 |} </center> <br> ==== サブエージェント ==== サブエージェントは、<code>@メンション</code> で呼び出すことができる。<br> <br> <center> {| class="wikitable" |+ サブエージェント一覧 |- ! エージェント名 !! 説明 |- | general || 複雑な調査やマルチステップタスクを担当する汎用サブエージェント |- | explore || コードベース探索用の読み取り専用サブエージェント |} </center> <br> ==== カスタムエージェントの定義 ==== カスタムエージェントは、<u>opencode.json</u> または <u>~/.config/opencode/agents/</u> 内のMarkdownファイルで定義できる。<br> <br> <u>opencode.json</u> ファイルによるカスタムエージェント定義の例を以下に示す。<br> <br> <syntaxhighlight lang="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." } } } </syntaxhighlight> <br> カスタムエージェントの管理には以下に示すコマンドを使用する。<br> <br> opencode agent create <エージェント名> opencode agent list <br><br> == oh-my-openagentのインストール == ==== 前提条件 ==== oh-my-openagentのインストールに必要な前提条件を以下に示す。<br> <br> * OpenCode 1.0.150以降 *: 以前のバージョンでは動作しない場合がある。 * Bun (必須) *: oh-my-openagentはBun専用であり、npm / yarn / pnpmは非推奨である。 *: <code>bunx</code> コマンドが利用可能であること。 <br> 対応プラットフォームおよびバイナリ構成を以下に示す。(全11種)<br> <br> * Linux ** x64 ** x64-baseline ** x64-musl ** x64-musl-baseline ** ARM64 ** ARM64-musl * MacOS ** ARM64 ** x64 ** x64-baseline * Windows ** x64 ** x64-baseline <br> ==== インストール手順 ==== oh-my-openagentのインストール手順を以下に示す。<br> <br> # OpenCodeをインストールする。 #: OpenCodeのインストールは、[[インストール - OpenCode]]のページを参照すること。 # oh-my-openagentをインストールする。 #: <pre>bunx oh-my-openagent install</pre> # OpenCodeを起動する。 #: <pre>opencode</pre> <br> oh-my-openagentはOpenCodeのプラグインとして動作しており、シェルエイリアスやPATHによる独立したCLIではない。<br> インストール時はOpenCodeのplugin配列に追加され、設定ファイルが自動的に作成される。<br> <br> ==== インストールオプション ==== <code>bunx oh-my-openagent install</code> には、各種AIプロバイダーの設定を同時に行うオプションが用意されている。<br> <br> 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> <center> {| class="wikitable" |+ インストールスクリプトのオプション一覧 |- ! オプション !! 説明 |- | <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>--gemini=yes|no</nowiki></code> || Google Geminiの認証設定を行う。 |- | <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>--zai-coding-plan=yes|no</nowiki></code> || Z.AIコーディングプランの設定を行う。 |- | <code>--no-tui</code> || TUIを使用せず、対話なしでインストールを実行する。 |} </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> * ユーザ全体の設定ファイル *: <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> == oh-my-openagentの設定 == oh-my-openagentの設定ファイルはJSON5およびJSONC形式に対応しており、コメントの記述と末尾カンマが許可されている。<br> <br> ==== 設定ファイルの場所 ==== oh-my-openagentの設定ファイルの場所を以下に示す。<br> 優先度が高い設定が低い設定を上書きする。<br> <br> * プロジェクト固有設定 (最優先) *: <u>.opencode/oh-my-openagent.json[c]</u> (新名称) *: プロジェクトルートから上位ディレクトリに向かってホームディレクトリまでウォーキング検索を行い、最も近いファイルが優先される。 *: <u>.opencode/oh-my-opencode.json[c]</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> <br> <syntaxhighlight lang="json"> { "agents": { "planner-sisyphus": {"enabled": true, "replace_plan": true}, "hephaestus": {"enabled": false}, "prometheus": {"enabled": false}, "librarian": {"enabled": false}, "explore": {"enabled": false}, "oracle": {"enabled": false} } } </syntaxhighlight> <br> <center> {| class="wikitable" |+ カスタムエージェントの設定項目 |- ! 設定項目 !! 説明 |- | <code>enabled</code> || <u>true</u> でエージェントを有効化、<u>false</u> で無効化する。 |- | <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> <br> ==== フック設定 ==== 不要なライフサイクルフックを無効化できる。<br> <br> <syntaxhighlight lang="json"> { "disabled_hooks": ["comment-checker", "agent-usage-reminder"] } </syntaxhighlight> <br> <code>disabled_hooks</code> に無効化するフック名を配列で指定する。<br> <br> ==== MCP設定 ==== 不要なMCPサーバを無効化できる。<br> <br> <syntaxhighlight lang="json"> { "disabled_mcps": ["context7", "grep_app"] } </syntaxhighlight> <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> == エージェントチーム == oh-my-openagentが提供するエージェントチームの各メンバーについて説明する。<br> <br> ==== Sisyphus ==== Sisyphusは、oh-my-openagentのデフォルトエージェントであり、メインの調整役・オーケストレーターとして機能する。<br> ギリシャ神話のシジフォスから命名されており、タスクが完了するまで粘り強く実行し続けることを表している。<br> <br> 下表に、主な特徴を示す。<br> <br> <center> {| class="wikitable" |+ Sisyphusの特徴 |- ! 項目 !! 説明 |- | 役割 || メイン調整役・オーケストレーター<br>計画、委譲、並列実行管理を担当する。 |- | todo-driven workflow || タスクリストを管理しながら順序立てて実行する。 |- | extended thinking || 複雑な問題に対して深く考察してから行動する。 |- | 自動再開 || 中断後もタスクを自動的に再開できる。 |- | 推奨モデル || Claude Opus 4.7、Kimi K2.6、GLM-5.1 |} </center> <br> Sisyphusは <code>replace_plan: true</code> を設定することにより、デフォルトのplanエージェントを置き換えることができる。<br> <br> ==== Hephaestus ==== Hephaestusは、ゴールを指定するだけで自律的に深く作業を進めるエージェントである。<br> ギリシャ神話の鍛冶の神ヘパイストスから命名されており、ツールや技術の精通を象徴する。<br> <br> 下表に、主な特徴を示す。<br> <br> <center> {| class="wikitable" |+ Hephaestus の主な特徴 |- ! 項目 !! 説明 |- | 役割 || 自律的な深い作業者<br>ゴール指定での独立実行が得意。 |- | コードベースパターン探索 || プロジェクト全体のパターンを自ら探索・理解する。 |- | エンドツーエンド完了 || タスク開始から完了まで自律的に実行する。 |- | Sisyphusとの違い || 他のエージェントへの委譲ではなく、自ら深掘りして作業を完遂する。 |- | 推奨モデル || GPT-5.5 |} </center> <br> ==== Prometheus ==== Prometheusは、十分なコンテキストを収集した上で専門エージェントに委譲する戦略的プランナーエージェントである。<br> ギリシャ神話のプロメテウスから命名されており、先見性と戦略的思考を象徴する。<br> <br> 下表に、主な特徴を示す。<br> <br> <center> {| class="wikitable" |+ Prometheusの特徴 |- ! 項目 !! 説明 |- | 役割 || 戦略的プランナー<br>委譲ベースの実行を担当する。 |- | インタビューモード || 作業開始前に十分なコンテキストを収集するための質問を行う。 |- | 要求分類 || ユーザの要求をリファクタリングと新機能開発に分類し、適切な専門エージェントに委譲する。 |- | 直接実行との違い || 自ら直接実行するのではなく、適切な専門家に委ねる。 |- | 推奨モデル || Claude Opus 4.7、Kimi K2.6、GLM-5.1 |} </center> <br> ==== Librarian ==== Librarianは、ドキュメント管理とコード例・パターン発見に特化したエージェントである。<br> <br> 下表に、主な特徴を示す。<br> <br> <center> {| class="wikitable" |+ Librarianの特徴 |- ! 項目 !! 説明 |- | 役割 || ドキュメント・コード探索専門<br>ドキュメント管理、コード例・パターンの発見を担当する。 |- | コードベース構造理解 || プロジェクトのファイル構成や依存関係を把握する。 |- | Context7 MCPとの連携 || Context7 MCPと組み合わせて使用することで効果的に機能する。 |} </center> <br> ==== Explore ==== Exploreは、大規模コードベースのナビゲーションに特化したエージェントである。<br> <br> 下表に、主な特徴を示す。<br> <br> <center> {| class="wikitable" |+ Exploreの特徴 |- ! 項目 !! 説明 |- | 役割 || コード探索専門<br>大規模コードベースのナビゲーションを担当する。 |- | 素早いコード移動 || 関連するコード間を効率的に移動できる。 |- | パターン検出 || コードベース内のパターンを素早く見つける。 |- | 依存関係分析 || モジュール間の依存関係を分析する。 |- | 用途 || 未知のコードベースへの入門や、既存コードの把握に適している。 |} </center> <br> ==== Oracle ==== Oracleは、コンテキストを理解した上で質問に答えることに特化したエージェントである。<br> <br> 下表に、主な特徴を示す。<br> <br> <center> {| class="wikitable" |+ Oracleの特徴 |- ! 項目 !! 説明 |- | 役割 || Q&A特化型<br>コンテキスト認識型の質問応答を担当する。 |- | コード動作原理説明 || なぜそのコードがそのように動作するかを説明する。 |- | ベストプラクティス提示 || 特定の問題に対する推奨されるアプローチを示す。 |- | トラブルシューティング || 問題の原因と解決策を分析する。 |} </center> <br> ==== Multimodal Looker ==== Multimodal Lookerは、視覚情報の解析に特化したエージェントである。<br> <br> 下表に、主な特徴を示す。<br> <br> <center> {| class="wikitable" |+ Multimodal Lookerの特徴 |- ! 項目 !! 説明 |- | 役割 || 視覚解析専門<br>画像・スクリーンショット・図表等視覚情報の解析を担当する。 |- | スクリーンショット解析 || UIのスクリーンショットやエラー画面から情報を抽出する。 |- | 図表理解 || アーキテクチャ図、フローチャート、ER図等の技術的な図表を読み取る。 |} </center> <br> ==== エージェントの比較 ==== 下表に、各エージェントの特性を示す。<br> <br> <center> {| class="wikitable" |+ oh-my-openagent エージェント比較 ! エージェント !! 主な役割 !! 特性 !! 推奨用途 !! 推奨モデル |- | 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確認・図表読み取り || - |} </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> * プライマリエージェントの切り替え *: [Tab]キーを押下することにより、<u>build</u> と <u>plan</u> エージェントを切り替える。 * サブエージェントの呼び出し *: チャット入力欄で <code>@</code> に続けてエージェント名を入力する。 <br> サブエージェントの呼び出し例を以下に示す。<br> <br> @Librarian このプロジェクトの認証モジュールの構造を教えて @Oracle このエラーの原因と解決策を教えて @Explore このファイルに依存しているモジュールを全て教えて <br> ==== ultraworkコマンド ==== 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> ultraworkコマンドの使用例を以下に示す。<br> <br> opencode "ultrawork: Refactor user authentication module, add OAuth2 support" <br> ultraworkコマンドの実行フローを以下に示す。<br> <br> # プロジェクト探索 #: コードベース全体の構造を把握する。 # パターン研究 #: 既存のコードパターンやアーキテクチャを理解する。 # 実装 #: タスクを実行する。 # 検証 #: 実装結果を確認・テストする。 # 完了 #: タスクを完了して結果を報告する。 <br> <code>auto_resume</code> 機能を有効化することにより、中断後も自動的にタスクを再開できる。<br> 設定方法を以下に示す。<br> <br> <syntaxhighlight lang="json"> { "experimental": { "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> <br><br> == 認証設定 == ==== Claude (Anthropic) ==== Anthropic Claudeの認証は、現在APIキー方式のみが推奨される。<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> #: <br> # 表示された一覧から[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> 過去のOpenCodeおよびoh-my-opencodeでは、Claude Pro / MaxサブスクリプションによるOAuthログインが利用可能であった。<br> しかし、Anthropicの利用規約変更により、現在はサードパーティツールからのPro / Maxサブスクリプションの利用は非サポートとなっている。<br> 従量課金型のAPIキー利用、または、Claude.ai公式インターフェース上での利用に切り替える必要がある。<br> <br> ==== Google Gemini ==== Google Geminiの認証には、<u>opencode-antigravity-auth</u> プラグインを使用する。<br> <br> # <u>~/.config/opencode/opencode.json</u> にプラグインを追加する。 #: <syntaxhighlight lang="json"> { "plugin": ["oh-my-opencode", "opencode-antigravity-auth@latest"] } </syntaxhighlight> #: <br> # 以下に示すコマンドを実行する。 #: <pre>opencode auth login</pre> # 表示された一覧から[Google]を選択し、OAuth (Antigravity) で認証する。 <br> ==== GLM 5 (Z.AI) ==== 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> # <code>opencode auth login</code> を実行して、[Z.AI]を選択する。 # [https://z.ai/ Z.AI Open Platform]にアクセスして、APIキーを取得する。 # APIキーを入力する。<br>APIキーの形式は <u>{API Key ID}.{secret}</u> である。 <br> * <u>opencode.json</u> ファイルに記述するカスタムプロバイダー設定を以下に示す。 *: <syntaxhighlight lang="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": { "name": "GLM-5" } } } }, "model": "zai/glm-5" } </syntaxhighlight> *: <br> * コーディング専用エンドポイントを使用する場合の設定を以下に示す。 *: <syntaxhighlight lang="json"> { "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": { "name": "GLM-5 Coding" } } } }, "model": "zai-coding/glm-5" } </syntaxhighlight> *: <br> * 環境変数を使用してAPIキーを設定する場合は、以下に示すコマンドを実行する。 *: <syntaxhighlight lang="sh"> export ZAI_API_KEY=<APIキー> </syntaxhighlight> <br> ==== GitHub Copilot ==== GitHub Copilotの認証設定手順を以下に示す。<br> <br> # 以下に示すコマンドを実行する。 #: <pre>opencode auth login</pre> #: <br> # 表示された一覧から[GitHub]を選択する。 # Webブラウザが開くので、OAuthで認証する。 <br><br> == トラブルシューティング == 下表に、oh-my-openagentのインストールおよび動作に関する問題と対処法を示す。<br> <br> <center> {| class="wikitable" |+ トラブルシューティング一覧 ! 問題 !! 対処法 |- | インストールが失敗する || Bunがインストールされているか確認する。<br>OpenCode 1.0.150以降を使用しているか確認する。 |- | JSONの設定が反映されない || 設定ファイルの内容が有効なJSON形式であるか確認する。 |- | <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> <br><br> {{#seo: |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-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 |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:設定]]
OpenCodeの設定 - エージェントチーム
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse