mcpField
V
vibelive

vibelive

ローカル
github.com/pooriaarab開発ツール02 週間前に更新

vibelive について

vibeliveは、コーディングセッションを共有するためのターミナルコラボレーションツールです。ローカルまたはLANのWebSocketでプロセス出力を共有し、単一ドライバーのキューで入力を管理します。CLI、Node.jsライブラリ、エージェント向けインターフェースを備えています。

主な機能

  1. 01単一ドライバーの制御キュー
  2. 02保持した出力の再生
  3. 03参加者チャットとプレゼンス
  4. 04共有出力の同意チェック
  5. 05セッション終了時のプロセス整理

活用シーン

  1. 01信頼できるLANでClaude Codeを共同操作する
  2. 02ホストが入力を管理しながらレビュー担当者が出力を見る
  3. 03MCPでセッションを作成し参加者とドライバーを確認する

MCP 対応

`vibelive mcp`はstdioでMCPサーバーを提供し、セッション開始用の`host_session`と状態確認用の`session_status`を備えます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"pooriaarab-vibelive": {
"command": "npx",
"args": [
"-y",
"vibelive"
]
}
}
}
起動コマンドnpx -y vibelive

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmvibelive0.2.2

ツール

2

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
namestringいいえホスト参加者の任意の表示名。
portintegerいいえバインドする任意のポート(デフォルト:エフェメラルポート)。
commandarrayはいラップする Agent コマンド。argv 形式で指定します(例:["claude"] または ["python","-i"])。

詳細

vibelive

npm version Downloads/month License: MIT

パッケージ · セットアップ · API · 比較

vibelive は、エージェント型コーディングセッションを共有する開発者向けのオープンソースのターミナルコラボレーションツールです。 プロセスをラップし、ローカル/LAN の WebSocket 経由で出力を共有して、一度に 1 人のドライバーが入力できるようにします。 Vibe Suite の CLI、Node.js ライブラリ、エージェントサーバーとして提供されています。

インストール

npm install -g vibelive

Node.js 18 以降が必要です。TypeScript の型宣言と、直接依存する 3 つのランタイム依存関係が含まれています。

最初のプロセスを共有する

一方のターミナルで、入力行をそれぞれエコーするプロセスを起動します。

vibelive host --port 4474 --name ada -- node -e "process.stdin.on('data', b => process.stdout.write(b))"

もう一方のターミナルで、接続します。

vibelive join ws://localhost:4474 --name bee

ホストのターミナルで hello と入力します。両方のターミナルに hello が表示され、接続側には参加状況と操作権の状態も表示されます。 認証情報や環境変数は必要ありません。vibelive は .env ファイルを読み込まず、ラップされたエージェントはホスト環境を引き継ぎます。 LAN のピアには、ホストに表示される LAN アドレスを使用してください。通信にはプレーンな WebSocket を使用し、組み込みの認証や暗号化はありません。

接続側で /drive と入力します。ホストで /release と入力すると、操作権を引き渡せます。 その後、接続側から /type ping を送信すると、両方のターミナルに ping が表示されます。ホストで /quit を使用すると、セッションが終了します。

仕組み

Host terminal -> wrapped child process -> ordered output log
                       ^                         |
                       |                         v
                 one driver <- host WebSocket relay -> participants
                                  |                    |
                              control queue        chat + presence

ホストがプロセスの出力と操作権の状態を管理します。後から参加したクライアントには、保持されている出力に続いてライブ更新が送信されます。 リレーはデフォルトで 0.0.0.0 にバインドされるため、接続可能な LAN クライアントが接続できます。

開発の背景

コーディングエージェントをペアで使う際には、次に誰が入力できるのかを明確にする必要があります。 vibelive は、ラップされたコマンドを中心に、協調型のドライバーキューとチャットを追加します。 tmux や tmate などのツールは、より幅広いターミナルワークフローに対応しています。vibelive は、エージェントからアクセスできるセッション管理を備えたプロセス共有に重点を置いています。

比較

2026-10-14 に、tmux および tmate と比較して確認しました。

プロパティvibelivetmuxtmate
対象範囲ドライバー調停機能付きのプロセス共有ターミナルマルチプレクサーターミナル共有
ここでの通信方式プレーンなローカル/LAN WebSocketローカルセッション。リモートアクセスは別途設定SSH ベースの共有
インターフェースCLI、Node.js ライブラリ、エージェントツールターミナルコマンドターミナルコマンド
プロセス処理子プロセスのパイプターミナルセッションtmux 由来のターミナルセッション

対応状況

対応対象または連携状況範囲
WebSocket / ws実装済みホストリレー、クライアント、出力、チャット、参加状況、操作権
Claude Code汎用コマンドラッパーclaude を別途インストールする必要があります。専用アダプターはありません
OpenAI Codex汎用コマンドラッパーCLI を別途インストールする必要があります。専用アダプターはありません
Google Gemini CLI汎用コマンドラッパーCLI を別途インストールする必要があります。専用アダプターはありません
Pi / Grok ワークフロー汎用コマンドラッパーパイプ互換コマンドに対応。専用アダプターはありません
Kimi汎用コマンドラッパーCLI を別途インストールする必要があります。専用アダプターはありません
MCP実装済み2 つの stdio ツール
Cursor の更新プロトコルのみライブラリでの送受信に対応。リッチな CLI カーソルレンダラーはありません
暗号化されたリモートリレーロードマップ未提供
完全なターミナルエミュレーションロードマップ擬似端末には未対応

ハーネスアダプターのレジストリはありません。ホストは Node.js の子プロセスパイプを通じて、任意のコマンドを実行します。 ローカルテストでは、ホスト、リレー、クライアント、調停、プロトコル関連の動作、MCP を対象としています。個別のエージェント CLI は、ここでは認定していません。

一般的なユースケース

  1. Claude Code のペア利用:信頼できる LAN 上でプロセス出力を共有し、操作担当を引き継ぎます。
  2. Codex のレビュアー:ホストが入力を制御する間、ラップされたコマンドを監視します。
  3. Gemini CLI のメンター:チャットで議論を続け、/type 経由でエージェントに入力を送ります。
  4. Node.js チーム:AI の認証情報なしで共同作業をテストするため、行ベースのスクリプトをラップします。
  5. エージェントのビルダー:Model Context Protocol(MCP)経由でセッションを開始し、参加者と操作担当の状態を確認します。

機能

  • 単独の操作担当: 先入れ先出しの制御キューを使用します。操作担当以外からの入力は拒否されます。
  • 出力の再生: シーケンス番号付きの保持履歴とライブ出力を提供します。
  • チャット: 参加者のメッセージとプロセス入力を分離します。
  • プレゼンス: 参加者名と現在の操作担当を表示します。
  • 同意: 出力共有の中継時に、vibe-core の share:session スコープを確認します。
  • ライフサイクル: ホストの終了時にセッションを閉じます。MCP の切断時には、ホストが起動したプロセスをクリーンアップします。

実行環境

vibelive host [--port N] [--name name] -- command [args...]
vibelive join ws://host:port [--name name]
vibelive mcp
vibelive --help / -h
vibelive --version / -v

ラップするコマンドのフラグはすべて -- の後に指定します。--port 0 を指定すると、利用可能なポートが選択されます。 参加用のパーサーも --port を受け付けますが、使用しません。接続先は URL によって決まります。 参加時の名前は、USER、次に USERNAME、どちらもなければ anon がデフォルトになります。

対話型コマンドホスト参加者
/drive制御を要求制御を要求
/release制御を解放制御を解放
/quitセッションを終了セッションから退出
/type text操作担当の場合、プロセス入力として扱われます操作担当の場合、プロセス入力を送信
/help操作担当の場合、プロセス入力として扱われますスラッシュコマンドのヘルプを表示
その他のテキスト操作担当の場合、プロセス入力チャット

vibelive mcp は、ツールがちょうど 2 つの stdio MCP を起動します。

ツール入力結果
host_sessionコマンド配列。名前とポートは省略可能セッション ID と WebSocket 参加 URL
session_statusURL フィルターは省略可能アクティブなセッション、参加者、操作担当
ライブラリーの例

npm install vibelive でローカルにインストールし、以下を demo.mjs として保存してから node demo.mjs を実行します。

import { createHost, createRelay, joinSession } from 'vibelive';
const host = createHost({ command: ['node', '-e', "setInterval(() => console.log('hello'), 200)"] });
const relay = await createRelay({ host: '127.0.0.1', port: 0, hostHandle: host });
const client = joinSession({ url: relay.url, name: 'ada' });
client.onOutput(text => process.stdout.write(text));
await client.id;
await new Promise(resolve => setTimeout(resolve, 600));
client.close();
host.kill();
await relay.close();

このスクリプトは hello を出力し、プロセスとリレーを終了します。

提供形態と動作上の制限

提供されるトランスポートは、ローカル/LAN 用のプレーンな WebSocket です。参加者認証、TLS、エンドツーエンド暗号化は組み込まれていません。 セッションへのアクセスとネットワークへの公開範囲が、想定する参加者に適合する環境でのみ使用してください。出力には、ラップされたコマンドが表示するあらゆる内容が含まれる可能性があります。 ホストは疑似端末(PTY)ではなくパイプを使用します。サイズ変更は何も行わず、raw モードや全画面表示のエージェントインターフェースは動作しない場合があります。 出力履歴のデフォルトは、メモリー上の 5,000 チャンクです。古いエントリーは削除され、ホストの終了後にセッションは保持されません。 カーソルメッセージはプロトコルに含まれていますが、CLI はアニメーションカーソルではなくプレゼンスを表示します。 このパッケージには、管理されたリレー、リモートへのファンアウト規模に関する保証、永続的なチャットサービスはありません。

統合ガイド

  • Claude Code のプロセス共有:vibelive host -- claude を実行します。Claude Code は別途インストールし、認証してください。
  • その他のコーディングエージェント:インストール済みのコマンドを -- の後に指定します。パイプ経由で動作できることを確認してください。
  • LAN での参加:表示された ws://<LAN-address>:<port> URL を vibelive join とともに使用します。
  • MCP ホストの設定:
{"mcpServers":{"vibelive":{"command":"vibelive","args":["mcp"]}}}

ステータス

パッケージのバージョン 0.2.3 は 1.0 より前のため、インターフェースは変更される可能性があります。CLI のソースバージョンは、現在も 0.2.2 を報告します。 今後の作業には、PTY ラッピング、より豊かなカーソル表示、暗号化されたセルフホスト可能なリモートリレーが含まれます。 公開事例はまだ公開されていません。公開ドキュメントサイトは設定されていません。セットアップ手順はこのページ内で完結しています。 サポートには GitHub の issue をご利用ください。リポジトリへのアクセスが必要な場合があります。 コントリビューションを行う場合は、npm ci、npm run typecheck、npm run build、npm test を実行してください。

FAQ

どの統合が検証済みですか?

vibelive は、ローカルプロセスと WebSocket の動作をテストします。名前が挙げられているコーディングエージェントには、専用の認証情報検証済みアダプターではなく、汎用ラッパーを使用します。

vibelive はマネージドリレーを提供していますか?

vibelive はホストマシン上でリレーを実行します。パッケージには、マネージドリモートリレーサービスは含まれていません。

vibelive と tmux の違いは何ですか?

vibelive は、ドライバーキューとチャットを備えたラップ済みプロセスを 1 つ共有します。tmux は、ターミナルセッション、ウィンドウ、ペインを管理します。

vibelive と tmate の違いは何ですか?

vibelive はローカル/LAN WebSocket と明示的なドライバー調停を使用します。tmate は SSH ベースのターミナル共有を提供します。

vibelive はエンドツーエンド暗号化されていますか?

vibelive は暗号化されていない WebSocket トランスポートを提供します。暗号化されたリモートリレーは今後のロードマップに含まれています。

2 人が同時にエージェントに入力できますか?

vibelive では、入力を送信できるドライバーは 1 人です。他の参加者はチャットしたり、操作権限の取得を待つキューに入ったりできます。

vibelive は全画面表示のターミナルアプリで動作しますか?

vibelive は PTY のセマンティクスを持たない子プロセスパイプを使用します。raw モード、リサイズ、全画面表示のターミナル動作には制限があります。

後から参加した人は、それ以前の出力を確認できますか?

vibelive は、ライブ更新の前に保持されている出力履歴を送信します。デフォルトのローリングバッファには、最大 5,000 個のチャンクが保持されます。

ライセンス

MIT。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。