- AI ⚙️
- 技術 💻
OpenCodeとは|インストールと使い方・設定・Go・GitHub連携
結論
OpenCodeは、好きなLLMをつないでターミナルでコードを書かせる、MIT ライセンスのAIエージェントです。npm install -g opencode-ai で入り、/connect と /init で使い始めます。
この記事でわかること
- CLIコマンド22個と主なショートカット15個の一覧
- AGENTS.md が送信内容に入る様子の実物
- OpenCode Go の月額2プランとGitHub連携の設定
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ステップ
インストールから最初の変更までの流れです。
プロジェクトのフォルダで opencode を起動する
全画面の TUI が開きます。別のフォルダを開くときは opencode ~/code/my-app。
/connect でモデルの提供元をつなぐ
提供元を選び、API キーを貼るか、ブラウザでログインします。続けて /models でモデルを選びます。
/init で AGENTS.md を作る
リポジトリを調べて、ビルド・テストのコマンドや決まりを AGENTS.md に書きます。Git にコミットして共有します。
Tab で plan に切り替えて、やりたいことを詳しく書く
plan はファイルを変えずに手順だけ出します。画像をターミナルにドラッグして添えることもできます。
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 系)では、次の順で探します。
- 今いるフォルダから上へたどって見つかった
AGENTS.mdかCLAUDE.md ~/.config/opencode/AGENTS.md- 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日時点の公式ページの内容です。
- 上限の考え方:モデルごとに「月の利用額(ドル)」が決まっていて、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期連続の黒字決算。