
2026/10/15 5:48
OpenCode 2.0
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
OpenCode 2.0 は、数百万人の毎日ユーザーからのフィードバックに基づいた大きなアーキテクチャ見直しであり、パフォーマンス向上、バグ修正、およびほぼあらゆるエージェント機能をサポートするように設計された全く新しい API を導入しています。主要な変更点として、すべてのインターフェース(TUI、Web、デスクトップ)を単一の中央バックグラウンドプロセス (
opencodepid) に統合し、@opencode/client を使用するクライアントはこれを自動で発見できるようになりました。システムは現在、ペアリングフロー (/pair または opencode pair) を通じてスケジューリングされたタスクや外部アプリケーションとのシームレスな接続をサポートしており、ネイティブアプリの開発が進行中です。
目立つ機能の一つには、「Code Mode」(
@opencode/codemode)があり、Node.js VM の複雑性なしにエージェントが直接スクリプトを書くことを可能にする最小限の JavaScript インタプリターを使用します。これにより、すべての MCP サーバーはデフォルトで code mode で動作します。この更新では、長時間実行されるタスクのためにバックグラウンドサブエージェントと非同期シェルコマンドを導入し、セッション中にプラグインのアップデートを行うためのホットリロードも追加されています。新しい @opencode/sdk を使用することで、OpenCode をサーバーまたは Durable Objects 上のライブラリとして利用できるようになります。
このアップグレードには重要なbreaking changesが含まれています:バージョン 1.x のプラグインはもはや機能せず、
tui.json などの設定ファイルは json フォーマットに移動しました。最新の 1.x リリースを使用するユーザーは、2.0 に更新してこれらの変更との互換性を維持するには、最初に opencode upgrade --major を実行する必要があります。本文
OpenCode 2.0 リリースノート
OpenCode 2.0 は数百万人のユーザーのフィードバックに基づき、エージェントのあらゆる状況に対応する大幅な改修版です。新機能の追加、パフォーマンス向上、バグ修正が行われましたが、特に影響の大きい変更点をご紹介します。
The Service(サービス)
OpenCode は当初からクライアント/サーバーモデルを採用していましたが、デフォルトでは無効でした。OpenCode 2.0 では、このサーバープロセスが自動的にマシンの単一のバックグラウンドプロセスとして実行されます。 TUI、Web インターフェイス、デスクトップアプリのいずれでも中央のプロセスに接続されます。
プロンプト番号の取得方法:
opencodepid 48213
Running Sessions(実行中のセッション)
- プログラミングクライアント
を使用して独自のスクリプトを作成する際、ローカルサービスを自動検出できるためスケジューリングされたタスクに適しています。@opencode/client - CLI から
コマンドを使用してサービスも呼び出すことができます。opencode api - サーバーを他のホストに公開するには
または/pair
を使用します(ネイティブアプリとの接続用)。opencode pair
The API(API)
旧 API は開発過程で適当に拡張され、状態が悪化していました。最初から作り直し、数百万人の利用事例を精査して必要なほぼあらゆる機能をサポートする体系へ変更しました。 OpenCode は自身の API も認識し、新しい作業開始時に Git ワークツリーへの移動など、有用な作業を行うためにそれらを呼び出します。
New Session(新規セッション)
以下の変更点が施されました:
- Upload テスト関連の不具合修正
- 中断からの復旧機能の実装
- Config リーダーの移行処理への対応
- タブ閉じ時の適切なハンドリング
また、バニラ JavaScript および Effect を対象とした新しいクライアントパッケージ
@opencode/client もリリースされました。
コード例:
import { OpenCode } from "@opencode/client" import { Service } from "@opencode/client/service" const endpoint = await Service.ensure() const client = OpenCode.make({ baseUrl: endpoint.url, headers: Service.headers(endpoint), }) const session = await client.session.create({ location: { directory: process.cwd() }, }) await client.session.prompt({ sessionID: session.id, text: "Review the current changes", })
Code Mode(コードモード)
モデルがコード記述を好む特性を活かし、他のコーディングエージェントよりもその特性を最大限活用します。
@opencode/codemode パッケージ内で最小限の JavaScript インタープリターを実装しています。
MCP Servers
このパッケージでは MCP サーバーまたは OpenAPI エンドポイントをインGEST し、エージェントがスクリプト内で呼び出せる関数に変換します。Node.js VM や QuickJS などの複雑な実装を避け、ネイティブ環境で直接実行できます。 これにより、エージェントはツールを呼び出して結果をマッピングし、さらに別のツールを呼び出すといった動的なスクリプトを作成できるようになります。従来のように一度に一つずつ呼ぶのではなく、単一のラウンドトリップ(一回のやり取り)で処理可能です。
OpenCode 2.0 の全 MCP サーバーはデフォルトでコードモードに登録されており、コンテキストの肥大化を最小限に抑えながら数百個を追加できます。
Background Tasks(バックグラウンドタスク)
最新バッチのモデルがオーケストレーション能力に優れているため、その能力を発揮する環境を整えました。
- バックグラウンドサブエージェント
- 主エージェントは別のエージェントに作業を依頼しながら自身の処理を継続できます。
- 自動的に発生しますが、手動でもトリガー可能です(異なるモデルでも同様)。
- バックグラウンドシェルコマンド
- シェルツールを非同期的に呼び出せるため、長時間かかる作業でも主エージェントがブロックされません。
- 完了すると通知されます。
もしフォアグラウンドのタスクが長引く場合は、ホットキーで自動的にバックグラウンドへ移動させることができます。これにより主エージェントは引き続きプロンプトを処理し続けます。
Plugins(プラグイン)
OpenCode 1.0 にはプラグインシステムがありましたが、十分機能していませんでした。OpenCode 2.0 では内部に実装されたプラグインを強制し、現在はそれ以上の 80 個のプラグインが用意されています。 これによりプラグイン API の保守性が保たれています。
- TUI プラグイン: 実験的版から安定版へ昇格。OpenTUI で動作するためほぼ何でも構築可能です。
- ホットリロード機能: セッション中に自身のためのプラグインを作成し、すぐに使用できます。
- OpenCode に「任意のプラグインを作成してほしい」と指示すると理解して実行します(詳細は別途ドキュメント参照)。
The SDK
OpenCode は現在
@opencode/sdk パッケージを通じてライブラリとしても利用可能になりました。
- サーバーまたは Durable Objects などの特殊環境で動作する独自の OpenCode バリエーションを作成可能です。
- 標準的な OpenCode サーバープロトコルを話すため、あらゆる OpenCode クライアントから接続可能です。
- オプションの Effect ベースの API も利用可能です(現在開発中ですが既にアクセス可能)。
Upgrading(アップグレード)
CLI をアップグレードするには、最新の 1.x リリース上で以下のコマンドを実行してください:
opencode upgrade --major
デスクトップアプリは公式ページから最新版をダウンロードしてください。いくつかの非後方互換の変更点があります。
- ⚠️ 1.0 で動作していたプラグインは、2.0 には対応していません。
- サーバー API は完全に変更されています。
の設定ファイルはtui.json
ディレクトリに移動しました。json
他の多数の変更点は概ね後方互換性がありますが、移行の支援が必要な場合は OpenCode にこのドキュメントを示してください。