操作手冊——故事在首頁。這裡只管:怎麼裝、怎麼配、怎麼用、證據包裡有什麼。
正確姿勢是你下指令,agent 敲命令。Witness 本體是 CLI(wit),驅動你系統裡的 Edge/Chrome(沒有時才回退到內建 Chromium)——不需要雲端帳號、不要 key。
安裝 witness:執行 `npm i -g github:wookat/witness`, 用 `wit --version` 驗證一下。需要 Node 18+。
wit 命令列——錄製器、session 渲染器、轉寫器、MCP server 四合一。配置持久化到專案的 .witness/config.json;doubao-ime 引擎的憑證快取在 ~/.witness/doubao-creds.json。證據永遠落在當前專案的 .witness/sessions/。skills/witness/SKILL.md——現成的技能檔案,放進 CLAUDE.md / .cursor/rules/ / AGENTS.md,之後說「幫我錄一段」就能觸發整套流程。查看 ↗# 透明起見——你的 agent 在背後敲的是:
npm i -g github:wookat/witness
wit --version wit config asr 持久化到專案的 .witness/config.json;--asr / WIT_ASR 單次覆蓋。agent 也能透過 set_asr MCP 工具自己切。auto doubao-web → doubao-ime → sr doubao-web 標點最好(預設首選) doubao-ime 句級時間戳、數字 ITN 更好 sr 瀏覽器 SpeechRecognition(離線備援) off 不要即時字幕(只出終稿)
OPENAI_API_KEY whisper-1 詞級時間戳
ZHIPU_API_KEY GLM-4 糾錯 + 語義證據關聯
WIT_ASR 單次錄製覆蓋引擎
WIT_NO_BODIES=1 不抓回應體(敏感應用)
WIT_CDP=<埠> 開 CDP 口,agent 可接管錄製中的
瀏覽器親自當測試者你 → "幫我錄一段 http://localhost:5173" agent → 執行 `wit start`,託管瀏覽器彈出 你 → 正常使用產品,看到什麼說什麼,順手標記問題 你 → 點工具列 ■(或對 agent 說「停了」) 你 → "按剛才錄的把問題修了" agent → 讀 session.md,照證據動手
說話 每句觀察 → 帶時間戳的 SAY Ctrl+點擊 標記元素(selector + 截圖 + DOM 快照) M 檢視模式:懸停點選 / 拖曳圈選區域 N 切分新問題邊界(可選) P 暫停/繼續——證據和麥克風一起凍結 ■ / Alt+Shift+R 停止
wit start <url> 開錄(由 agent 發起) wit list / open 瀏覽 session wit transcribe <dir> 重跑轉寫 wit correct <dir> LLM 潤飾(原文保留) wit associate <dir> LLM 給每段話挑證據 wit recover <dir> 崩潰重建 wit mcp [dir] MCP 服務拉證據 wit config asr … 引擎:auto|doubao-web|doubao-ime|sr|off
給人:可視化回放。給 agent:能直接修問題的結構化交接。
├─ review.html → 給人看 —— 時間軸回放:語音+截圖+事件對齊,點哪跳哪 ├─ SEGMENTS.md → 給 agent —— 語音段索引:原話+嫌疑元素+掛圖(先讀;段≠問題,歸組歸 agent) ├─ keyframes/ → rrweb 回放渲染的每段關鍵幀(wit keyframes) ├─ segments/NN.md → 給 agent —— 每段一包:逐段原話+死點擊+報錯+截圖引用 ├─ PROMPT.md → 給 agent —— 交接文件:教它怎麼讀這份證據 ├─ session.md → 給 agent —— 全量時間軸檔案(深挖時用) ├─ events.jsonl → 原始事件流(真實一次錄製 1189 條) ├─ transcript.json → 終稿轉寫,帶句級時間戳 ├─ audio.webm → 錄音本體,可 seek ├─ shots/ → 截圖——標記元素帶紅框、圈選是裁切圖 ├─ bodies/ → 請求/回應體 ├─ dom/ → 關鍵時刻的 DOM 快照 ├─ rrweb.jsonl → 全量回放流 └─ session.json → 元資料:url、時長、ASR 引擎、事件數
SAY 區塊帶你的原話 + 那一秒頁面發生的一切。list_segments · segment_detail · session_overview · list_says · session_md · events_around · get_errors · get_shot · get_dom_state · get_body · get_asr · set_asr。"我錄了一段,證據在 .witness/sessions/<ts>, 讀 session.md 把裡面的問題修了。"
{ "mcpServers": { "witness": {
"command": "wit", "args": ["mcp"]
} } }agent 按需拉證據,還能自己切 ASR 引擎。反過來讓 agent 去錄:"用 witness 錄一下 http://localhost:5173,我會邊說邊指出問題"。開了 WIT_CDP 之後,agent 甚至可以親自當測試者在錄製中的瀏覽器裡操作。