コンソールのOpenCode
OpenCode LiteのTUIをText.jsで構築する仕組みと、ローカルで実行する方法。
OpenCodeはオープンソースのコーディングエージェントです。OpenCode Liteは、Text.jsで構築されたOpenCode用のコンソールクライアントです。
試用
- このサイトでの利用:OpenCodeにアクセスしてDevToolsを開きます。
- ローカルでの利用:
bunx create-text-app my-app --template opencode。
このサイトでは、スクリプトに従って動作するエージェントをサンドボックスで実行しています。任意のプロンプトを入力してください。
構成
| 領域 | コンポーネント |
|---|---|
| 会話履歴 | <ScrollBox stickyScroll> + <Markdown> |
| ツールカード | <Code> と <Diff> |
| プロンプト | <Textarea> |
| パレット | <Modal> + <Select searchable> |
export default function SessionPage({ params }: PageProps<{ id: string }>) { const { messages, send } = useSession(params.id); return ( <Box className="flex-col grow"> <ScrollBox stickyScroll className="grow"> {messages.map((m) => <MessageView key={m.id} message={m} />)} </ScrollBox> <Textarea placeholder="Ask anything…" onSubmit={send} autoFocus /> </Box> );}キー操作
| キー | 操作 |
|---|---|
Enter | 送信 |
Shift+Tab | エージェントの切り替え(build / plan) |
Ctrl+P | コマンド |
Ctrl+X の後に L | セッション一覧 |
Ctrl+X の後に N | 新規セッション |
Esc を2回 | 実行中のセッションの中断 |
ローカルサーバーへの接続
# From any directory:opencode service status # If stopped: opencode service startbunx @textjs/opencode@latest proxyブリッジを実行したままにします。OpenCodeページで http://127.0.0.1:4096 を入力し、接続を押して、Chromeから求められた場合はローカルネットワークへのアクセスを許可します。次に、ブリッジが出力したペアリングコードを入力します。ブリッジが再起動するか、切断を押すまで、ページのペアリングは維持されます。接続にはサービスのポートではなくブリッジのURLを使います。ブリッジがサービスの認証情報とCORSヘッダーを提供します。使い終わったらCtrl+Cで停止します。
フォアグラウンドサーバーがすでにポート4096で動作している場合は、bunx @textjs/opencode@latest proxy --port 4097 --target http://127.0.0.1:4096 を実行し、ページをポート4097に接続します。パスワードで保護されたフォアグラウンドサーバーの場合は、ブリッジのシェルでその OPENCODE_PASSWORD をexportし、ブラウザーのURLにはパスワードを含めないでください。
ブリッジは @textjs/opencode パッケージです。依存関係はなく、Node 22以降では npx でも実行できます。Text.jsプロジェクト内では、text proxy で同じブリッジを起動できます。