ターミナルで AI にコードを書かせるツールが増えている。 GitHub Copilot、Cursor、Claude Code、Aider……どれも「ターミナル or エディタから LLM を呼んでコードを編集する」という思想は同じだが、細部の設計がまったく異なる。

opencode は、SST(Serverless Stack)チームが 2025 年に公開したオープンソースの AI コーディングエージェントだ。

  • ターミナルで動く TUI(テキストユーザーインターフェース)
  • Claude・GPT・Gemini など主要 LLM を切り替えて使える
  • MIT ライセンスで完全 OSS
  • エージェントがファイルを読み書き・コマンドを実行する「エージェントループ」を持つ

この記事では opencode の概要・インストール・使い方・Claude Code との違いを整理する。


結論を先に

opencode は「Claude Code の OSS 版に近い位置付け」のツールだ。

特定プロバイダへの依存なし → Claude でも GPT-4o でも Gemini でも使える
ターミナル完結          → VS Code や Cursor 不要、SSH 先でもそのまま動く
ファイル操作が得意       → コード編集・新規作成・コマンド実行をエージェントが自律的に行う
OSS                   → ソースを読んで動作を理解できる・自分でフォークして改造できる

opencode が解決する問題

AI コーディングツールには「特定プロバイダへのロックイン」という問題がある。

  • Cursor は OpenAI / Anthropic に依存した UI
  • Claude Code は Anthropic の API キーが必須
  • GitHub Copilot は GitHub のエコシステムに統合された形でしか使えない

プロバイダを自由に選びたい・切り替えたいというニーズに応えるのが opencode の立ち位置だ。

会社のセキュリティポリシー上 OpenAI は使えないが Anthropic は使える、あるいは逆のケース、コストを下げるために Gemini Flash を使いたいケースなど、現場で起きる「LLM 選択問題」を抽象化して解決する。


アーキテクチャの概要

opencode の動作は大きく 3 層に分かれる。

┌─────────────────────────────────────────┐
│  TUI レイヤー(Bubble Tea / Go)         │  ← ユーザーが操作する画面
└────────────────┬────────────────────────┘
                 │
┌────────────────▼────────────────────────┐
│  エージェントループ                       │  ← LLM の呼び出しとツール実行を繰り返す
│  ・ファイル読み書き                       │
│  ・シェルコマンド実行                     │
│  ・検索・grep                            │
└────────────────┬────────────────────────┘
                 │
┌────────────────▼────────────────────────┐
│  プロバイダ抽象層                         │  ← Claude / GPT / Gemini etc.
└─────────────────────────────────────────┘

TUI レイヤー

Go の TUI フレームワーク Bubble Tea を使って実装されている。 ターミナル上でチャット画面・差分プレビュー・ファイルツリーが表示され、キーボードだけで操作できる。

エージェントループ

LLM からのレスポンスを受け取り、ツール呼び出し(read_filewrite_filebash など)があれば実行して結果を返す。これを繰り返す構造は Claude Code や Aider と同じ設計思想だ。

プロバイダ抽象層

各 LLM を統一インターフェースで呼び出す。設定ファイルにプロバイダ名と API キーを書くだけで切り替えられる。

// ~/.config/opencode/config.json
{
  "provider": "anthropic",
  "model": "claude-sonnet-4-5"
}

インストール

macOS / Linux(推奨)

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

npm 経由

npm install -g opencode-ai

Go ソースからビルド

git clone https://github.com/sst/opencode
cd opencode
go build ./...

基本的な使い方

起動

# カレントディレクトリをプロジェクトとして開く
opencode

# 特定ディレクトリを指定して開く
opencode /path/to/project

起動すると TUI が立ち上がり、チャット画面が表示される。

基本操作

キー 動作
Enter メッセージを送信
Ctrl+C 実行中のエージェントを中断
Ctrl+N 新しいセッションを開始
Ctrl+L 画面をクリア
Tab ファイル補完
? ヘルプを表示

プロバイダとモデルの切り替え

チャット中にスラッシュコマンドで切り替えられる。

/model claude-opus-4-5
/model gpt-4o
/model gemini-2.0-flash

ファイル・ディレクトリの参照

@ を使ってファイルを会話に含められる。

@src/api/users.py のバグを修正して
@README.md を読んでこのプロジェクトの概要を教えて

Claude Code との違い

同じ「ターミナルで動く AI コーディングエージェント」として比較されることが多い。

観点 opencode Claude Code
プロバイダ 複数対応(Claude・GPT・Gemini 等) Anthropic のみ
ライセンス MIT(OSS) プロプライエタリ
実装言語 Go TypeScript / Node.js
TUI フレームワーク Bubble Tea(Go) ink(React/Node.js)
MCP サポート あり(実験的) あり(本番品質)
カスタムツール追加 フォークして改造 hooks / MCP で拡張
料金 無料(API 料金は別途) Pro プランで利用可
更新頻度 コミュニティドリブン Anthropic が管理

opencode を選ぶ理由

  • 使う LLM を自分で決めたい
  • OSS なのでコードを読んで動作を把握したい
  • 社内ポリシーで特定プロバイダしか使えない
  • Anthropic のサブスク契約が不要

Claude Code を選ぶ理由

  • Anthropic の最新モデルを最速で使いたい
  • MCP の安定した統合が必要
  • Anthropic のサポートと更新を受けたい

実際の使用例

例1: 新機能の実装

ユーザー認証に JWT を追加してください。
現在の実装は @src/auth/ にあります。

opencode がファイルを読み込み、必要なパッケージのインストールから実装・テストの記述まで自律的に進める。

例2: バグ修正

@src/api/users.py の 42行目で KeyError が発生しています。
スタックトレースは以下です:
KeyError: 'email'

エージェントがファイルを読み込み、原因を特定して修正案を提示する。修正を適用するかは最終的にユーザーが承認する。

例3: コードレビュー

@src/ 以下の変更差分をレビューして、
セキュリティ上の問題があれば指摘してください

CLAUDE.md に相当する設定ファイル

Claude Code の CLAUDE.md(プロジェクト固有の指示ファイル)に相当するのが、opencode では AGENTS.md または opencode.md だ。

プロジェクトルートに置くと、エージェントが参照する。

<!-- opencode.md -->
## プロジェクト概要
FastAPI + PostgreSQL のバックエンド API。

## コーディング規約
- Python 3.11+ の型ヒントを必ず使う
- Ruff でフォーマット
- テストは pytest

## 注意事項
- DB マイグレーションは Alembic で管理している
- 本番環境の設定は .env.production(コミット禁止)

現状の制約と注意点

opencode は活発に開発が続いているが、まだ発展途上な部分もある。

安定性

  • 大規模なファイル編集でコンテキストが溢れることがある
  • Claude Code に比べてツール実行の信頼性がやや低い報告がある

MCP サポート

  • 対応は進んでいるが、Claude Code ほど成熟していない
  • 複雑な MCP ワークフローには Claude Code の方が向いている

エコシステム

  • コミュニティ系ツールやプラグインはまだ少ない
  • 日本語ドキュメントもほぼ存在しない

まとめ

opencode は「LLM に依存しない OSS のターミナル AI エージェント」として、特定プロバイダへのロックインを避けたいユーザーにとって有力な選択肢だ。

  • Claude を使いつつも Anthropic のツールに縛られたくない場合
  • コストに応じてモデルを柔軟に切り替えたい場合
  • ソースコードを読んでカスタマイズしたい場合

は opencode が向いている。

一方、Anthropic のエコシステム(MCP・hooks・Pro プラン)を最大限活用したい場合は Claude Code の方が現状では完成度が高い。

どちらも「ターミナルでエージェントにコードを書かせる」という同じビジョンを持つツールだ。用途や制約に応じて使い分けるのが現実的な答えになる。