OpenCode 2.0 发布:终端、Web、桌面默认共享会话,支持后台执行审查与测试
OpenCode 2.0、ターミナル・Web・デスクトップでセッション共有をデフォルトに ——レビューやテストをバックグラウンドで実行 | gihyo.jp
Anomaly 于 2026 年 10 月 12 日在官方博客介绍开源 AI 编码智能体 OpenCode 2.0 的主要变化,默认让终端、Web 和桌面应用共用同一会话,由本机后台服务统一管理会话、配置、外部集成与权限。2.0 将 MCP 工具调用默认改为 Code Mode,由智能体编写 JavaScript 组合调用工具,减少逐次往返模型的交互;子智能体与 shell 命令可在后台运行,代码审查、测试和构建无需等待完成即可继续其他工作。CLI 从 1.x 升级需先更新到最新 1.x 再执行 opencode upgrade --major,V1 插件和调用服务器 API 的外部程序需改写,V2 目前不支持 LSP。
推荐理由
AI 评分 70
OpenCode 2.0 把跨终端、Web、桌面共享会话设为默认,并让 MCP 工具走 Code Mode,读者可据此判断多端协作与工具调用的变化。
主题
正文
Anomalyは2026年10月12日、オープンソースのAIコーディングエージェント「OpenCode 2.0」の主な変更点を公式ブログで紹介した。2.0では、ターミナル、Web、デスクトップアプリから同じ会話セッションを使う構成をデフォルトにした。外部ツールの呼び出しなど、複数の処理をJavaScriptにまとめて実行するCode Modeも備える。また、レビューやテストをバックグラウンドで実行し、完了を待たずに別の作業を進められる。
OpenCode 2.0 - Anomaly
CLIを1.xから2.0へ更新する場合は、まず最新の1.xへ更新し、opencode upgrade --majorを実行する。デスクトップアプリはダウンロードページから入手できる。
ターミナル・Web・デスクトップアプリから同じセッションを使う
OpenCodeは、ターミナル上の対話型UIに加え、ブラウザーで使うWeb UIやデスクトップアプリからも利用できる。1.xでも、起動済みのサーバーに接続して同じセッションを使うことはできていた。2.0では利用者のコンピューター上で共通のバックグラウンドサービスを自動的に起動し、各UIがそこへ接続する構成をデフォルトにした。
CLIドキュメントによると、このサービスはコンピューターのユーザーアカウントごとに動き、会話セッション、設定、外部連携、権限、ツールの実行を管理する。このため、ターミナルからWeb UIへ切り替える場合も、同じセッションを扱える。共有サービスを使わずに専用のサーバーで動かす--standaloneや、接続先のサーバーを指定する--serverも用意されている。
MCPツールはCode Mode経由の実行がデフォルトに
Code Modeは、エージェントがJavaScriptを書き、利用可能なツールを組み合わせて実行する仕組み。1.xにも実験機能として存在したが、2.0では、外部ツールを提供するMCPサーバーのツールを呼び出す際にデフォルトで使う方式になった。
公式ブログでは、GitHubのバグ報告を取得し、Linearに課題として登録する例を示している。エージェントが一連の処理をJavaScriptで書き、OpenCodeのexecuteツールがそのコードを実行する。処理を一つのスクリプトにまとめることで、ツールを呼び出すたびにモデルへ結果を返し、次の呼び出しを判断させるやり取りを減らせるようになる。
別のツールの結果を待つ必要がない処理は、並列に実行できる。また、途中で得たデータをスクリプト内で加工し、必要な結果だけをモデルに返すこともできる。ブログは、多数のツールを接続した場合に、モデルへ渡すツールの説明などの情報量を抑えられる点も挙げている。
OpenCodeは、JavaScriptの実行に@opencode/codemodeパッケージを使う。このパッケージは、OpenCodeの接続先に設定したMCPサーバーのツールや、OpenAPIで定義されたAPIを、スクリプトから呼び出せる関数として扱う。
MCPサーバーは、利用者のコンピューター上で起動するものも、ネットワーク越しに利用するものも指定できる。サーバーごとにcodemode: falseを設定すれば、モデルが各ツールを直接呼び出す方式も選べる。
なお、スクリプトはファイルの読み書きやネットワーク通信を直接行えず、登録されたツールを通じて操作する。execute自体の利用権限に加え、スクリプトから呼び出すツールにも、それぞれの権限設定が適用される。
サブエージェントやコマンドをバックグラウンドで実行
利用者とやり取りする主エージェントは、別のエージェント(サブエージェント)に作業を任せ、完了を待たずに作業を続けられる。このバックグラウンド実行は、1.xでは実験用設定を有効にして使う機能だったが、2.0ではその設定が不要になった。
たとえば、サブエージェントがコードレビューを進める間に、主エージェントが別の編集を進められる。利用者が主エージェントとは異なるモデルを指定して、サブエージェントへ作業を依頼することもできる。
2.0ではシェルコマンドのバックグラウンド実行にも対応し、時間のかかるテストやビルドの完了を待たずに、ほかの作業を進められる。
サブエージェントやコマンドの処理に時間がかかる場合は、利用者がショートカットキーで処理をバックグラウンドへ移し、次の指示を入力できる。どちらも処理が終わると、作業を依頼したセッションに通知が届く。
APIの再設計とSDKの提供、ターミナルUIの拡張
2.0では、OpenCodeを操作するためのサーバーAPIも再設計した。エージェント自身がこのAPIを呼び出し、新しい作業用にGitのワークツリー(独立した作業ディレクトリ)を作り、現在のセッションをそこへ移せる。
OpenCodeを自作のアプリから利用するためのライブラリも提供する。@opencode/clientはOpenCodeのサーバーへ接続し、JavaScriptやTypeScriptからセッションを作成したり、プロンプトを送ったりできる。Node.jsアプリ向けの@opencode/client/serviceには、利用者のコンピューター上のOpenCodeサービスを見つけ、必要なら起動するAPIもある。
OpenCode自体をアプリに組み込んで動かす場合は、@opencode/sdkを使う。OpenCodeのサーバーをアプリ内で動かし、ネットワークを介さずにAPIを呼び出せる。
ターミナルUIを拡張するプラグインも実験段階から安定版へ移った。CLIプラグインでは、コマンドや画面の表示、通知などを追加できる。プラグインの変更はOpenCodeを再起動せずに反映できるため、セッション中でもOpenCodeにプラグインを作らせ、その場で使える。
V1からの移行では互換性に注意、LSP機能は現在非対応
移行ガイドによると、V1のプラグインと、サーバーAPIを呼び出す外部プログラムはV2向けの書き換えが必要になる。V2が対応する既存設定、エージェント定義、スキルなどは引き続き使えるが、ターミナルUIの設定は全プロジェクト共通のファイルへ集約される[1]。
またV2は現在、開発ツールと言語サーバーを連携させるLSP(Language Server Protocol)の機能に対応していない[2]。同ガイドは、LSPを使う処理を、lint(コードの静的検査)や型チェック、コンパイラーのコマンドに置き換えるよう案内している。
[1] ターミナルUIの設定はtui.jsonやtui.jsoncからcli.jsonへ移る。cli.jsonがない場合、初回起動時にV2で使えるグローバル設定が自動移行されるが、プロジェクトごとのUI設定は引き継がれない。また、V1とV2は同じコマンドと設定の保存先を使い、デフォルトでは並行してインストールされない。移行ガイドはV1の設定のコピーを残し、V2専用の形式へ変更した設定をV1で使わないよう案内している。
[2] LSPをV2の構成へ移植するためのIssueが公開されている。