友人を招待して無料トークンを獲得!詳細を見る

OpenCodeをCodingPlanXカスタムモデルに接続する

> OpenCodeオープンソースターミナルAIプログラミングアシスタントとCodingPlanX APIを組み合わせて、究極のコマンドライン開発体験を構築しましょう。


🌟 プロジェクト紹介

OpenCode は、100%オープンソースのターミナルAIプログラミングアシスタントです。設計思想はClaude Codeに似ていますが、極めて高い柔軟性とカスタマイズ性を提供します。特定のAIサービスプロバイダーに縛られることなく、複数のモデルの自由な切り替え、ネイティブのLSP(言語サーバープロトコル)統合、およびギークライクなTUI(ターミナルユーザーインターフェース)をサポートしています。

OpenCode インターフェースのスクリーンショット

1. OpenCode のコア機能

OpenCode は、ギークやターミナルヘビーユーザー向けに構築された、SSTチーム開発のオープンソースAIプログラミングエージェントです:

  • 🔓 100% オープンソース:MITライセンスに基づいており、コードは完全に透明です。
  • 🧠 マルチモデルサポート:Claude、OpenAI、Google Geminiなど、複数のモデルを同時に設定し、シームレスに切り替えることができます。
  • ⚡ ネイティブ LSP サポート:言語サーバープロトコルが組み込まれており、超高速で正確なインテリジェントコード分析とジャンプを提供します。
  • 🖥️ TUI 優先:ターミナルユーザー向けに特別に設計されており、経験豊富なNeovimユーザーによって作成され、フルキーボード操作が可能です。
  • 🌐 C/S アーキテクチャ:リモート駆動をサポートしており、ローカルマシンでサーバーを実行し、モバイルデバイスや別のコンピューターを使用してリモートコントロールできます。
  • 🔄 デュアル組み込みエージェント:デフォルトで build(完全な読み書き権限、主力開発用)と plan(読み取り専用権限、分析と計画用)が含まれています。

2. oh-my-opencode (推奨拡張パッケージ)

oh-my-opencode は、OpenCodeの最強の拡張プラグインであり、コミュニティからは "OpenCodeのステロイド" と呼ばれています。すぐに使えるプロフェッショナルなAIプログラミング体験を提供します。

oh-my-opencode インターフェース

コア拡張機能:

  • 非同期サブエージェント:Claude Codeに似た並列タスク処理機能により、複雑なタスクの効率を大幅に向上させます。
  • 厳選された Agent 設定:複数のプロフェッショナルなエージェント役割(アーキテクト、司書、探索者など)が事前設定されています。
  • 高度な AST ツール:インテリジェントなリファクタリング、詳細なコード分析、シンボル検索などの高度な機能をサポートします。
  • 超強力な並列モード:プロンプトに ultrawork を追加するだけで、最強の並列モードが自動的に有効になります。

組み込みのエージェント役割一覧表:

エージェント名推奨モデル主な用途
👑 SisyphusClaude Opus 4.6メインオーケストレーションエージェント。全体的な計画とバックグラウンドでの並列タスクの委任を担当
🔮 OracleGPT 5.2アーキテクチャ設計、詳細なコードレビュー、技術戦略の分析
📚 LibrarianClaude Sonnet 4.6マルチリポジトリ分析、公式ドキュメントの参照、オープンソースの実装例の検索
🗺️ ExploreGrok Code / Haiku超高速コードスキャン、コードベースの探索とパターンマッチング
🎨 FrontendGemini 3 Proフロントエンド開発に特化し、美しく直感的なUI/UXの作成が得意

🚀 インストールと設定

ステップ 1:OpenCode メインプログラムのインストール

OpenCodeのイテレーション速度は非常に速いため、公式が推奨するスクリプトを使用して最新バージョンをインストールすることをお勧めします(公式ドキュメント):

# curl を使用したクイックインストール(推奨)
curl -fsSL https://opencode.ai/install | bash

# または Node.js パッケージマネージャーを使用
npm install -g opencode  # bun / pnpm / yarn のいずれでも可

# macOSユーザーはHomebrewも使用できます
brew install opencode

ステップ 2:oh-my-opencode のインストール(強く推奨)

oh-my-opencode はすぐに使えるプロフェッショナルな設定テンプレートを提供し、面倒な手動チューニングを省きます:

bunx oh-my-opencode install

> 💡 ヒント:インストール中にインタラクティブなウィザードが起動し、どのAIサブスクリプション(Claude、ChatGPTなど)を持っているか尋ねられます。実際の状況に応じてチェックを入れてください。

ステップ 3:CodingPlanX API ノードとモデルの設定

これが最も重要なステップです!テキストエディタを使用して設定ファイル ~/.config/opencode/opencode.json を作成または変更してください。

> 🎯 モデルの選択について: > 以下の設定テンプレートでは、CodingPlanXが提供する Claude シリーズ と GPT Codex シリーズ のモデルの組み合わせを使用しています。これらは各種の権威あるプログラミングベンチマークで最も優れたパフォーマンスを示しており、開発者のゴールデンパートナーです。

以下のJSON内容を完全にコピーして、あなたの opencode.json を上書きしてください:

<details open=""> <summary><b>クリックして完全な opencode.json 設定コードを展開</b></summary>
{
  "$schema": "https://opencode.ai/config.json",

  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://api.codingplanx.ai/v1"
      }
    },
    "openai": {
      "options": {
        "baseURL": "https://api.codingplanx.ai"
      }
    }
  },

  "model": "anthropic/claude-opus-4-5-20251101",
  "small_model": "anthropic/claude-haiku-4-5-20251001",
  "default_agent": "build",

  "permission": {
    "read": "allow", "list": "allow", "glob": "allow", "grep": "allow",
    "codesearch": "allow", "lsp": "allow",
    "edit": "ask", "bash": "ask", "webfetch": "ask", "websearch": "ask",
    "external_directory": "deny", "doom_loop": "ask"
  },

  "agent": {
    "plan": {
      "mode": "primary",
      "description": "計画/分解/技術仕様(読み取り専用、誤ったコード変更を防止)",
      "model": "anthropic/claude-opus-4-5-20251101",
      "temperature": 0.1,
      "prompt": "あなたはシニアテクニカルリードです。目標:要件を実行可能なステップ(受け入れ基準/リスク/ロールバックを含む)に分解すること。デフォルトでは読み取り専用であり、ファイルを変更したり、コマンドを実行したりしないでください。実行が本当に必要な場合は、まず理由を説明し、build/codex に切り替えることを提案してください。",
      "permission": { "edit": "deny", "bash": "deny", "webfetch": "deny", "websearch": "deny", "doom_loop": "deny" }
    },

    "build": {
      "mode": "primary",
      "description": "主力開発(エンドツーエンド実装/デバッグ/テスト修正)- Claude Opus 4.6",
      "model": "anthropic/claude-opus-4-5-20251101",
      "temperature": 0.2,
      "prompt": "あなたは主力ソフトウェアエンジニアリングagentです。優先事項:最小実行可能変更、可読性、テスト容易性。変更を加える前に、まずソリューションを簡単に説明してください。変更後は必ず以下を提供してください:重要なdiffポイント、ローカルでの検証方法(コマンド)、潜在的なエッジケース。",
      "permission": { "edit": "allow", "bash": "allow", "webfetch": "ask", "websearch": "ask", "doom_loop": "ask" }
    },

    "codex": {
      "mode": "primary",
      "description": "リファクタリング/移行/大規模変更(Codex)- GPT-5.2",
      "model": "openai/gpt-5.2-2025-12-11",
      "temperature": 0.2,
      "prompt": "あなたはCodexスタイルのエンジニアリングagentであり、大規模なリファクタリング、移行、コードレビュー、複雑なツールチェーンの連携を得意としています。エンジニアリングの実行可能性の維持を優先します:段階的なコミット、各ステップの検証可能性。不確実性がある場合は、まず保護とテストを追加してください。",
      "permission": { "edit": "allow", "bash": "allow", "webfetch": "ask", "websearch": "ask", "doom_loop": "ask" }
    },

    "review": {
      "mode": "subagent",
      "description": "コードレビュー/第2の脳(読み取り専用)- GPT-5.1-Codex-Max",
      "model": "openai/gpt-5.1-codex-max",
      "temperature": 0.1,
      "prompt": "あなたは厳格なコードレビュアーです。出力:1) 重要なリスク(バグ/セキュリティ/並行性/境界) 2) 保守性の提案 3) 最小限の変更提案(疑似diff使用可) 4) 必要なテストポイント。デフォルトでは読み取り専用であり、ファイルを変更したり、コマンドを実行したりしないでください。",
      "permission": { "edit": "deny", "bash": "deny", "webfetch": "deny", "websearch": "deny", "doom_loop": "deny" }
    },

    "explore": {
      "mode": "subagent",
      "description": "高速コードスキャン/ファイル特定/コンテキストの要約(読み取り専用)- Claude Haiku 4.5",
      "model": "anthropic/claude-haiku-4-5-20251001",
      "temperature": 0.1,
      "prompt": "あなたは高速探索サブagentです:最小限のステップで関連するファイル/関数/コールチェーンを特定し、明確なパスと要約を提供してください。デフォルトでは読み取り専用であり、ファイルを変更したり、コマンドを実行したりしないでください。",
      "permission": { "edit": "deny", "bash": "deny" }
    },

    "general": {
      "mode": "subagent",
      "description": "一般的な調査/説明の記述/ソリューションの比較(中コスト)- Claude Sonnet 4.6",
      "model": "anthropic/claude-sonnet-4-5-20250929",
      "temperature": 0.2,
      "prompt": "あなたは一般的な分析サブagentです:説明、トレードオフ、ドキュメントの作成、およびソリューションの比較に重点を置いています。デフォルトでは読み取り専用であり、コードの変更は極力避けてください。",
      "permission": { "edit": "deny", "bash": "deny" }
    },

    "think": {
      "mode": "subagent",
      "description": "思考の補助/エッジケースの推論(読み取り専用)- GPT-5.2",
      "model": "openai/gpt-5.2-2025-12-11",
      "temperature": 0.2,
      "prompt": "あなたは推論とエッジケース推論のサブagentです:設計、例外パス、並行性/一貫性、パフォーマンスのボトルネックについて構造化された分析と提案を提供してください。デフォルトでは読み取り専用です。",
      "permission": { "edit": "deny", "bash": "deny" }
    }
  }
}
</details>

ステップ 4:API キーの設定

2つのプロバイダー(Anthropic と OpenAI)を設定したため、CodingPlanXで取得したAPIキーをOpenCode内でバインドする必要があります。

  1. ターミナルで opencode と入力してプログラムを起動します。
  2. ダイアログボックスに /connect コマンドを入力します。
  3. Claude の設定:
    • Anthropic を選択 -> Manually enter API Key を選択します。
    • CodingPlanXのAPIキーを貼り付けて、Enterキーを押して保存します。
  4. OpenAI の設定:
    • 再び /connect と入力します。
    • OpenAI を選択 -> Manually enter API Key を選択します。
    • CodingPlanXのAPIキーを貼り付けて、Enterキーを押して保存します。
  5. /exit と入力して終了し、設定を有効にするために opencode を再起動します。

> 🔐 注:APIキーは、ローカルの ~/.local/share/opencode/auth.json ファイルに安全に保存されます。


💡 高度な使用テクニック

設定が完了したら、ターミナルで opencode と入力するだけで対話を開始できます:

&gt; こんにちは、現在のディレクトリにある package.json を読み込んで、このプロジェクトについて紹介してください。

1. ⚡ Ultrawork 究極の並列モード

oh-my-opencode をインストールしている場合、プロンプトに ultrawork または省略形 ulw を追加するだけで、OpenCodeはメインエージェントを呼び出してタスクを分解し、バックグラウンドのサブエージェントに並列処理をディスパッチします:

&gt; ultrawork src/auth ディレクトリの下にある認証モジュールをリファクタリングし、ユニットテストを追加して。

2. 🎯 @ 構文によるエージェントの直接呼び出し

@ 記号を使用して、JSONで設定した専門のエージェントに特定のタスクを正確にディスパッチできます:

&gt; @review コミットしたばかりの login.ts のロジックにセキュリティの脆弱性がないかレビューして。
&gt; @explore プロジェクト内で getUserInfo を呼び出しているすべてのAPIエンドポイントを検索して。
&gt; @general 現在のプロジェクトで React Context と Redux のどちらを使うのが良いか比較して。

3. 🔄 Tab キーによる超高速作業モード切り替え

入力ボックスで Tab キーを押すと、メインエージェント間で素早く切り替えることができます:

  • build:主力モード。完全なファイルの読み書きとターミナル実行権限を持ちます。
  • plan:セーフモード。読み取り専用権限。初期の要件分解、アーキテクチャ分析、技術計画に使用され、AIによる意図しないコード変更を防ぎます。

🛠️ よくある質問とトラブルシューティング (FAQ)

Q1:API接続の失敗またはタイムアウトが表示される場合は?

  • opencode.json 内の baseURL が正しいか確認してください。
  • ターミナルでプロキシの競合が発生していないか確認してください(通常は直接IP接続を使用することでシステムプロキシの問題を回避できます)。

Q2:"Model not found" またはモデルが利用できないと表示される場合は?

  • 設定ファイル内のモデルID(例:claude-opus-4-5-20251101)が、CodingPlanX公式が提供するモデルリストと完全に一致しているか、スペルミスがないか確認してください。

Q3:oh-my-opencode プラグインでエラーが発生する場合は?

  • プラグインは高速開発段階にあります。バグが発生した場合は、更新を試みてください:bunx oh-my-opencode update。
  • その他の設定の問題については、oh-my-opencode 公式ドキュメント を参照してください。

🔗 参考文献と次のステップ