OpenCodeの設定 - エージェントチーム

提供: MochiuWiki : SUSE, EC, PCB

2026年5月9日 (土) 14:05時点におけるWiki (トーク | 投稿記録)による版 (GLM 5 (Z.AI))
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

概要

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のインストール手順を以下に示す。

  1. OpenCodeをインストールする。
    OpenCodeのインストールは、インストール - OpenCodeのページを参照すること。
  2. oh-my-openagentをインストールする。
    bunx oh-my-openagent install
  3. 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サブコマンドを以下に示す。

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


削除対象ファイル一覧
場所 ファイル 用途
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のデフォルトエージェントであり、メインの調整役・オーケストレーターとして機能する。
ギリシャ神話のシジフォスから命名されており、タスクが完了するまで粘り強く実行し続けることを表している。

下表に、主な特徴を示す。

Sisyphusの特徴
項目 説明
役割 メイン調整役・オーケストレーター
計画、委譲、並列実行管理を担当する。
todo-driven workflow タスクリストを管理しながら順序立てて実行する。
extended thinking 複雑な問題に対して深く考察してから行動する。
自動再開 中断後もタスクを自動的に再開できる。
推奨モデル Claude Opus 4.7、Kimi K2.6、GLM-5.1


Sisyphusは replace_plan: true を設定することにより、デフォルトのplanエージェントを置き換えることができる。

Hephaestus

Hephaestusは、ゴールを指定するだけで自律的に深く作業を進めるエージェントである。
ギリシャ神話の鍛冶の神ヘパイストスから命名されており、ツールや技術の精通を象徴する。

下表に、主な特徴を示す。

Hephaestus の主な特徴
項目 説明
役割 自律的な深い作業者
ゴール指定での独立実行が得意。
コードベースパターン探索 プロジェクト全体のパターンを自ら探索・理解する。
エンドツーエンド完了 タスク開始から完了まで自律的に実行する。
Sisyphusとの違い 他のエージェントへの委譲ではなく、自ら深掘りして作業を完遂する。
推奨モデル GPT-5.5


Prometheus

Prometheusは、十分なコンテキストを収集した上で専門エージェントに委譲する戦略的プランナーエージェントである。
ギリシャ神話のプロメテウスから命名されており、先見性と戦略的思考を象徴する。

下表に、主な特徴を示す。

Prometheusの特徴
項目 説明
役割 戦略的プランナー
委譲ベースの実行を担当する。
インタビューモード 作業開始前に十分なコンテキストを収集するための質問を行う。
要求分類 ユーザの要求をリファクタリングと新機能開発に分類し、適切な専門エージェントに委譲する。
直接実行との違い 自ら直接実行するのではなく、適切な専門家に委ねる。
推奨モデル Claude Opus 4.7、Kimi K2.6、GLM-5.1


Librarian

Librarianは、ドキュメント管理とコード例・パターン発見に特化したエージェントである。

下表に、主な特徴を示す。

Librarianの特徴
項目 説明
役割 ドキュメント・コード探索専門
ドキュメント管理、コード例・パターンの発見を担当する。
コードベース構造理解 プロジェクトのファイル構成や依存関係を把握する。
Context7 MCPとの連携 Context7 MCPと組み合わせて使用することで効果的に機能する。


Explore

Exploreは、大規模コードベースのナビゲーションに特化したエージェントである。

下表に、主な特徴を示す。

Exploreの特徴
項目 説明
役割 コード探索専門
大規模コードベースのナビゲーションを担当する。
素早いコード移動 関連するコード間を効率的に移動できる。
パターン検出 コードベース内のパターンを素早く見つける。
依存関係分析 モジュール間の依存関係を分析する。
用途 未知のコードベースへの入門や、既存コードの把握に適している。


Oracle

Oracleは、コンテキストを理解した上で質問に答えることに特化したエージェントである。

下表に、主な特徴を示す。

Oracleの特徴
項目 説明
役割 Q&A特化型
コンテキスト認識型の質問応答を担当する。
コード動作原理説明 なぜそのコードがそのように動作するかを説明する。
ベストプラクティス提示 特定の問題に対する推奨されるアプローチを示す。
トラブルシューティング 問題の原因と解決策を分析する。


Multimodal Looker

Multimodal Lookerは、視覚情報の解析に特化したエージェントである。

下表に、主な特徴を示す。

Multimodal Lookerの特徴
項目 説明
役割 視覚解析専門
画像・スクリーンショット・図表等視覚情報の解析を担当する。
スクリーンショット解析 UIのスクリーンショットやエラー画面から情報を抽出する。
図表理解 アーキテクチャ図、フローチャート、ER図等の技術的な図表を読み取る。


エージェントの比較

下表に、各エージェントの特性を示す。

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確認・図表読み取り -


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]キーを押下することにより、buildplan エージェントを切り替える。
  • サブエージェントの呼び出し
    チャット入力欄で @ に続けてエージェント名を入力する。


サブエージェントの呼び出し例を以下に示す。

@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コマンドの実行フローを以下に示す。

  1. プロジェクト探索
    コードベース全体の構造を把握する。
  2. パターン研究
    既存のコードパターンやアーキテクチャを理解する。
  3. 実装
    タスクを実行する。
  4. 検証
    実装結果を確認・テストする。
  5. 完了
    タスクを完了して結果を報告する。


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サーバ一覧
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キーによる認証手順を以下に示す。

  1. Anthropic Consoleにアクセスして、APIキーを発行する。
  2. 以下に示すコマンドを実行する。
    opencode auth login

  3. 表示された一覧から[Anthropic]を選択する。
  4. 認証方式として[API Key]を選択する。
  5. 発行した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 プラグインを使用する。

  1. ~/.config/opencode/opencode.json にプラグインを追加する。
     {
        "plugin": ["oh-my-opencode", "opencode-antigravity-auth@latest"]
     }
    

  2. 以下に示すコマンドを実行する。
    opencode auth login
  3. 表示された一覧から[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」を備え、エージェント型の長期計画とコード生成に対応する。

認証手順を以下に示す。

  1. opencode auth login を実行して、[Z.AI]を選択する。
  2. Z.AI Open Platformにアクセスして、APIキーを取得する。
  3. 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の認証設定手順を以下に示す。

  1. 以下に示すコマンドを実行する。
    opencode auth login

  2. 表示された一覧から[GitHub]を選択する。
  3. 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.jsonenabledtrue になっているか確認する。
インストール後にエージェントが表示されない bunx oh-my-openagent doctor を実行して環境の診断を行う。
環境の問題を診断したい bunx oh-my-openagent doctor を実行する。
インストール状態・設定・依存関係の問題を自動検出する。