1

概要

ClientsServerTUIOpenTUI/SolidDesktopTauriWebBrowserIDEVSCode / NeovimHTTP / SSEClient ↔ ServerHono ServerAPI RoutesAgent LoopPlan / Build / GeneralLLM ProviderAnthropic, OpenAI...ToolsBash, Edit, MCP...

OpenCodeとは

OpenCodeは、TypeScript(Bun)で構築されたオープンソースのAIコーディングエージェントである。 クライアント/サーバー分離アーキテクチャを採用し、TUI・デスクトップ・Web・IDEなど 複数のクライアントから同一のサーバーに接続できる設計が最大の特徴である。

クライアント/サーバーアーキテクチャ

OpenCodeのサーバーはHonoフレームワーク上に構築され、localhost:4096にバインドされる。 クライアントとサーバー間の通信には**REST API + SSE(Server-Sent Events)**を使用する。

クライアント群                         サーバー
┌──────────┐                    ┌──────────────────┐
│   TUI    │──── REST + SSE ──>│                  │
├──────────┤                    │   Hono Server    │
│ Desktop  │──── REST + SSE ──>│  localhost:4096  │
├──────────┤                    │                  │
│   Web    │──── REST + SSE ──>│  ┌────────────┐  │
├──────────┤                    │  │ Agent Loop │  │
│   IDE    │──── REST + SSE ──>│  │ Tool Exec  │  │
└──────────┘                    │  │ LLM Call   │  │
       |                        │  └────────────┘  │
  @opencode-ai/sdk              └──────────────────┘

すべてのクライアントは @opencode-ai/sdk を通じてサーバーと通信する。 これにより、UIの実装を問わず統一されたAPIでエージェント機能にアクセスできる。

3つの実行モード

モード説明用途
tuiターミナルUIを起動し対話的に操作する日常的な開発作業
serverサーバーのみを起動しクライアントを待ち受けるリモート接続、カスタムUI
run単発のプロンプトを実行し終了するCI/CD、スクリプト連携

主要機能

デュアルエージェント

OpenCodeはPlan AgentBuild Agentの2つの専門エージェントを持つ。 Planが要件を分析しタスクを分解、Buildが実装を実行する。 加えてGeneral Agentがデフォルトの会話を担当する。

75+プロバイダー対応

Vercel AI SDKを基盤とし、Anthropic、OpenAI、Google Gemini、Bedrock、 OpenRouter、Ollama、LM Studioなど75以上のLLMプロバイダーに対応する。

ターミナルUI

OpenTUI(@opentui/solid)により、SolidJSのリアクティブモデルを ターミナル上で動作させる独自のTUIフレームワークを搭載する。

LSP連携

Language Server Protocolとの統合により、診断情報やコード補完を エージェントの意思決定に活用できる。

他のAIコーディングエージェントとの比較

特徴OpenCodeClaude CodeCodex CLI
アーキテクチャクライアント/サーバースタンドアロンスタンドアロン
通信方式REST + SSEプロセス内プロセス内
UITUI / Desktop / Web / IDECLI / VS Code / JetBrainsCLI
ランタイムBun (TypeScript)Node.js (TypeScript)Node.js (TypeScript)
LLMプロバイダー75+ (Vercel AI SDK)Anthropic専用OpenAI専用
拡張方式MCP + プラグインMCP + Skills + HooksMCP
サンドボックスなし (Permission Gate)Bash制限Docker / Seatbelt

次のステップ

以降のセクションでは、OpenCodeの各機能を詳しく解説する。