Anomalyは2026年10月12日、オープンソースのAIコーディングエージェント
CLIを1.opencode upgrade --majorを実行する。デスクトップアプリはダウンロードページから入手できる。
ターミナル・Web・デスクトップアプリから同じセッションを使う
OpenCodeは、ターミナル上の対話型UIに加え、ブラウザーで使うWeb UIやデスクトップアプリからも利用できる。1.
CLIドキュメントによると、このサービスはコンピューターのユーザーアカウントごとに動き、会話セッション、設定、外部連携、権限、ツールの実行を管理する。このため、ターミナルからWeb UIへ切り替える場合も、同じセッションを扱える。共有サービスを使わずに専用のサーバーで動かす--standaloneや、接続先のサーバーを指定する--serverも用意されている。
MCPツールはCode Mode経由の実行がデフォルトに
Code Modeは、エージェントがJavaScriptを書き、利用可能なツールを組み合わせて実行する仕組み。1.
公式ブログでは、GitHubのバグ報告を取得し、Linearに課題として登録する例を示している。エージェントが一連の処理をJavaScriptで書き、OpenCodeのexecuteツールがそのコードを実行する。処理を一つのスクリプトにまとめることで、ツールを呼び出すたびにモデルへ結果を返し、次の呼び出しを判断させるやり取りを減らせるようになる。
別のツールの結果を待つ必要がない処理は、並列に実行できる。また、途中で得たデータをスクリプト内で加工し、必要な結果だけをモデルに返すこともできる。ブログは、多数のツールを接続した場合に、モデルへ渡すツールの説明などの情報量を抑えられる点も挙げている。
OpenCodeは、JavaScriptの実行に@opencode/パッケージを使う。このパッケージは、OpenCodeの接続先に設定したMCPサーバーのツールや、OpenAPIで定義されたAPIを、スクリプトから呼び出せる関数として扱う。
MCPサーバーは、利用者のコンピューター上で起動するものも、ネットワーク越しに利用するものも指定できる。サーバーごとにcodemode: falseを設定すれば、モデルが各ツールを直接呼び出す方式も選べる。
なお、スクリプトはファイルの読み書きやネットワーク通信を直接行えず、登録されたツールを通じて操作する。execute自体の利用権限に加え、スクリプトから呼び出すツールにも、それぞれの権限設定が適用される。
サブエージェントやコマンドをバックグラウンドで実行
利用者とやり取りする主エージェントは、別のエージェント
たとえば、サブエージェントがコードレビューを進める間に、主エージェントが別の編集を進められる。利用者が主エージェントとは異なるモデルを指定して、サブエージェントへ作業を依頼することもできる。
2.
サブエージェントやコマンドの処理に時間がかかる場合は、利用者がショートカットキーで処理をバックグラウンドへ移し、次の指示を入力できる。どちらも処理が終わると、作業を依頼したセッションに通知が届く。
APIの再設計とSDKの提供、ターミナルUIの拡張
2.
OpenCodeを自作のアプリから利用するためのライブラリも提供する。@opencode/はOpenCodeのサーバーへ接続し、JavaScriptやTypeScriptからセッションを作成したり、プロンプトを送ったりできる。Node.@opencode/には、利用者のコンピューター上のOpenCodeサービスを見つけ、必要なら起動するAPIもある。
OpenCode自体をアプリに組み込んで動かす場合は、@opencode/を使う。OpenCodeのサーバーをアプリ内で動かし、ネットワークを介さずにAPIを呼び出せる。
ターミナルUIを拡張するプラグインも実験段階から安定版へ移った。CLIプラグインでは、コマンドや画面の表示、通知などを追加できる。プラグインの変更はOpenCodeを再起動せずに反映できるため、セッション中でもOpenCodeにプラグインを作らせ、その場で使える。
V1からの移行では互換性に注意、LSP機能は現在非対応
移行ガイドによると、V1のプラグインと、サーバーAPIを呼び出す外部プログラムはV2向けの書き換えが必要になる。V2が対応する既存設定、エージェント定義、スキルなどは引き続き使えるが、ターミナルUIの設定は全プロジェクト共通のファイルへ集約される[1]。
またV2は現在、開発ツールと言語サーバーを連携させるLSP