インストール - OpenCode

提供: MochiuWiki : SUSE, EC, PCB

概要

OpenCodeは、オープンソースのAIコーディングエージェントである。
ターミナルベースのTUI (ターミナルユーザーインターフェース) を提供し、75以上のLLMプロバイダに対応している。

主要な特徴として、以下が挙げられる。

  • Anthropic (Claude)、OpenAI (GPT)、Google (Gemini)、GitHub Copilot、Ollama等のモデルの主要プロバイダをサポート
  • 2026年1月にGitHub Copilotとの公式パートナーシップを発表
  • プライバシー重視の設計
    コードは送信されず、ローカルでの処理を優先
  • CLI、TUI、Desktop アプリ、IDE拡張機能、Webインターフェースを提供
  • MCP (Model Context Protocol) とLSP (Language Server Protocol) をサポート
  • 組み込みエージェント
    • build (開発用)
    • plan (読み取り専用分析)


OpenCodeは、Go言語でBubble Tea TUIフレームワークを使用して実装されている。
セッション管理、マルチセッション対応を備え、会話履歴の保存、復元、エクスポートが可能である。

Desktop アプリはTauri v2ベースのネイティブアプリケーションとして実装されており、TypeScriptで実装された内部CLI、Rust + SolidJSで構築されたフロントエンドを組み合わせている。


主な機能

OpenCodeは、多様な機能を提供する包括的なAIコーディングツールである。

主要機能一覧
機能 説明
TUI (Bubble Tea) ターミナルベースの対話型インターフェース
マルチプロバイダ対応 75以上のLLMプロバイダをサポート
セッション管理 会話履歴の保存、復元、エクスポート
ツール統合 ファイル操作、Bash実行、テスト実行等
MCP (Model Context Protocol) 外部ツールとの統合プロトコル
LSP (Language Server Protocol) 25以上の組み込みLSPサーバーによる言語サーバーとの連携
組み込みエージェント build (開発用)
plan (読み取り専用分析)
general (調査用)
explore (コード探索用)
Desktop アプリ Tauri v2ベースのネイティブアプリ
IDE拡張機能 VS Code、JetBrains等のIDE拡張
カスタムコマンド .opencode/commands/ ディレクトリ内でユーザ定義コマンド作成
Git統合 /undo/redo コマンドでGitバック付きの変更管理



対応AIプロバイダとモデル

OpenCodeは、75以上のLLMプロバイダに対応している。

主要プロバイダ一覧

主要プロバイダ一覧
プロバイダ 認証方法 備考
Anthropic APIキー (ANTHROPIC_API_KEY) Claude 4.x系をサポート
OpenAI APIキー (OPENAI_API_KEY) GPT-4o、o3等をサポート
Google APIキー (GOOGLE_API_KEY) Gemini 3等をサポート
GitHub Copilot GitHub認証 (OAuth) /connect コマンドで認証
Z.AI APIキー GLM-5、GLM-4.7等をサポート
GLM Coding Plan対応
AWS Bedrock AWS認証情報 Anthropicモデルのホスティング
Azure OpenAI Azureエンドポイント OpenAIモデルのホスティング
Ollama ローカル実行 (認証不要) ローカルモデルの実行
OpenRouter APIキー 複数プロバイダのルーティング
Groq APIキー 高速推論
Together AI APIキー オープンソースモデル
Fireworks AI APIキー 高速推論


推奨モデル

用途別推奨モデル
用途 推奨モデル
高精度コーディング Claude Sonnet 4.5、GPT-4o
高速処理 Claude Haiku 4.5、Gemini 2.5 Flash
複雑な推論 Claude Opus 4.6、o3
ローカル実行 Qwen 2.5 Coder (Ollama)
コスト効率重視 GLM-4.7、GLM-5 (Z.AI Coding Plan)


ローカルモデル (Ollama)

Ollamaを使用することで、ローカル環境でモデルを実行できる。

Ollamaのインストール

Ollamaの公式サイトからインストールスクリプトをダウンロードして実行する。

curl -fsSL https://ollama.com/install.sh | bash


モデルのダウンロード

Ollamaでモデルをダウンロードする。

ollama pull qwen2.5-coder


OpenCodeでの設定

opencode.json でOllamaプロバイダを設定する。

 {
   "$schema": "https://opencode.ai/config.json",
   "model": "ollama/qwen2.5-coder"
 }



前提条件

OpenCodeをインストールするには、以下の前提条件を満たす必要がある。

標準インストール時の前提条件

標準インストール時の前提条件
要件 詳細
OS Linux、MacOS、Windows
Node.js npm経由のインストールに必要 (Node.js 18以上)
ネットワーク AIプロバイダへの接続に必要
AIプロバイダのAPIキー 使用するプロバイダのAPIキーまたは認証情報



インストール

OpenCodeのインストール方法を以下に示す。

クイックインストール (Linux)

公式のインストールスクリプトを使用してインストールする。

curl -fsSL https://opencode.ai/install | bash



Homebrew (MacOS)

Homebrewを使用してインストールできる。

brew install opencode



npm (全プラットフォーム)

npmを使用してグローバルインストールする。

npm install -g opencode



Windows (Scoop / Chocolatey)

Windowsでは、ScoopまたはChocolateyを使用してインストールできる。

Scoopでのインストール
scoop install opencode


Chocolateyでのインストール
choco install opencode



デスクトップアプリケーション

OpenCodeの公式Webサイトにアクセスして、デスクトップアプリケーションをダウンロードする。

対応プラットフォーム:

  • Linux (deb、rpm)
  • MacOS (dmg)
  • Windows (exe)



バージョン確認

インストール後、バージョンを確認する。

opencode --version



初期設定

OpenCodeの初期設定を以下に示す。

プロバイダの認証

OpenCodeの初回起動時に、/connect コマンド または opencode auth login コマンドでAIプロバイダとの認証を設定する。

GitHub Copilotとの連携

OpenCodeはGitHub Copilotの公式パートナーであり、/connect コマンドで認証を設定できる。

OpenCodeを起動する。

opencode


認証を設定する。

/connect


例えば、GitHub Copilotを選択する。
Webブラウザが開き、GitHub認証ページが表示される。

認証を完了すると、OpenCodeでGitHub Copilotが使用可能になる。


APIキーによる認証

環境変数でAPIキーを設定する方法もある。

 export ANTHROPIC_API_KEY="sk-..."
 export OPENAI_API_KEY="sk-..."
 export GOOGLE_API_KEY="..."


環境変数を永続化する場合は、~/.profileファイル等に環境変数 ANTHROPIC_API_KEY を設定する。

 export ANTHROPIC_API_KEY="sk-..."



Z.AI (GLM) との連携

Z.AIのGLMモデル (GLM-5、GLM-4.7等) をOpenCodeで使用するには、Z.AI GLM または GLM Coding Planのサブスクリプション契約およびAPIキーが必要である。

GLM / GLM Coding Planの概要

GLM / GLM Coding Planは、Z.AIが提供するAIコーディング向けのサブスクリプションプランである。

GLM Coding Plan
プラン 月額 GLM-5対応 5時間あたりの目安
Lite $10 対応 約80プロンプト
Pro $30 対応 約400プロンプト
Max $120 対応 約1,600プロンプト


使用可能なモデルは以下の通りである。

  • GLM-5 (ProプランおよびMaxプランのみ)
  • GLM-4.7
  • GLM-4.6
  • GLM-4.5
  • GLM-4.5-Air


GLM-5はピーク時 (日本時間 15:00〜19:00) に3倍、オフピーク時に2倍のクォータを消費する。
日常的なタスクにはGLM-4.7を使用し、複雑なタスクにのみGLM-5を使用することが推奨される。

認証の設定手順

Z.AIのAPIコンソールにアクセスして、APIキーを取得する。

opencode auth login コマンドを実行して、プロバイダ選択で Z.AI Coding Plan を選択する。

 opencode auth login


┌  Add credential
│
◆  Select provider
│  ● Z.AI Coding Plan
│  ...
└


Z.AIのAPIキーを入力する。

┌  Add credential
│
◇  Select provider
│  Z.AI Coding Plan
│
◇  Enter your API key
│  <Z.AIのAPIキーを入力>
└


OpenCodeを起動して、/models コマンドでGLM-5 / GLM-4.7等のモデルを選択する。

opencode


/models



トラブルシューティング : Insufficient balance

GLMモデルの使用時に、以下に示すエラーメッセージが表示される場合がある。

Insufficient balance or no resource package. Please recharge.


このエラーは、OpenCodeのプロバイダ設定がGLM Coding Plan専用のエンドポイントに接続されていない場合に発生する。

GLM Coding Planでは、専用のAPIエンドポイント (https://api.z.ai/api/coding/paas/v4) を使用する必要がある。
プロバイダ選択で Z.AI (通常のAPI) を選択した場合、標準エンドポイント (https://api.z.ai/api/paas/v4) に接続されるため、Coding Planの残高が認識されず、上記のエラーが発生する。

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サブスクリプション利用


対処方法として、一旦Z.AIの認証情報をログアウトしてから、Z.AI Coding Plan で再度ログインする。

Z.AIの認証情報をログアウトする。

 opencode auth logout


再度ログインして、プロバイダ選択で Z.AI Coding Plan を選択する。

 opencode auth login


┌  Add credential
│
◆  Select provider
│  ● Z.AI Coding Plan    ← Z.AI ではなく、Z.AI Coding Planを選択すること
│  ...
└


APIキーを入力して認証を完了した後、OpenCodeを起動して正常にGLMモデルが使用できることを確認する。


設定ファイル

OpenCodeの設定ファイルは、プロジェクトルート または ホームディレクトリ に配置する。

設定ファイルの場所

設定ファイルは以下の順序で検索される。

  • プロジェクトルート
    opencode.json
  • ホームディレクトリ
    ~/.opencode/config.json



設定ファイルの例
 {
   "$schema": "https://opencode.ai/config.json",
   "model": "anthropic/claude-sonnet-4-5-20250929",
   "small_model": "anthropic/claude-haiku-4-5-20251001",
   "keybinds": {
      "leader": "ctrl+x"
   }
 }


設定可能な項目を以下に示す。

  • model
    使用するモデル名 (プロバイダ/モデル名 形式)
    例: anthropic/claude-sonnet-4-5-20250929openai/gpt-4o
  • small_model
    軽量タスク用のモデル (コスト削減に有効)
    例: anthropic/claude-haiku-4-5-20251001
  • keybinds.leader
    リーダーキーの設定
    デフォルト : ctrl+x



CLIコマンド

OpenCodeは、CLIモードと対話モードの両方で使用できる。

主要コマンド

主要コマンド一覧
コマンド 説明
opencode TUIを起動
opencode run "プロンプト" 非対話モードでプロンプトを実行
opencode --model プロバイダ/モデル名 モデルを指定して起動
opencode --continue 前回のセッションを継続して起動
opencode auth login プロバイダの認証を設定
opencode auth logout 認証情報を削除
opencode models 使用可能なモデル一覧を表示
opencode mcp list MCPサーバ一覧を表示
opencode mcp add サーバー名 MCPサーバを追加
opencode serve ヘッドレスバックエンドサーバを起動
opencode --version バージョンを表示
opencode --help ヘルプを表示


非対話モード

非対話モードでは、プロンプトをコマンドライン引数として渡すことができる。

使用例

プロジェクトの概要を説明する。

opencode run "このプロジェクトの概要を説明して"


モデルを指定してテストを実行する。

opencode run "テストを実行して" --model anthropic/claude-sonnet-4-5-20250929



TUI (ターミナルユーザーインターフェース)

OpenCodeのTUIは、ターミナルベースの対話型インターフェースである。

スラッシュコマンド

TUI内でスラッシュコマンドを使用して、様々な操作を実行できる。

スラッシュコマンド一覧
コマンド 説明
/new 新しいセッションを開始
/init プロジェクト構造を分析
/undo 直前の変更を元に戻す (Git連携)
/redo 元に戻した変更をやり直す
/compact 会話を要約して圧縮
/share 会話の共有リンクを生成
/export 会話をMarkdownでエクスポート
/sessions 過去のセッション一覧を表示
/models 使用可能なモデル一覧を表示
/agents エージェント一覧を表示
/connect プロバイダ認証を設定
/status 現在のステータスを表示
/mcp MCPサーバ一覧を表示
/theme テーマを変更
/editor 外部エディタで入力
/help ヘルプを表示
/commands コマンド一覧を表示
/exit OpenCodeを終了


キーバインド

OpenCodeのリーダーキーのデフォルトは、[Ctrl] + [X]キーである。
リーダーキーを押した後に各キーを入力する。

キーバインド一覧
キー 説明
[Ctrl] + [X] -> [N] 新しいセッション
[Ctrl] + [X] -> [L] セッション一覧
[Ctrl] + [X] -> [T] タイムライン
[Ctrl] + [X] -> [M] モデル選択ダイアログ
[Ctrl] + [X] -> [C] コンパクト表示
[Ctrl] + [P] コマンドパレット
[Tab] Plan/Buildエージェント切替
[Page Up] / [Page Down] スクロール
[Shift] + [Enter] 改行入力


ファイル参照とBashコマンド

TUI内でファイル参照とBashコマンドの実行ができる。

ファイル参照

@ でファイルをファジー検索して参照を追加する。

@filename


Bashコマンドの実行

! をプレフィックスとしてBashコマンドを実行する。

!ls -la
!git status



CLIバイナリのビルド (SUSE)

OpenCode CLIバイナリをSUSE環境でソースコードからビルドすることができる。

ビルドの前提条件

ビルドの前提条件
項目 要件
OS
  • RHEL 9 / 10
  • SUSE 15 / 16
Bun 1.3.x (package.json 内の packageManagerbun@1.3.9 を指定)
git ブランチ名取得に使用 (Gitリポジトリでない場合は環境変数で回避可能)
ネットワーク ビルド時に https://models.dev/api.json からモデルデータを取得


前提条件の確認コマンド
# Bunバージョン確認 (1.3.9が必要)
bun --version

# ネットワーク接続の確認
curl -s https://models.dev/api.json | head -c 100



ビルド方式の説明

ビルド方式の説明
項目 内容
言語 TypeScript (Bun ランタイム)
ビルド方式 Bun.build()compile: true でスタンドアロン実行ファイルを生成
ビルドスクリプト packages/opencode/script/build.ts
出力 Bunランタイムを内蔵した単一バイナリ (opencode)


環境変数の設定

ソースディレクトリがGitリポジトリでない場合、git branch --show-current が失敗するため、環境変数を設定する。

 export OPENCODE_VERSION=<バージョン  例 : 1.2.14>
 export OPENCODE_CHANNEL=latest



依存パッケージのインストール

プロジェクトディレクトリに移動して、依存パッケージをインストールする。

cd /path/to/opencode-<バージョン>
bun install


このプロジェクトはBunワークスペース構成のモノレポである。
bun install コマンドを実行して、ルートおよび全パッケージの依存関係がインストールされる。


ビルドの実行

ビルドスクリプトを実行する。

./packages/opencode/script/build.ts --single


--single フラグは現在のプラットフォーム向けのみビルドする。(例: linux-x64)
フラグなしで実行すると全11プラットフォーム分のクロスコンパイルを試みる。

ビルドスクリプトの処理内容:

  • models.dev からモデルデータを取得し、TypeScript スナップショットを生成
  • @opentui/core@parcel/watcher のネイティブバインディングをインストール
  • Bun.build() で TypeScript をスタンドアロンバイナリにコンパイル
  • packages/opencode/dist/opencode-linux-x64/bin/opencode に出力



動作確認

ビルドが完了したら、バイナリが生成されたか確認する。

# バイナリが生成されたか確認
ls -la packages/opencode/dist/opencode-linux-x64/bin/opencode

# バージョン表示で動作確認
./packages/opencode/dist/opencode-linux-x64/bin/opencode --help



トラブルシューティング

トラブルシューティング
問題 原因 対策
git branch --show-current 失敗 ソースがGitリポジトリではない 下記の環境変数を設定する。

OPENCODE_VERSION=<バージョン 例: 1.1.53>
OPENCODE_CHANNEL=latest
models.dev に接続できない ネットワーク制限 事前に api.json をダウンロードして、MODELS_DEV_API_JSON=/path/to/api.json で指定する。
GLIBCバージョン不足 SUSEのGLIBCのバージョンが古い --single に加えて --baseline フラグを追加
または、muslビルドを検討する。
native module のビルド失敗 C / C++ コンパイラ不足 ビルドツールをインストールする。
sudo zypper install gcc gcc-c++ make


オフライン環境でのビルド

ネットワークに接続できない場合、モデルデータを事前にダウンロードしておく必要がある。

# オンライン環境で事前にダウンロード
curl -o api.json https://models.dev/api.json

# ビルド時にローカルファイルを指定
export MODELS_DEV_API_JSON=/path/to/api.json
./packages/opencode/script/build.ts --single


baselineビルド

CPUがAVX2命令セットをサポートしていない場合、--baseline フラグを追加する。

./packages/opencode/script/build.ts --single --baseline



デスクトップアプリケーションのビルド

OpenCode Desktopは、Tauri v2ベースのデスクトップアプリケーションである。

デスクトップアプリケーションの構成

Desktop アプリの構成
項目 内容
フロントエンド SolidJS + Vite (TypeScript)
バックエンド Rust (Tauri v2 シェル)
サイドカー OpenCode CLI バイナリ (CLIバイナリのビルドで作成したもの)
ビルドスクリプト packages/desktop/ 配下
出力形式 (Linux) debパッケージ、rpmパッケージ
ソースディレクトリ packages/desktop/ (フロントエンド)
packages/desktop/src-tauri/ (Rust)


ビルドの前提条件

OpenCode CLIバイナリのビルド

デスクトップアプリケーションでは、OpenCode CLIバイナリをサイドカーとしてバンドルする。
そのため、まず、OpenCode CLIバイナリのビルドを完了させること。

Rustツールチェーン

Tauri v2 のビルドには、Rustが必要である。

# Rustのインストール (未インストールの場合)
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

# 環境変数の設定を反映
source "$HOME/.cargo/env"

# バージョン確認
rustc --version
cargo --version



依存ライブラリのインストール

Tauri v2公式ドキュメントに基づく依存関係のライブラリをインストールする。

sudo zypper install -t pattern devel_basis
sudo zypper install curl wget file webkit2gtk3-devel libopenssl-devel libappindicator3-1 librsvg-devel


ソースコードのダウンロード

OpenCodeのGithubにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf opencode-<バージョン>.tar.gz
cd opencode-<バージョン>


デスクトップアプリケーションのビルド

Step 1 : 環境変数の設定

環境変数を設定する。

 export OPENCODE_VERSION=<バージョン  例 : 1.2.4>
 export OPENCODE_CHANNEL=latest


Step 2 : 依存パッケージのインストール

プロジェクトディレクトリに移動して、依存パッケージをインストールする。

cd /path/to/opencode-<バージョン>
bun install


もし、bun installに失敗する場合は、node-gypをインストールする。

bun add node-gyp -D
# または
npm install -g node-gyp


Step 2.5 : OpenCode Desktopの最大化に関する不具合

OpenCode Desktopにおいて、前回終了したウィンドウサイズで起動できるようにする場合は、以下に示すファイルの60行目をコメントアウトする。

vi /path/to/opencode-<バージョン>/packages/desktop/src-tauri/src/windows.rs


 // /path/to/opencode-<バージョン>/packages/desktop/src-tauri/src/windows.rsファイル
 
 // 編集前
 .maximized(true)
 
 // 編集後
 //.maximized(true)


Step 3 : CLIバイナリのビルド (未完了の場合)

サイドカーとなるOpenCode CLIバイナリが必要である。
CLIバイナリのビルド手順を完了していない場合は、OpenCode CLIバイナリをインストールする。

./packages/opencode/script/build.ts --single


下記のエラーが表示される場合がある。

| // 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


この時、bunをアップデートする。

bun upgrade


Step 4 : サイドカーの配置

OpenCode CLIバイナリを、Tauriが期待するサイドカーディレクトリにコピーする。

mkdir -p packages/desktop/src-tauri/sidecars
cp packages/opencode/dist/opencode-linux-x64/bin/opencode \
   packages/desktop/src-tauri/sidecars/opencode-cli-x86_64-unknown-linux-gnu


tauri.conf.json ファイル内の externalBinsidecars/opencode-cli が指定されており、Tauriがターゲットトリプル (x86_64-unknown-linux-gnu) を付与して検索する。


Step 5 : フロントエンドのビルド確認 (任意)

Viteビルドは、tauri build コマンドの beforeBuildCommand で自動実行されるが、事前に確認する場合は以下に示すコマンドを実行する。

bun run --cwd packages/desktop build



Step 6 : Tauriビルドの実行

Tauriビルドを実行する。

bun run --cwd packages/desktop tauri build


上記のコマンドは、以下に示す事柄を実行する。

  • beforeBuildCommand (bun run build) でフロントエンドをビルドする。
  • Cargo (Rust) でネイティブバイナリをコンパイルする。
  • サイドカー (OpenCode CLIバイナリ) をバンドルに含める。
  • deb / rpmパッケージを生成する。


Cargo.toml ファイルにgitパッチ依存 (specta、tauri 本体) があるため、ネットワーク接続が必須である。

以下に示すエラーが出力される場合がある。

$ tauri build
thread '<unnamed>' panicked at crates/tauri-cli/src/interface/rust.rs:146:8:
called `Result::unwrap()` on an `Err` value: Error { kind: Io(Os { code: 24, kind: Uncategorized, message: "Too many open files" }), paths: [] }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: script "tauri" was terminated by signal SIGABRT (Abort)


これは、Tauriのビルドプロセス (Rustコンパイル含む) が、現在のシェルセッションで許可されているオープンファイル数の上限を超えているため、表示される。
これを解決するには、オープンファイル数の上限を引き上げる。

ulimit -n 1048576


もし、ulimit -n 1048576 コマンドを実行して、Operation not permitted エラーが出力される場合は、システム側のハードリミットも引き上げる必要がある。

sudo vi /etc/security/limits.conf


# /etc/security/limits.confファイル

<ユーザ名>  soft  nofile  1048576
<ユーザ名>  hard  nofile  1048576


編集した後、再ログインまたはPCを再起動する。

再ログイン後または再起動後、Tauriをビルドする。

cd /path/to/opencode-<バージョン>

ulimit -n 1048576
bun run --cwd packages/desktop tauri build



生成されたファイルの確認

以下に示すディレクトリにファイルが生成される。

# RPMパッケージ
ls -la packages/desktop/src-tauri/target/release/bundle/rpm/*.rpm

# debパッケージ
ls -la packages/desktop/src-tauri/target/release/bundle/deb/*.deb

# 実行バイナリ (直接実行も可能)
ls -la packages/desktop/src-tauri/target/release/OpenCode



動作確認

RPMパッケージをインストールして確認する。

# RPMパッケージをインストールして確認
sudo zypper install ./packages/desktop/src-tauri/target/release/bundle/rpm/*.rpm

## または

# 実行バイナリを直接起動
./packages/desktop/src-tauri/target/release/OpenCode



トラブルシューティング

トラブルシューティング
問題 原因 対策
cargo buildコマンド実行時に、git依存の取得に失敗 ネットワーク接続なし / プロキシ Cargo.tomlファイルにgit パッチ依存あり、ネットワーク接続が必須
opencode-cli-x86_64-unknown-linux-gnu not found サイドカーが配置されていない サイドカーの配置手順を実行して、OpenCode CLIバイナリをコピーする。
画面が真っ白 / WebView 描画されない Wayland環境の問題 環境変数 OC_ALLOW_WAYLAND=1 でWaylandを強制する。
RPMパッケージが生成されない tauri.conf.jsonファイルのtargets設定 deb、rpmが設定されていることを確認する。


特定パッケージ形式のみビルド

全形式をビルドする必要がない場合、--bundles フラグで指定できる。

# RPMのみ
bun run --cwd packages/desktop tauri build --bundles rpm

# debのみ
bun run --cwd packages/desktop tauri build --bundles deb


デバッグビルド

問題の調査が必要な場合、デバッグビルドを実行できる。

bun run --cwd packages/desktop tauri build --debug


デバッグビルドではDevToolsが有効になり、アプリケーション内で右クリック -> [Inspect Element]が利用できる。


Oh my OpenCode

Oh my OpenCodeは、OpenCode用のマルチエージェントオーケストレーションプラグインである。
フック、MCPサーバ、スキル、専門エージェントを活用してOpenCodeの機能を拡張する。


主な機能

Oh my OpenCodeは以下に示す機能を提供する。

Oh my OpenCode 機能一覧
機能 説明
ultrawork 複雑なタスクを専門エージェントに自動分割して並列処理するマジックワード
フック統合 ツール実行前後に自動実行されるフック (コード品質チェック、テスト自動実行等)
MCP統合 Context7 (ライブラリドキュメント取得)、Sequential Thinking (構造的推論)
LSP/AST解析 Language Server ProtocolとAST解析による高精度なコード理解
スキルシステム 再利用可能なプロンプトテンプレート
例: /ultra


専門エージェント

Oh my OpenCodeは以下の専門エージェントを提供する。

専門エージェント一覧
エージェント名 役割
Sisyphus プランニングと実装を担当するメインエージェント
タスク分割、実装、テスト、反復改善を行う。
Oracle コードベース全体の調査・分析を担当
プロジェクト構造の把握、依存関係の追跡を行う。
Frontend Engineer フロントエンド開発を担当
React / Next.js等のUI実装、アクセシビリティ対応を行う。
Librarian ドキュメント管理を担当
README、API仕様書、変更履歴の作成・更新を行う。
Explorer 未知のコードベースの探索を担当
新しいプロジェクトの構造理解や技術スタックの調査を行う。


インストール

インストールの前提条件は以下の通りである。

  • OpenCode v1.0.150以上
  • Node.js または Bun


Oh my OpenCodeをインストールする。

bunx oh-my-opencode@latest
# または
npx oh-my-opencode@latest


非対話モードでインストールする場合は以下のコマンドを実行する。

bunx oh-my-opencode@latest --non-interactive


設定

設定ファイルは以下の場所に配置する。

  • プロジェクト単位
    .opencode/oh-my-opencode.json
  • グローバル
    ~/.config/opencode/oh-my-opencode.json


設定ファイルはJSONC (コメント付き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
    }
 }


下表に、各設定項目の説明を示す。

設定項目一覧
カテゴリ 設定項目 説明
mcpServers - MCPサーバの有効 / 無効を設定する。
context7 ライブラリドキュメント取得サーバ
thinking 構造的推論サーバ
agents - 専門エージェントの有効/無効を設定する。
sisyphus 個別に制御可能
oracle 個別に制御可能
frontend 個別に制御可能
librarian 個別に制御可能
explorer 個別に制御可能
hooks - フックの有効 / 無効を設定する。
afterEdit ファイル編集後に自動チェックを実行する。
afterWrite ファイル作成後に自動チェックを実行する。
skills - スキルの有効 / 無効を設定する。
ultra ultraworkスキルを有効化する。


使用方法

プロンプトに ultrawork というキーワードを含めるだけで、複雑なタスクを専門エージェントに自動分割して並列処理する。

使用例を以下に示す。

  • 大規模リファクタリング
    ultrawork このプロジェクトの認証システムをリファクタリングして
  • 新機能実装
    ultrawork ユーザ管理機能を実装して
  • ドキュメント調査
    ultrawork このコードベースを分析してドキュメントを作成して


アンインストール

プロジェクト単位の設定ファイルを削除する。

rm -rf .opencode/agents   \
       .opencode/hooks    \
       .opencode/skills   \
       .opencode/mcp.json \
       .opencode/oh-my-opencode.json


グローバル設定を削除する。

rm -rf ~/.config/opencode/oh-my-opencode.json


注意事項

Oh my OpenCodeを使用する際は以下の点に注意すること。

  • AnthropicモデルのOpenCode対応はコミュニティ主導の取り組みであり、Anthropicの公式サポート対象外である。
  • フック機能により外部コマンドが自動実行されるため、設定内容を事前に確認すること。
  • MCPサーバはネットワークアクセスを行う場合があるため、セキュリティポリシーに準じて使用すること。



注意事項

プライバシーとデータ取り扱い

OpenCodeはオープンソースであり、コードの透明性を確保している。

  • ローカルでの処理を優先、コードの送信は最小限に抑制する。
  • 使用するAIプロバイダのプライバシーポリシーを確認すること。
  • GitHubリポジトリで実装を検証可能



生成コードの検証

AIが生成したコードは必ずレビューして検証する。

  • コードの動作を確認
  • セキュリティ上の問題がないか確認
  • ライセンス上の問題がないか確認
  • コーディング規約に準拠しているか確認



セキュリティ

APIキーやパスワード等の機密情報をコードに含めないように注意する。

  • APIキー、パスワード等の機密情報をコードに含めない。
  • 環境変数や設定ファイルで管理する。
  • .gitignore ファイルで機密情報を含むファイルを除外する。