コンソールの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>
app/session/[id]/page.tsxtsx
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 で同じブリッジを起動できます。

GitHubでこのページを編集