結論

OpenCodeは、好きなLLMをつないでターミナルでコードを書かせる、MIT ライセンスのAIエージェントです。npm install -g opencode-ai で入り、/connect と /init で使い始めます。

この記事でわかること

  • CLIコマンド22個と主なショートカット15個の一覧
  • AGENTS.md が送信内容に入る様子の実物
  • OpenCode Go の月額2プランとGitHub連携の設定

2026年10月17日更新|OpenCode 1.19.3・Node.js 22.22.2で実行確認

OpenCode は、あなたの指示と設定ファイルをまとめて LLM に送り、LLM が選んだ道具(ファイルの読み書き・コマンド実行)を手元で動かします。

flowchart TD
  A[あなたの指示] --> B[OpenCode]
  C[AGENTS.md と opencode.json] --> B
  B -->|API で送信| D[LLM プロバイダー]
  D -->|使う道具を返す| B
  B --> E[ファイル編集とコマンド実行]

よく使う操作の早見表です。詳しくは本文の各節にあります。

やりたいこと コマンド・キー 備考
インストール npm install -g opencode-ai curl・brew・scoop も可
起動 opencode 今いるフォルダが対象
モデルの提供元をつなぐ /connect キーは auth.json に保存
AGENTS.md を作る /init コミットして共有する
計画だけ立てさせる Tab で plan に切替 ファイルは変えない
直前の変更を戻す /undo /redo でやり直し
1回だけ実行(CI 用) opencode run "指示" TUI を開かない
モデルを選ぶ /models 提供元/モデル名 の形

確認環境:OpenCode 1.19.3(npm の opencode-ai、2026年10月16日公開の latest)・Node.js 22.22.2・Ubuntu 24.04。--help などの出力は実物です。モデルの動きは、手元に立てた OpenAI 互換の擬似サーバー(Python 製)に OpenCode をつなぎ、送られたリクエストとファイル操作を記録して確かめました。OpenCode Go・GitHub 連携・ショートカット・V2 の情報は opencode.ai/docs の各ページで確かめています(確認日 2026年10月17日)。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「OpenCodeとは|インストールと使い方・設定・Go・GitHub連携」

OpenCodeとは:ターミナルで動くオープンソースのAIコーディングエージェント

OpenCode は、ターミナルの中で動く AI コーディングエージェント(指示を受けて、自分でファイルを読み、書き、コマンドを実行して作業を進めるプログラム)です。 GitHub の anomalyco/opencode で MIT ライセンスで公開されています。

特徴は次の3つです。

  • モデルを選べる:AI SDK と Models.dev を使い、公式ドキュメントでは 75 以上のプロバイダー(Anthropic・OpenAI・Google・GitHub Copilot・OpenRouter・Ollama など)に対応しています。
  • 画面が3つある:ターミナルの全画面 UI(TUI)が基本で、デスクトップアプリと Web 画面(opencode web)もあります。
  • 設定がファイルで残る:opencode.json(設定)と AGENTS.md(プロジェクトの説明書)をリポジトリに置き、チームで共有できます。

名前の似たものが3つあるので、先に整理します。

名前 何か 提供元
OpenCode(この記事) AI コーディングエージェント本体 anomalyco/opencode(MIT)
OpenCode Zen・Go OpenCode チームのモデル提供サービス(Zen は従量課金、Go は月額) opencode.ai
oh my opencode OpenCode 向けの第三者プラグイン code-yeongyu(npm の oh-my-opencode)

OpenCode 1 と OpenCode 2(V2)

2026年10月17日時点で、公式ドキュメントは2系統あります。opencode.ai/docs が 1 系、opencode.ai/v2/docs が 2 系(V2)です。npm の opencode-ai の latest は 1.19.3(1 系)で、この記事の実行結果もすべて 1.19.3 です。

V2 の移行ガイドによると、どちらも opencode という同じコマンド名なので同時には入れられず、V2 の curl インストーラーは 1 系のバイナリを置き換えます。opencode.json は同じ場所のまま使え、1 系の設定形式も引き続き読めます。違いは「TUI の設定が ~/.config/opencode/cli.json に1本化」「command → commands、agent と mode → agents に改名」「V2 は CLAUDE.md を読まない」などです。

OpenCodeのインストール(npm・curl・Homebrew・Windows)

公式ドキュメントが載せているインストール方法です。

OS コマンド 備考
macOS・Linux curl -fsSL https://opencode.ai/install | bash 公式の推奨
すべて(Node.js) npm install -g opencode-ai bun・pnpm・yarn も可
macOS・Linux brew install anomalyco/tap/opencode 公式 tap。更新が早い
Arch Linux sudo pacman -S opencode AUR は paru -S opencode-bin
Windows scoop install opencode / choco install opencode 公式は WSL を推奨
V2 を入れる curl -fsSL https://opencode.ai/v2/install | bash 1 系を置き換える

npm で入れたときの実物です。

$ npm install -g opencode-ai@1.19.3
added 3 packages in 11s

$ opencode --version
1.19.3

opencode-ai 本体は小さく(展開後 7,852 バイト)、OS ごとのバイナリを optionalDependencies で取りに行きます。Linux x64 では opencode-linux-x64 と opencode-linux-x64-baseline の2つが入り、インストール先は合計 355MB になりました。

npm install -g で EACCES が出るときの直し方は、関連記事「npm EACCES: permission deniedの直し方」で扱っています。

設定ファイルとデータの場所

opencode debug paths で、OpenCode が使う場所を確かめられます(ホームディレクトリを ~ に置き換えて表示)。

$ opencode debug paths
home       ~
data       ~/.local/share/opencode
bin        ~/.cache/opencode/bin
log        ~/.local/share/opencode/log
repos      ~/.local/share/opencode/repos
cache      ~/.cache/opencode
config     ~/.config/opencode
state      ~/.local/state/opencode
tmp        /tmp/opencode
ファイル 場所 中身
全体の設定 ~/.config/opencode/opencode.json 全プロジェクト共通
プロジェクトの設定 opencode.json(プロジェクト直下) このリポジトリだけ
TUI の設定 ~/.config/opencode/tui.json キー割り当て・テーマ
API キー ~/.local/share/opencode/auth.json /connect で保存
全体の指示 ~/.config/opencode/AGENTS.md 全セッション共通
セッションの記録 ~/.local/share/opencode/opencode.db 会話の履歴

起動時のログ(--print-logs)では、全体の config.json・opencode.json・opencode.jsonc の順に読み、そのあとプロジェクトの opencode.json を読んでいました。

OpenCodeの使い方:最初の5ステップ

インストールから最初の変更までの流れです。

1

プロジェクトのフォルダで opencode を起動する

全画面の TUI が開きます。別のフォルダを開くときは opencode ~/code/my-app。

2

/connect でモデルの提供元をつなぐ

提供元を選び、API キーを貼るか、ブラウザでログインします。続けて /models でモデルを選びます。

3

/init で AGENTS.md を作る

リポジトリを調べて、ビルド・テストのコマンドや決まりを AGENTS.md に書きます。Git にコミットして共有します。

4

Tab で plan に切り替えて、やりたいことを詳しく書く

plan はファイルを変えずに手順だけ出します。画像をターミナルにドラッグして添えることもできます。

5

Tab で build に戻して「進めて」と伝える

変更が気に入らなければ /undo で戻し、指示を書き直します。

入力欄では、@ に続けてファイル名を打つとあいまい検索でファイルを指定でき、その中身が会話に入ります。行頭に ! を付けると(例 !ls -la)シェルのコマンドを実行し、結果が会話に入ります。

認証はどこで処理している? @packages/functions/src/api/index.ts

/connect とプロバイダーの設定(opencode.json)

/connect でつなぐ

TUI で /connect を打ち、一覧から提供元を選んで API キーを入れます。キーは ~/.local/share/opencode/auth.json に保存されます。保存済みの認証は opencode providers list で見られます(何もつないでいない状態の実物)。

$ opencode providers list
T  Credentials ~/.local/share/opencode/auth.json
|
—  0 credentials

初めての人向けに、公式ドキュメントは OpenCode Zen(OpenCode チームが試して選んだモデルの一覧)を勧めています。使わずに、手持ちの OpenAI・Anthropic などのキーをつなぐこともできます。

opencode.json に自前の提供元を書く

OpenAI 互換の API(/v1/chat/completions を持つサーバー)は、@ai-sdk/openai-compatible を指定して登録します。次は、手元の擬似サーバーにつないで動かした設定そのものです。

{
  "$schema": "https://opencode.ai/config.json",
  "model": "local/mock-coder",
  "provider": {
    "local": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "ローカルの OpenAI 互換サーバー",
      "options": {
        "baseURL": "http://127.0.0.1:24701/v1",
        "apiKey": "{env:LOCAL_API_KEY}"
      },
      "models": {
        "mock-coder": {
          "name": "Mock Coder",
          "limit": { "context": 128000, "output": 8192 }
        }
      }
    }
  }
}
$ opencode models local
local/mock-coder
  • model は 提供元ID/モデルID の形です。起動時に -m local/mock-coder でも指定できます。
  • {env:変数名} は環境変数に、{file:パス} はファイルの中身に置き換わります。キーを設定ファイルに直接書かずに済みます。
  • limit.output は送信時の max_tokens になりました(実物では 8192)。
  • Ollama は http://localhost:11434/v1、LM Studio は http://127.0.0.1:1234/v1 を baseURL にします。Ollama でツール呼び出しが失敗するときは、公式ドキュメントは num_ctx を 16k〜32k に上げることを挙げています。

設定が重なったときの優先順位

設定は上書きではなく合体(マージ)されます。同じキーがあるときだけ、後のものが勝ちます。公式ドキュメントの順(下ほど強い)です。

順 設定の置き場所 用途
1 リモート(.well-known/opencode) 組織の既定値
2 ~/.config/opencode/opencode.json 自分の全体設定
3 環境変数 OPENCODE_CONFIG のファイル 切り替え用
4 プロジェクトの opencode.json リポジトリ単位
5 .opencode/ フォルダ agents・commands・plugins
6 環境変数 OPENCODE_CONFIG_CONTENT その場の上書き
7 管理用の設定ファイル・macOS の MDM 管理者が固定

よく使うキーは次のとおりです。

キー 意味 例
model 主に使うモデル "anthropic/claude-sonnet-4-5"
small_model タイトル作成など軽い仕事用 安いモデルを指定
permission 道具を使う前に聞くか {"edit": "ask", "bash": "ask"}
instructions 追加で読む指示ファイル ["CONTRIBUTING.md"]
plugin npm のプラグイン ["opencode-wakatime"]
autoupdate 自動更新 true・false・"notify"

permission の既定値は「すべて許可」です。勝手にファイルを変えたりコマンドを打ったりしてほしくないときは、edit と bash を "ask" にします。

AGENTS.md と /init

AGENTS.md は、エージェントへの「このリポジトリの説明書」です。ビルドやテストのコマンド、決まりごとを書いておくと、毎回の指示に自動で加わります。

AGENTS.md が送信内容に入る様子(実物)

次の2行だけの AGENTS.md を置いて実行し、擬似サーバーが受け取ったシステムプロンプトの末尾を見ました(作業フォルダのパスは /work/demo に置き換えています)。

<env>
  Working directory: /work/demo
  Workspace root folder: /work/demo
  Is directory a git repo: yes
  Platform: linux
  Today's date: Sat Oct 17 2026
</env>
Instructions from: /work/demo/AGENTS.md
# AGENTS.md

- 回答は日本語で書く
- テストは `python3 -m unittest` で実行する

Instructions from: (パス) の見出しつきで、ファイルの中身がそのまま入ります。システムプロンプトは AGENTS.md が無いときで 9,574 文字あり、AGENTS.md の分だけ長くなりました。

読まれる順番と CLAUDE.md

公式ドキュメント(1 系)では、次の順で探します。

  1. 今いるフォルダから上へたどって見つかった AGENTS.md か CLAUDE.md
  2. ~/.config/opencode/AGENTS.md
  3. Claude Code の ~/.claude/CLAUDE.md

それぞれの段で最初に見つかったものが使われ、AGENTS.md と CLAUDE.md が両方あれば AGENTS.md だけが読まれます。.claude 系を読ませたくないときは OPENCODE_DISABLE_CLAUDE_CODE=1 を設定します。V2 は CLAUDE.md を読まないので、移るときは中身を AGENTS.md へ移します。

/init が送る指示

/init は、モデルに「AGENTS.md を作るか更新して」という長い指示(実物は 3,502 文字)を送ります。冒頭はこうです。

Create or update `AGENTS.md` for this repository.

The goal is a compact instruction file that helps future OpenCode sessions avoid mistakes and ramp up quickly. Every line should answer: "Would an agent likely miss this without help?" If not, leave it out.

続けて「README・マニフェスト・CI・既存の指示ファイル(AGENTS.md・CLAUDE.md・.cursor/rules/・.github/copilot-instructions.md)を先に読む」「1つのテストだけを走らせるコマンドなど、間違えやすいことを書く」「一般的な助言や長いファイル一覧は書かない」と続きます。CLI からは opencode run --command init "重点を置くこと" で同じことができ、擬似サーバーが返した write の指示で AGENTS.md が作られました。

> build · mock-coder

← Write AGENTS.md
Wrote file successfully.

AGENTS.md を作成しました。

AGENTS.md の書き方と項目の例は、関連記事「AGENTS.mdの書き方テンプレ|copilot-instructions比較」で扱っています。

build と plan の違い(モードとエージェント)

OpenCode では「モード」をエージェントと呼びます。Tab で主エージェント(build ⇄ plan)を切り替え、右下に今のエージェントが出ます。opencode agent list の実物です。

$ opencode agent list | grep -E '^[a-z]'
build (primary)
compaction (primary)
explore (subagent)
general (subagent)
plan (primary)
summary (primary)
title (primary)

1build(既定)

すべての道具が使える主エージェント。ファイルを書き、コマンドを実行します。

2plan

計画と分析用。ファイルを変えずに、どう作るかを提案します。

3general(サブ)

調べものや複数手順の作業を任せる汎用の助手。@general で呼びます。

4explore(サブ)

コードベースを読むだけの速い助手。ファイルは変えません。

compaction(長い会話の要約)・title(セッション名づけ)・summary(まとめ)は内部用で、画面では選びません。

plan でファイルを書かせようとすると

plan エージェントで「hello.py を作って」と指示し、擬似サーバーから write を返したときの実物です。

> plan · mock-coder

✗ Write hello.py failed
Error: The user has specified a rule which prevents you from using this specific tool call. Here are some of the relevant rules [{"permission":"*","action":"allow","pattern":"*"},{"permission":"edit","pattern":"*","action":"deny"},{"permission":"edit","pattern":".opencode/plans/*.md","action":"allow"}, …]

1.19.3 の plan では、編集は .opencode/plans/*.md(計画のメモ)だけが許され、それ以外は拒否されました。hello.py は作られていません。同じ指示を build で実行すると ← Write hello.py / Wrote file successfully. となり、ファイルができました。

自分用のエージェントは opencode agent create で対話的に作るか、.opencode/agents/review.md(全体用は ~/.config/opencode/agents/)に Markdown で書きます。ファイル名がエージェント名になります。

OpenCodeのショートカットとスラッシュコマンド

キー割り当ての多くは「リーダーキー(既定 Ctrl+X)を押してから、もう1キー」です。ターミナル自体のショートカットとぶつからないようにするためです。

操作 キー 同じ働きのコマンド
build と plan の切替 Tab(逆順は Shift+Tab) なし
コマンド一覧 Ctrl+P なし
実行中の応答を止める Esc なし
モデル一覧 Ctrl+X → M /models
新しいセッション Ctrl+X → N /new(/clear)
セッション一覧 Ctrl+X → L /sessions
直前の変更を戻す Ctrl+X → U /undo
戻したのをやり直す Ctrl+X → R /redo
会話を要約して軽くする Ctrl+X → C /compact
外部エディタで書く Ctrl+X → E /editor
Markdown に書き出す Ctrl+X → X /export
テーマ一覧 Ctrl+X → T /themes
終了 Ctrl+X → Q / Ctrl+C /exit
最近のモデルを順に切替 F2 なし
推論の強さを切替 Ctrl+T なし

ほかのスラッシュコマンドは /connect(提供元の追加)・/init(AGENTS.md)・/details(道具の実行の詳細を表示)・/thinking(推論の表示切替)・/help です。改行は Shift+Enter(または Ctrl+J)です。キーは tui.json の keybinds で変えられます。

{
  "$schema": "https://opencode.ai/tui.json",
  "keybinds": {
    "command_list": "ctrl+p"
  }
}

opencode run と CLI コマンド一覧

opencode --help の実物です(ロゴは省略)。

Commands:
  opencode completion          generate shell completion script
  opencode acp                 start ACP (Agent Client Protocol) server
  opencode mcp                 manage MCP (Model Context Protocol) servers
  opencode [project]           start opencode tui                                          [default]
  opencode attach <url>        attach to a running opencode server
  opencode run [message..]     run opencode with a message
  opencode debug               debugging and troubleshooting tools
  opencode providers           manage AI providers and credentials                   [aliases: auth]
  opencode agent               manage agents
  opencode upgrade [target]    upgrade opencode to the latest or a specific version
  opencode uninstall           uninstall opencode and remove all related files
  opencode serve               starts a headless opencode server
  opencode web                 start opencode server and open web interface
  opencode models [provider]   list all available models
  opencode stats               show token usage and cost statistics
  opencode export [sessionID]  export session data as JSON
  opencode import <file>       import session data from JSON file
  opencode github              manage GitHub agent
  opencode pr <number>         fetch and checkout a GitHub PR branch, then run opencode
  opencode session             manage sessions
  opencode plugin <module>     install plugin and update config                      [aliases: plug]
  opencode db                  database tools

主なオプションは -m(モデル、提供元/モデル の形)・-c(前回の続き)・-s(セッション ID を指定して続き)・--agent(エージェント名)・--auto(明示的に拒否されていない権限を自動で許可。ヘルプにも dangerous と書かれています)・--mini(小さな対話画面)です。

opencode run(TUI を開かずに1回だけ)

スクリプトや CI で使う形です。擬似サーバーにつないだ実物です。

$ opencode run "こんにちは"
> build · mock-coder

こんにちは。モックのモデルです。

opencode run の主なオプションです(opencode run --help より)。

オプション 意味
--format json 出力を JSON のイベント列にする
-f, --file ファイルを添付する
--command init などのコマンドを実行する
--attach 起動中のサーバー(例 http://localhost:4096)につなぐ
--variant 推論の強さ(high・max・minimal など)
--auto 権限の確認を自動で許可する

opencode stats(使った量)

$ opencode stats
┌────────────────────────────────────────────────────────┐
│                       OVERVIEW                         │
├────────────────────────────────────────────────────────┤
│Sessions                                             11 │
│Messages                                             20 │
│Days                                                  1 │
└────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────┐
│                    COST & TOKENS                       │
├────────────────────────────────────────────────────────┤
│Total Cost                                        $0.00 │
│Avg Tokens/Session                                  895 │
│Input                                              9.6K │
│Output                                              240 │
└────────────────────────────────────────────────────────┘

(一部の行を省略しています。費用はモデルの単価が分かる提供元で計算され、擬似サーバーでは $0.00 です。)

OpenCodeが実際に送っているリクエスト

OpenAI 互換の擬似サーバーに届いた中身です。どこへ何が送られるかが分かると、社内の通信ルールやコストの見積もりに使えます。

POST /v1/chat/completions
Authorization: Bearer sk-local-test
Content-Type: application/json
User-Agent: opencode/1.19.3 ai-sdk/provider-utils/4.0.23 runtime/bun/1.3.14
{
  "model": "mock-coder",
  "max_tokens": 8192,
  "messages": [
    { "role": "system", "content": "You are opencode, an interactive CLI tool that helps users w…" },
    { "role": "user", "content": "こんにちは" }
  ],
  "tools": ["bash", "edit", "glob", "grep", "read", "skill", "task", "todowrite", "webfetch", "write"],
  "tool_choice": "auto",
  "stream": true,
  "stream_options": { "include_usage": true }
}

(tools は実際には各道具の JSON Schema の配列です。ここでは名前だけにしています。)

分かったことは次のとおりです。

見たこと 結果
1回の opencode run の送信回数 2回(タイトル作成1回+本体1回)
道具を1回使ったとき 3回(タイトル+道具の指示+結果を受けた返答)
渡される道具 10個(bash・edit・read・write など)
API キーの渡し方 Authorization: Bearer ヘッダー
応答の形式 ストリーミング(SSE)

タイトル作成の送信には道具が付かず、「You are a title generator.」で始まる別のシステムプロンプトが使われていました。small_model を設定すると、この種の軽い仕事を安いモデルに回せます。

OpenCode Go とは(Zen との違い)

OpenCode Go は、OpenCode チームが動作を確かめたオープンなコーディング向けモデルを、月額で使えるサブスクリプションです。 使わなくても OpenCode は動きます。2026年10月17日時点の公式ページの内容です。

10ドル/月Go手ごろなモデルを低価格で
40ドル/月Go PlusGo の内容+上限が高い
20%5時間あたりの上限月の上限額に対して。1週間は50%
  • 上限の考え方:モデルごとに「月の利用額(ドル)」が決まっていて、5時間で月の20%、1週間で50%、1か月で100%まで使えます。トークン単価は Go と Go Plus で同じです。
  • 上限に達したら:無料のモデルは使い続けられます。Console に残高があり「Use balance」を有効にしていれば、従量課金の残高へ切り替わります。
  • モデル:Kimi K3・GLM-5.3-Flash・Claude Haiku 5.5・GPT 6 Luna・DeepSeek V4.1 Flash・Qwen3.7 Plus・MiniMax M3 など。一覧は変わることがあると書かれています。
  • モデル ID:opencode-go/<モデルID>(例 opencode-go/kimi-k3)。
  • 使い方:OpenCode Console で Go に登録して API キーをコピー → TUI で /connect → OpenCode Go を選んでキーを貼る → /models で選ぶ。
  • ほかのツールから:モデル一覧は https://opencode.ai/inference/go/v1/models で取れます。Claude Code・Codex・Kilo Code CLI などが検証済みのクライアントとして挙げられています。
  • 人数:Go は1人用のワークスペース向けで、メンバーを招待できません。
  • データ:多くのモデルは学習に使わず保存期間0日ですが、「Contributor」が付くモデルは入力と出力が学習に使われることがあり、30日保存のモデルもあります。モデルごとの表を公式ページで確かめてから選ぶのが安全です。
項目 OpenCode Go OpenCode Zen(Console)
払い方 月額(10ドル・40ドル) 従量課金(前払いの残高)
モデル ID opencode-go/… opencode/…
無料のモデル あり(期間限定のもの) あり(期間限定のもの)
残高の自動補充 なし(上限で止まる) 5ドルを切ると20ドル補充
向く使い方 毎日使い、費用を固定したい 使う量が月によって違う

Zen の決済には、カード手数料(4.4%+0.30ドル/回)がそのまま加わると書かれています。

OpenCode の GitHub 連携

Issue や Pull Request のコメントに /opencode か /oc と書くと、GitHub Actions の中で OpenCode が動き、返信・ブランチ作成・PR 作成・コミットを行います。

いちばん簡単な入れ方

GitHub のリポジトリの中で次を実行すると、GitHub アプリのインストール、ワークフローの作成、シークレットの設定を順に案内してくれます。

opencode github install

opencode github --help のサブコマンドは install(GitHub エージェントを入れる)と run(GitHub エージェントを動かす)の2つでした。

手で書く場合のワークフロー

公式ドキュメントの例です。.github/workflows/opencode.yml に置き、ANTHROPIC_API_KEY を「Settings → Secrets and variables → Actions」に登録します。

name: opencode

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]

jobs:
  opencode:
    if: |
      contains(github.event.comment.body, '/oc') ||
      contains(github.event.comment.body, '/opencode')
    runs-on: ubuntu-latest
    permissions:
      id-token: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
        with:
          fetch-depth: 1
          persist-credentials: false

      - name: Run OpenCode
        uses: anomalyco/opencode/github@latest
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        with:
          model: anthropic/claude-sonnet-4-20250514
入力 意味
model(必須) 提供元/モデル の形
agent 使う主エージェント(無ければ build)
prompt 既定の動きを上書きする指示
mentions 反応する語(既定 /opencode,/oc)
use_github_token true で OIDC を使わず GITHUB_TOKEN を使う

反応するイベントは issue_comment・pull_request_review_comment・issues・pull_request・schedule・workflow_dispatch です。issues・schedule・workflow_dispatch では prompt が必須で、pull_request では prompt が無ければ PR をレビューします。

コメントの例は「/opencode explain this issue(Issue を説明)」「/opencode fix this(ブランチを切って PR を作る)」です。PR の差分の行に /oc とコメントすると、ファイル名・行番号・差分も渡されます。

手元で PR を試すときは opencode pr 123 で、PR のブランチをチェックアウトしてから OpenCode を開けます。GitHub Actions の基本は、関連記事「CI/CDとは|GitHub Actionsで最初のパイプラインを作るまで」で扱っています。

oh my opencode とは(プラグインの入れ方)

oh my opencode は、OpenCode チームではなく第三者(code-yeongyu)が公開しているプラグインです。 npm の説明文は「Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools」で、複数のモデルとエージェントを並べて動かす仕組みを足します。2026年10月17日時点の npm 上の情報です。

項目 内容
npm パッケージ oh-my-opencode(同じ内容で oh-my-openagent もある)
版 5.1.34
ライセンス SUL-1.0
リポジトリ github.com/code-yeongyu/oh-my-openagent

リポジトリは現在、独立した omo コマンドとしての案内が中心になっていて、OpenCode 版(OpenCode edition)と「Migrating from OpenCode」のガイドがあります。

OpenCode に npm のプラグインを入れる方法は2つあります。

opencode plugin <パッケージ名>
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-wakatime", "@my-org/custom-plugin"]
}

npm のプラグインは起動時に Bun で入れられ、~/.cache/opencode/node_modules/ に置かれます。自作のプラグイン(JavaScript・TypeScript)は .opencode/plugins/ か ~/.config/opencode/plugins/ に置くと自動で読み込まれます。プラグインはあなたの権限でコードを実行するので、入れる前に提供元とライセンスを確かめます。

Claude Code との違い(事実の比較)

どちらもターミナルで動く AI コーディングエージェントです。2026年10月17日時点の公式ドキュメントの記載を並べます。

項目 OpenCode Claude Code
提供元・ライセンス anomalyco・MIT Anthropic
使えるモデル 75以上の提供元・ローカルモデル Claude(Bedrock 等の経由も可)
必要な契約 使う提供元の API キーなど Pro・Max・Team・Enterprise・Console
npm パッケージ opencode-ai @anthropic-ai/claude-code
指示ファイル AGENTS.md(無ければ CLAUDE.md) CLAUDE.md
計画だけのモード plan エージェント(Tab) プランモード

Claude Code の使い方は、関連記事「Claude Code 使い方完全ガイド|導入・コマンド一覧・エラー対処」で扱っています。OpenCode は opencode mcp で MCP サーバーもつなげます。MCP の仕組みは、関連記事「MCPとは?サーバーとクライアントの仕組みと設定例を図解」で扱っています。

OpenCodeのエラーと直し方

実行して出たメッセージ(原文)と、原因・直し方です。

メッセージ(原文) 原因 直し方
ProviderModelNotFoundError: Model not found: local/nothing. -m や model の ID が設定に無い opencode models で ID を確かめる
AI_APICallError: Cannot connect to API: Unable to connect. Is the computer able to access the url? baseURL のサーバーに届かない URL・ポート・プロキシを確かめる
AI_RetryError: Failed after 3 attempts. 上の接続失敗が再試行でも続いた 同上。サーバーを起動してから再実行
The user has specified a rule which prevents you from using this specific tool call. plan や permission で拒否された道具を使おうとした Tab で build にする/permission を見直す
Failed to fetch models.dev(ログ) models.opencode.ai に届かない(社内プロキシなど) 自前の提供元は opencode.json に models を書けば動く
UnknownError Unexpected server error. Check server logs for details. 画面には中身が出ない --print-logs で実行し、ERROR 行を読む

接続先のサーバーを止めた状態で opencode run を実行すると、画面には何も出ないまま再試行が続きました。原因を見るときは --print-logs --log-level DEBUG を付けると、上の表のメッセージがログに出ます。

やってはいけない操作と戻し方

  • --auto を知らないリポジトリで使う:確認なしでコマンドが実行されます。まず plan で計画を見るか、permission で bash を "ask" にしておきます。
  • API キーを opencode.json に直接書いてコミットする:{env:…} か /connect(auth.json に保存)を使います。
  • 1 系と V2 を同じ opencode コマンドで入れる:後から入れたほうが上書きします。V2 を試すときは、1 系の設定(~/.config/opencode)を控えてから入れます。
  • 変更を戻したいとき:/undo で直前の変更が戻り、元の指示文が入力欄に戻ります。何回でも戻せます。OpenCode は作業ごとにスナップショット(内部の Git)を取っていて、これを使って戻します。

よくある質問

Q. OpenCode とは何ですか? A. ターミナルで動く、MIT ライセンスの AI コーディングエージェントです。好きな提供元のモデルをつなぎ、ファイルの編集やコマンド実行を任せられます。詳しくは「OpenCodeとは」の節にあります。

Q. OpenCode は無料で使えますか? A. OpenCode 本体は無料のオープンソースです。モデルの利用料は、つなぐ提供元の料金になります。Zen と Go には期間限定の無料モデルがあり、Ollama などのローカルモデルもつなげます。

Q. OpenCode の使い方は? A. npm install -g opencode-ai で入れ、プロジェクトで opencode を起動し、/connect → /models → /init の順に進めます。計画は plan、実装は build で行い、Tab で切り替えます。

Q. OpenCode Go とは? A. OpenCode チームのモデル提供サービスの月額プランで、Go が月10ドル、Go Plus が月40ドルです(2026年10月17日時点)。上限は5時間・1週間・1か月で決まっています。

Q. OpenCode の GitHub 連携は? A. リポジトリで opencode github install を実行すると、GitHub アプリとワークフローを設定できます。Issue や PR に /opencode か /oc とコメントすると動きます。

Q. oh my opencode とは? A. 第三者が公開している OpenCode 向けのプラグインです。npm の oh-my-opencode で、複数のモデルとエージェントを並べて動かす機能を足します。

Q. opencode.json はどこに置きますか? A. 全体用は ~/.config/opencode/opencode.json、プロジェクト用はリポジトリの直下です。両方あれば合体し、同じキーはプロジェクトが勝ちます。

まとめ

  • OpenCode は MIT ライセンスの AI コーディングエージェント。npm の latest は 1.19.3(1 系)で、V2 は別のインストーラー
  • 使い始めは opencode → /connect → /models → /init。AGENTS.md は「Instructions from:」付きでシステムプロンプトに入る
  • 自前の OpenAI 互換サーバーは @ai-sdk/openai-compatible と baseURL で登録。キーは {env:…} で渡す
  • plan は .opencode/plans/*.md 以外の編集を拒否し、build はすべての道具を使う。Tab で切り替え
  • OpenCode Go は月10ドル・40ドルの月額、Zen は従量課金。GitHub 連携は opencode github install

AI を開発の流れにどう組み込むかは、関連記事「AI駆動開発とは?バイブコーディングとの違いと導入手順」で扱っています。

参考・出典

確認日はいずれも 2026年10月17日です。

  • OpenCode Docs(Intro):https://opencode.ai/docs/
  • OpenCode Docs(Config):https://opencode.ai/docs/config/
  • OpenCode Docs(Providers):https://opencode.ai/docs/providers/
  • OpenCode Docs(Rules):https://opencode.ai/docs/rules/
  • OpenCode Docs(Agents):https://opencode.ai/docs/agents/
  • OpenCode Docs(TUI):https://opencode.ai/docs/tui/
  • OpenCode Docs(Keybinds):https://opencode.ai/docs/keybinds/
  • OpenCode Docs(GitHub):https://opencode.ai/docs/github/
  • OpenCode Docs(Plugins):https://opencode.ai/docs/plugins/
  • OpenCode Docs(Go):https://opencode.ai/docs/go/
  • OpenCode Docs(Zen):https://opencode.ai/docs/zen/
  • OpenCode Go:https://opencode.ai/go
  • OpenCode V2 Docs:https://opencode.ai/v2/docs/
  • OpenCode V2 Docs(Migrate from V1):https://opencode.ai/v2/docs/migrate-v1/
  • anomalyco/opencode(GitHub):https://github.com/anomalyco/opencode
  • opencode-ai(npm):https://www.npmjs.com/package/opencode-ai
  • oh-my-opencode(npm):https://www.npmjs.com/package/oh-my-opencode
  • Claude Code Docs(Advanced setup):https://code.claude.com/docs/en/setup

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「OpenCodeとは|インストールと使い方・設定・Go・GitHub連携」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ

RJCで一緒に開発しながら、 成長を楽しみませんか?