mcpField
P
pair-programmer

pair-programmer

github.com/video-db開発131109 回インストール28 週間前に更新
リポジトリ

pair-programmer について

VideoDB Pair Programmerは、画面と音声のコンテキストを使うAIペアプログラミングスキルです。視覚・音声イベントをリアルタイムに記録、インデックス化し、検索や音声指示に基づく操作に利用できます。

主な機能

  1. 01画面と音声の録画
  2. 02視覚・音声イベントのリアルタイムなインデックス化
  3. 03録画コンテキストの検索
  4. 04直近の活動の要約
  5. 05音声指示に基づく操作

活用シーン

  1. 01コーディング中の画面上の最近の活動を確認
  2. 02発話や画面のコンテキストから録画を検索
  3. 03音声指示を使って操作を実行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/video-db/pair-programmer --skill pair-programmer

インストール後、Claude Code で/pair-programmerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

package.json
recorder-app.js
search-rtstream.js
verify-connection.js
commands/
act.md
config.md
record.md
search.md
setup.md
stop.md
what-happened.md
ui/
picker.html
widget.html

詳細

VideoDB ペアプログラマー

リアルタイムの画面および音声コンテキストを使ったAIペアプログラミングです。画面と音声を録画し、AIによるインデックス作成によって、視覚イベントと音声イベントをリアルタイムで記録します。

コマンド

ユーザーからコマンドを求められた場合は、対応するファイルを読んで手順を確認してください。

コマンド説明参照
/pair-programmer record画面と音声の録画を開始しますcommands/record.md を参照
/pair-programmer stop実行中の録画を停止しますcommands/stop.md を参照
/pair-programmer search録画コンテキスト(画面、マイク、音声)を検索しますcommands/search.md を参照
/pair-programmer actマイクから聞こえた指示に従って操作しますcommands/act.md を参照
/pair-programmer what-happened最近のアクティビティを要約しますcommands/what-happened.md を参照
/pair-programmer setup依存関係をインストールし、APIキーを設定しますcommands/setup.md を参照
/pair-programmer configインデックス作成やその他の設定を変更しますcommands/config.md を参照

仕組み

  1. ユーザーが /pair-programmer setup を実行して依存関係をインストールし、環境変数 VIDEO_DB_API_KEY を設定します
  2. ユーザーが /pair-programmer record を実行して録画を開始します
  3. 画面と音声のソースを選択するピッカー UI が表示されます
  4. 録画が始まり、イベントが /tmp/videodb_pp_events.jsonl に記録されます
  5. ユーザーはトレイアイコン(🔴 PP → Stop Recording)から録画を停止できます

出力ファイル

パス内容
/tmp/videodb_pp_pidレコーダーのプロセス ID
/tmp/videodb_pp_events.jsonlすべての WebSocket イベント(JSONL 形式)
/tmp/videodb_pp_info.json現在のセッション情報(session_id、rtstream_ids)

イベントファイルの形式

イベントは JSONL 形式(1 行につき JSON オブジェクト 1 つ)で書き込まれます。

{"ts": "2026-03-05T10:15:30.123Z", "unix_ts": 1709374530.12, "channel": "visual_index", "data": {"text": "User is viewing VS Code with auth.ts open"}}
{"ts": "2026-03-05T10:15:31.456Z", "unix_ts": 1709374531.45, "channel": "transcript", "data": {"text": "Let me check the login flow", "is_final": true}}

環境変数

レコーダーは、以下の環境変数を読み取ります。

変数必須説明
VIDEO_DB_API_KEYはいVideoDB API キー
VIDEO_DB_BASE_URLいいえAPI エンドポイント(デフォルト:https://api.videodb.io)

コンテキストの読み取り

イベントは /tmp/videodb_pp_events.jsonl にあります。フィルタリングには CLI ツールを使用してください。ファイル全体を読み取らないでください。

チャンネル内容密度
visual_index画面の説明高(約 2 秒に 1 件)
transcriptマイク音声低(文単位)
audio_indexシステム音声の要約低(文単位)

チャンネルフィルター — grep でチャンネルを絞り込み、tail にパイプして最近のイベントを表示します。

grep '"channel":"visual_index"' /tmp/videodb_pp_events.jsonl | tail -10

キーワード検索 — すべてのチャンネルを対象に grep で検索します。

grep -i 'keyword' /tmp/videodb_pp_events.jsonl

時間範囲フィルター — 過去 N 分間のイベントを絞り込みます。

  1. 現在のエポック時刻を取得します:$(date +%s)
  2. カットオフ時刻を計算します:epoch - N*60
  3. unix_ts JSON フィールドがカットオフ時刻を超える行を絞り込みます
  4. grep にパイプしてチャンネルをさらに絞り込みます

複雑さに応じて、適切なフィルタリングコマンド(grep、awk、python3、jq)を生成してください。

インデックス化されたコンテンツをセマンティック検索するには、search-rtstream.js を使用してください。

node search-rtstream.js --query="your query" --cwd=<PROJECT_ROOT>

<PROJECT_ROOT> は、ユーザーのプロジェクトディレクトリの絶対パスです。これはスキルディレクトリではありません。コマンドを実行する前に解決してください。

検索方法と CLI パターンの詳細は、commands/search.md を参照してください。

コメント