📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

ページの作成:「== 概要 == OpenCodeは、オープンソースのAIコーディングエージェントである。<br> ターミナルベースのTUI (ターミナルユーザーインターフェース) を提供し、75以上のLLMプロバイダに対応している。<br> <br> 主要な特徴として、以下が挙げられる。<br> * Anthropic (Claude)、OpenAI (GPT)、Google (Gemini)、GitHub Copilot、Ollama等のモデルの主要プロバイダをサポート * 2026…」
 
 
(同じ利用者による、間の11版が非表示)
69行目: 69行目:
|-
|-
| GitHub Copilot || GitHub認証 (OAuth) || <code>/connect</code> コマンドで認証
| GitHub Copilot || GitHub認証 (OAuth) || <code>/connect</code> コマンドで認証
|-
| Z.AI || APIキー || GLM-5、GLM-4.7等をサポート<br>GLM Coding Plan対応
|-
|-
| AWS Bedrock || AWS認証情報 || Anthropicモデルのホスティング
| AWS Bedrock || AWS認証情報 || Anthropicモデルのホスティング
99行目: 101行目:
|-
|-
| ローカル実行 || Qwen 2.5 Coder (Ollama)
| ローカル実行 || Qwen 2.5 Coder (Ollama)
|-
| コスト効率重視 || GLM-4.7、GLM-5 (Z.AI Coding Plan)
|}
|}
</center>
</center>
212行目: 216行目:
  export ANTHROPIC_API_KEY="sk-..."
  export ANTHROPIC_API_KEY="sk-..."
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
===== Z.AI (GLM) との連携 =====
Z.AIのGLMモデル (GLM-5、GLM-4.7等) をOpenCodeで使用するには、[https://z.ai/subscribe Z.AI GLM または GLM Coding Plan]のサブスクリプション契約およびAPIキーが必要である。<br>
<br>
====== GLM / GLM Coding Planの概要 ======
GLM / GLM Coding Planは、Z.AIが提供するAIコーディング向けのサブスクリプションプランである。<br>
<br>
<center>
{| class="wikitable"
|+ GLM Coding Plan
! プラン !! 月額 !! GLM-5対応 !! 5時間あたりの目安
|-
| Lite || $10 || 対応 || 約80プロンプト
|-
| Pro || $30 || 対応 || 約400プロンプト
|-
| Max || $120 || 対応 || 約1,600プロンプト
|}
</center>
<br>
使用可能なモデルは以下の通りである。<br>
* GLM-5 (ProプランおよびMaxプランのみ)
* GLM-4.7
* GLM-4.6
* GLM-4.5
* GLM-4.5-Air
<br>
GLM-5はピーク時 (日本時間 15:00〜19:00) に3倍、オフピーク時に2倍のクォータを消費する。<br>
日常的なタスクにはGLM-4.7を使用し、複雑なタスクにのみGLM-5を使用することが推奨される。<br>
<br>
====== 認証の設定手順 ======
Z.AIの[https://z.ai/manage-apikey/apikey-list APIコンソール]にアクセスして、APIキーを取得する。<br>
<br>
<code>opencode auth login</code> コマンドを実行して、プロバイダ選択で <u>Z.AI Coding Plan</u> を選択する。<br>
<br>
<syntaxhighlight lang="sh">
opencode auth login
</syntaxhighlight>
<br>
┌  Add credential
◆  Select provider
│  ● Z.AI Coding Plan
│  ...
<br>
Z.AIのAPIキーを入力する。<br>
┌  Add credential
◇  Select provider
│  Z.AI Coding Plan
◇  Enter your API key
│  <Z.AIのAPIキーを入力>
<br>
OpenCodeを起動して、<code>/models</code> コマンドでGLM-5 / GLM-4.7等のモデルを選択する。<br>
opencode
<br>
/models
<br><br>
====== トラブルシューティング : Insufficient balance ======
GLMモデルの使用時に、以下に示すエラーメッセージが表示される場合がある。<br>
Insufficient balance or no resource package. Please recharge.
<br>
このエラーは、OpenCodeのプロバイダ設定がGLM Coding Plan専用のエンドポイントに接続されていない場合に発生する。<br>
<br>
GLM Coding Planでは、専用のAPIエンドポイント (https://api.z.ai/api/coding/paas/v4) を使用する必要がある。<br>
プロバイダ選択で <u>Z.AI</u> (通常のAPI) を選択した場合、標準エンドポイント (https://api.z.ai/api/paas/v4) に接続されるため、Coding Planの残高が認識されず、上記のエラーが発生する。<br>
<br>
<center>
{| class="wikitable"
|+ Z.AI APIエンドポイントの違い
! エンドポイント !! URL !! 用途
|-
| 標準 (通常API) || https://api.z.ai/api/paas/v4 || 従量課金のAPI利用
|-
| Coding Plan専用 || https://api.z.ai/api/coding/paas/v4 || GLM Coding Planサブスクリプション利用
|}
</center>
<br>
対処方法として、一旦Z.AIの認証情報をログアウトしてから、<u>Z.AI Coding Plan</u> で再度ログインする。<br>
<br>
Z.AIの認証情報をログアウトする。<br>
<syntaxhighlight lang="sh">
opencode auth logout
</syntaxhighlight>
<br>
再度ログインして、プロバイダ選択で <u>Z.AI Coding Plan</u> を選択する。<br>
<syntaxhighlight lang="sh">
opencode auth login
</syntaxhighlight>
<br>
┌  Add credential
◆  Select provider
│  ● Z.AI Coding Plan    ← Z.AI ではなく、Z.AI Coding Planを選択すること
│  ...
<br>
APIキーを入力して認証を完了した後、OpenCodeを起動して正常にGLMモデルが使用できることを確認する。<br>
<br><br>
<br><br>
==== 設定ファイル ====
==== 設定ファイル ====
393行目: 499行目:
! 項目 !! 要件
! 項目 !! 要件
|-
|-
| OS || SUSE 15.6
| OS ||  
* RHEL 9 / 10
* SUSE 15 / 16
|-
|-
| Bun || 1.3.x (<u>package.json</u> 内の <code>packageManager</code> で <code>bun@1.3.9</code> を指定)
| Bun || 1.3.x (<u>package.json</u> 内の <code>packageManager</code> で <code>bun@1.3.9</code> を指定)
410行目: 518行目:
  curl -s https://models.dev/api.json | head -c 100
  curl -s https://models.dev/api.json | head -c 100
<br><br>
<br><br>
==== ビルド方式の説明 ====
==== ビルド方式の説明 ====
<center>
<center>
429行目: 538行目:
ソースディレクトリがGitリポジトリでない場合、<code>git branch --show-current</code> が失敗するため、環境変数を設定する。<br>
ソースディレクトリがGitリポジトリでない場合、<code>git branch --show-current</code> が失敗するため、環境変数を設定する。<br>
  <syntaxhighlight lang="sh">
  <syntaxhighlight lang="sh">
  export OPENCODE_VERSION=<バージョン  例 : 1.1.53>
  export OPENCODE_VERSION=<バージョン  例 : 1.2.14>
  export OPENCODE_CHANNEL=latest
  export OPENCODE_CHANNEL=latest
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>
==== 依存パッケージのインストール ====
==== 依存パッケージのインストール ====
プロジェクトディレクトリに移動して、依存パッケージをインストールする。<br>
プロジェクトディレクトリに移動して、依存パッケージをインストールする。<br>
  cd /home/suse/Downloads/opencode-<バージョン>
  cd /path/to/opencode-<バージョン>
  bun install
  bun install
<br>
<br>
441行目: 551行目:
<code>bun install</code> コマンドを実行して、ルートおよび全パッケージの依存関係がインストールされる。<br>
<code>bun install</code> コマンドを実行して、ルートおよび全パッケージの依存関係がインストールされる。<br>
<br><br>
<br><br>
==== ビルドの実行 ====
==== ビルドの実行 ====
ビルドスクリプトを実行する。<br>
ビルドスクリプトを実行する。<br>
539行目: 650行目:
  sudo zypper install curl wget file webkit2gtk3-devel libopenssl-devel libappindicator3-1 librsvg-devel
  sudo zypper install curl wget file webkit2gtk3-devel libopenssl-devel libappindicator3-1 librsvg-devel
<br>
<br>
===== ソースコードのダウンロード =====
[https://github.com/anomalyco/opencode/releases OpenCodeのGithub]にアクセスして、ソースコードをダウンロードする。<br>
ダウンロードしたファイルを解凍する。<br>
tar xf opencode-<バージョン>.tar.gz
cd opencode-<バージョン>
<br>
==== デスクトップアプリケーションのビルド ====
==== デスクトップアプリケーションのビルド ====
===== Step 1 : 環境変数の設定 =====
===== Step 1 : 環境変数の設定 =====
環境変数を設定する。<br>
環境変数を設定する。<br>
  <syntaxhighlight lang="sh">
  <syntaxhighlight lang="sh">
  export OPENCODE_VERSION=<バージョン  例 : 1.1.53>
  export OPENCODE_VERSION=<バージョン  例 : 1.2.4>
  export OPENCODE_CHANNEL=latest
  export OPENCODE_CHANNEL=latest
  </syntaxhighlight>
  </syntaxhighlight>
551行目: 669行目:
  cd /path/to/opencode-<バージョン>
  cd /path/to/opencode-<バージョン>
  bun install
  bun install
<br>
もし、bun installに失敗する場合は、node-gypをインストールする。<br>
bun add node-gyp -D
# または
npm install -g node-gyp
<br>
===== Step 2.5 : OpenCode Desktopの最大化に関する不具合 =====
OpenCode Desktopにおいて、前回終了したウィンドウサイズで起動できるようにする場合は、以下に示すファイルの60行目をコメントアウトする。<br>
<br>
vi /path/to/opencode-<バージョン>/packages/desktop/src-tauri/src/windows.rs
<br>
<syntaxhighlight lang="rust">
// /path/to/opencode-<バージョン>/packages/desktop/src-tauri/src/windows.rsファイル
// 編集前
.maximized(true)
// 編集後
//.maximized(true)
</syntaxhighlight>
<br>
<br>
===== Step 3 : CLIバイナリのビルド (未完了の場合) =====
===== Step 3 : CLIバイナリのビルド (未完了の場合) =====
557行目: 695行目:
  ./packages/opencode/script/build.ts --single
  ./packages/opencode/script/build.ts --single
<br>
<br>
下記のエラーが表示される場合がある。
| // relax version requirement
| const expectedBunVersionRange = `^${expectedBunVersion}`
|
| if (!semver.satisfies(process.versions.bun, expectedBunVersionRange)) {
|  throw new Error(`This script requires bun@${expectedBunVersionRange}, but you are using bun@${process.versions.bun}`)
error: This script requires bun@^X.X.X, but you are using bun@X.X.X
      at /path/to/opencode-X.X.XX/packages/script/src/index.ts:16:13
<br>
この時、bunをアップデートする。<br>
bun upgrade
<br>
===== Step 4 : サイドカーの配置 =====
===== Step 4 : サイドカーの配置 =====
OpenCode CLIバイナリを、Tauriが期待するサイドカーディレクトリにコピーする。<br>
OpenCode CLIバイナリを、Tauriが期待するサイドカーディレクトリにコピーする。<br>
592行目: 744行目:
  ls -la packages/desktop/src-tauri/target/release/OpenCode
  ls -la packages/desktop/src-tauri/target/release/OpenCode
<br><br>
<br><br>
==== 動作確認 ====
==== 動作確認 ====
RPMパッケージをインストールして確認する。<br>
RPMパッケージをインストールして確認する。<br>
631行目: 784行目:
<br>
<br>
デバッグビルドではDevToolsが有効になり、アプリケーション内で右クリック -> [Inspect Element]が利用できる。<br>
デバッグビルドではDevToolsが有効になり、アプリケーション内で右クリック -> [Inspect Element]が利用できる。<br>
<br><br>
== Oh my OpenCode ==
Oh my OpenCodeは、OpenCode用のマルチエージェントオーケストレーションプラグインである。<br>
フック、MCPサーバ、スキル、専門エージェントを活用してOpenCodeの機能を拡張する。<br>
<br>
* GitHubリポジトリ
*: https://github.com/code-yeongyu/oh-my-opencode oh-my-opencode
<br>
==== 主な機能 ====
Oh my OpenCodeは以下に示す機能を提供する。<br>
<br>
<center>
{| class="wikitable"
|+ Oh my OpenCode 機能一覧
! 機能 !! 説明
|-
| <u>ultrawork</u> || 複雑なタスクを専門エージェントに自動分割して並列処理するマジックワード
|-
| フック統合 || ツール実行前後に自動実行されるフック (コード品質チェック、テスト自動実行等)
|-
| MCP統合 || Context7 (ライブラリドキュメント取得)、Sequential Thinking (構造的推論)
|-
| LSP/AST解析 || Language Server ProtocolとAST解析による高精度なコード理解
|-
| スキルシステム || 再利用可能なプロンプトテンプレート<br>例: <code>/ultra</code>
|}
</center>
<br>
==== 専門エージェント ====
Oh my OpenCodeは以下の専門エージェントを提供する。<br>
<br>
<center>
{| class="wikitable"
|+ 専門エージェント一覧
! エージェント名 !! 役割
|-
| Sisyphus || プランニングと実装を担当するメインエージェント<br>タスク分割、実装、テスト、反復改善を行う。
|-
| Oracle || コードベース全体の調査・分析を担当<br>プロジェクト構造の把握、依存関係の追跡を行う。
|-
| Frontend Engineer || フロントエンド開発を担当<br>React / Next.js等のUI実装、アクセシビリティ対応を行う。
|-
| Librarian || ドキュメント管理を担当<br>README、API仕様書、変更履歴の作成・更新を行う。
|-
| Explorer || 未知のコードベースの探索を担当<br>新しいプロジェクトの構造理解や技術スタックの調査を行う。
|}
</center>
<br>
==== インストール ====
インストールの前提条件は以下の通りである。<br>
<br>
* OpenCode v1.0.150以上
* Node.js または Bun
<br>
Oh my OpenCodeをインストールする。<br>
bunx oh-my-opencode@latest
# または
npx oh-my-opencode@latest
<br>
非対話モードでインストールする場合は以下のコマンドを実行する。<br>
bunx oh-my-opencode@latest --non-interactive
<br>
==== 設定 ====
設定ファイルは以下の場所に配置する。<br>
<br>
* プロジェクト単位
*: <u>.opencode/oh-my-opencode.json</u>
* グローバル
*: <u>~/.config/opencode/oh-my-opencode.json</u>
<br>
設定ファイルはJSONC (コメント付きJSON) 形式で記述する。<br>
以下に設定ファイルの例を示す。<br>
<br>
<syntaxhighlight lang="json">
{
    "mcpServers": {
      "context7": true,
      "thinking": true
    },
    "agents": {
      "sisyphus": true,
      "oracle": true,
      "frontend": true,
      "librarian": true,
      "explorer": true
    },
    "hooks": {
      "afterEdit": true,
      "afterWrite": true
    },
    "skills": {
      "ultra": true
    }
}
</syntaxhighlight>
<br>
下表に、各設定項目の説明を示す。<br>
<br>
<center>
{| class="wikitable"
|+ 設定項目一覧
! カテゴリ !! 設定項目 !! 説明
|-
| rowspan="3" | mcpServers || - || MCPサーバの有効 / 無効を設定する。
|-
| context7 || ライブラリドキュメント取得サーバ
|-
| thinking || 構造的推論サーバ
|-
| rowspan="6" | agents || - || 専門エージェントの有効/無効を設定する。
|-
| sisyphus || 個別に制御可能
|-
| oracle || 個別に制御可能
|-
| frontend || 個別に制御可能
|-
| librarian || 個別に制御可能
|-
| explorer || 個別に制御可能
|-
| rowspan="3" | hooks || - || フックの有効 / 無効を設定する。
|-
| afterEdit || ファイル編集後に自動チェックを実行する。
|-
| afterWrite || ファイル作成後に自動チェックを実行する。
|-
| rowspan="2" | skills || - || スキルの有効 / 無効を設定する。
|-
| ultra || ultraworkスキルを有効化する。
|}
</center>
<br>
==== 使用方法 ====
プロンプトに <u>ultrawork</u> というキーワードを含めるだけで、複雑なタスクを専門エージェントに自動分割して並列処理する。<br>
<br>
使用例を以下に示す。<br>
<br>
* 大規模リファクタリング
*: <pre>ultrawork このプロジェクトの認証システムをリファクタリングして</pre>
* 新機能実装
*: <pre>ultrawork ユーザ管理機能を実装して</pre>
* ドキュメント調査
*: <pre>ultrawork このコードベースを分析してドキュメントを作成して</pre>
<br>
==== アンインストール ====
プロジェクト単位の設定ファイルを削除する。<br>
rm -rf .opencode/agents  \
        .opencode/hooks    \
        .opencode/skills  \
        .opencode/mcp.json \
        .opencode/oh-my-opencode.json
<br>
グローバル設定を削除する。<br>
rm -rf ~/.config/opencode/oh-my-opencode.json
<br>
==== 注意事項 ====
Oh my OpenCodeを使用する際は以下の点に注意すること。<br>
<br>
* AnthropicモデルのOpenCode対応はコミュニティ主導の取り組みであり、Anthropicの公式サポート対象外である。
* フック機能により外部コマンドが自動実行されるため、設定内容を事前に確認すること。
* MCPサーバはネットワークアクセスを行う場合があるため、セキュリティポリシーに準じて使用すること。
<br><br>
<br><br>