いつも通り触りながら、違和感を声にするだけ——「このボタン、押しても反応しない」。Witness はあなたの言葉をその瞬間の因果エビデンスに溶接し、パケットを AI コーディングエージェントに渡します。
人間なら「スクロールするとボタンが変に縮む」と2秒で気づく。でもそれを AI エージェントに書き起こすと、スクリーンショット・セレクター・プロンプトで10分かかる——しかもなぜは消えたまま。音声はいちばん安い注釈チャンネルなのに、レコーダーが無かっただけです。
これは実際の録画セッションです——発話、マーク、反応しないクリック、保存まで。下の Pay ボタンは押しても何も起きません。「起きなかった」という事実そのものがエビデンスです。
wit start <dev-url> で管理ブラウザが開きます。その瞬間から3本のストリームが並行して走ります——手作業ゼロ:
話した断片がタイムライン上のブロックになり、その瞬間の因果ファクトがぶら下がる——「因果バースト」。引用をクリックしてみて:
wit mcp——エビデンスを API に。静的ダンプではなく、セッションが stdio MCP server になります。MCP 対応エージェントを向けると、必要なエビデンスだけをクエリします:
list_saysevents_aroundget_dom_stateget_errorsget_shot / get_bodysession_mdget_asr / set_asr……登録ツールは全 12 個——セッションはダンプではなく、クエリ可能な API です。
パケットは自己記述型でロックインなし。エージェントの能力に応じて2つの経路:
wit config asr で切替)。API キー不要。LLM 仕上げは常に任意レイヤーで、パイプラインではありません。WIT_NO_BODIES。バグレポートを手打ちしても、動画を添付してもいい。それぞれの着地地点:
| 手書きレポート | 画面録画 | Witness | |
|---|---|---|---|
| 1件報告するコスト | 約10分:撮って、切って、文章化 | 数分——でも読むたびに再生が必要 | 一言話せば、エビデンス付き |
| エージェントが直せるか | 書き残した分だけ | ピクセルのみ——人が文脈を再推論 | session.md + events.jsonl + MCP |
| 「押しても無反応」 | 書き忘れがち | 動画では見えない | エビデンスとして記録 |
| クリックの因果バースト | — | — | ~1.8s の リクエスト/レスポンス/console/DOM |
| あの瞬間のページに戻る | — | 動画 ≠ DOM | rrweb フル DOM リプレイ |
| データはローカルに | — | アップロード先次第 | 常に .witness/sessions 内 |
N で問題の境界。セッションをエージェントに渡すか、review.html をチケットに添付。wit セッションを求める:selector、console、ネットワークが自己記述フォルダひとつで届く。Node 18+ とシステムの Edge/Chrome——まず実際のブラウザを使い、無ければ同梱 chromium にフォールバック。npm i -g github:wookat/witness で終わりです。
エビデンスパケットはローカルの .witness/sessions/ に残り、既定で gitignore されます。ライブ字幕は選んだ ASR エンジンにマイク音声をストリーミングします(既定 doubao-web)。--asr sr で OS/ブラウザの認識、--asr off でライブ字幕なし。最終文字起こしは bcut(無料)か自分の OPENAI_API_KEY で whisper——--no-transcribe で丸ごと省略可。LLM レイヤー(訂正・関連付け)は flag とキーを渡した時だけ動きます。
CLI を実行できるエージェントなら session.md + PROMPT.md を読めます。MCP 対応(Devin、Claude Code、Cursor、Codex…)は wit mcp に直結——静的ダンプではなく12のクエリツール。Devin には録画フロー全体を回すネイティブ skill もあります。
パスワード欄は4チャンネルでマスク、POST ボディは認証フィールドを自動マスク、P でマイクごと全停止、敏感なアプリは WIT_NO_BODIES=1 でレスポンス自体を残しません。
--lang で認識言語を設定(既定 zh-CN、例:en-US、ja-JP)。発話は常に逐語で保存——ASR の誤字は監査可能なまま残り、LLM 訂正は任意の表示レイヤーです。
どんな URL でも——普通に使う実際の管理ブラウザなのでログインも動きます。一番切れるのはローカル開発:直すエージェントがソースも見えるからです。
events.jsonl は行ごとにストリーミング保存。失われるのは最大でも最後の数百ミリ秒。wit recover <dir> で session.md・review.html・PROMPT.md をいつでも再構築できます。
MIT。アカウント不要、必須キーなし。無料 ASR が既定経路で、有料モデルのフックは全て BYO キーの任意機能です。
あなたが指示し、エージェントがコマンドを叩きます。Witness はエージェントが運転する CLI(wit)——管理ブラウザを開いて録画し、ローカルのエビデンスパケットを返します:review.html はあなたへ、session.md/PROMPT.md/wit mcp はエージェントへ。Node 18+、システム Edge/Chrome、クラウドもキーも不要。