參考資料
資料與隱私權
審查存放在你的專案資料夾中。設定存放在 ~/.ferret/,金鑰與帳號則存放在作業系統的使用者資料資料夾。只有當機報告會經由 Sentry 送到開發者手上,而且你可以關閉。你選擇從 App 傳送的意見回饋會成為公開的 GitHub issue。
#.ferret/reviews/ 的內容
<project>/.ferret/reviews/20261003-104500/
├── feedback.md # what the agent reads
├── 01.png, 02.png… # one or more images per finding
├── session.json # review state and edit history
├── events.jsonl # action log (built-in browser only)
├── recording.webm # the video
└── work/ # intermediate audio and frames
改名之前建立的審查存放在 .ade-movie/reviews/。這些審查仍會列出並可開啟,新的審查則會存到 .ferret/reviews/。
開始錄製時,.ferret/ 會被加到 .git/info/exclude。也能處理 worktree 與 submodule。.gitignore 絕不會被修改。中斷的審查若紀錄仍保留著,就能從歷程記錄中復原,此時 App 會警告最後幾秒可能遺失。
#保留期間
保留錄影(預設 7 天,可選 30 天或 永久):啟動時,超過該期間的已完成審查會刪除 recording.webm 與 work/。feedback.md 與意見的圖片會保留。未完成的審查絕不會被清除。清除作業在啟動時針對最後開啟的專案執行。
#哪些資料會離開你的電腦
| 時機 | 傳送目的地 | 資料 |
|---|---|---|
| 轉錄:本機(免費) | 無 | — |
| 轉錄:OpenAI / 相容 OpenAI | OpenAI 或你的 Base URL | 音訊片段 |
| 下載模型 | Hugging Face | 檔案請求 |
| 整理 | 你的 Claude Code / Codex CLI,或你在 organizer 中設定的 LLM 端點 | 僅文字與操作記錄(不含圖片、音訊或影片) |
| 驗收檢查(判定模型,預設關閉) | 你的 Agent 經由本機中繼送到 Ollama / Cloudflare / AI Gateway / TypeSafe / 你的 URL | Agent 送出的內容:意見文字、「完成條件」,以及 BEFORE/AFTER 螢幕截圖(僅限圖片模型) |
| 傳送給 Agent | 你終端機中的 Agent | 一則指向 feedback.md 的指示 |
| 傳送到 GitHub | 透過 gh 送到 GitHub | 僅內文(不含圖片) |
| 頁尾的用量(僅限 Claude Code 與 Codex) | Anthropic、ChatGPT | 以你自己的登入發出的用量請求 |
| GitHub 加星提示 | 透過你的 gh 送到 GitHub | 檢查你是否已為儲存庫加星,只有在你按下 在 GitHub 上加星 時才會加星 |
| 檢查更新(手動) | 下載伺服器(Cloudflare R2) | latest.json 的請求 |
| 從 App 傳送意見回饋(僅在你傳送時;即將推出) | 開發者的意見回饋中繼(Cloudflare Worker),會在 JapanMarketing-Dev/ferret 中建立公開 issue | 你的文字、屬於錯誤或想法、App / 作業系統版本與 CPU,以及你附加的最多 3 張螢幕截圖。金鑰、權杖、電子郵件地址與主資料夾路徑會被遮蔽。中繼不會儲存你的 IP 位址(請參閱從 App 傳送意見回饋) |
| 當機或錯誤(傳送當機報告 開啟時) | Sentry | stack trace 與作業系統 / CPU / App 版本(請參閱當機報告) |
- App 沒有分析功能、沒有效能追蹤,也沒有工作階段重播。唯一會在你未要求時傳送的資料是當機報告:錯誤、每次啟動一個工作階段,以及啟動緩慢與畫面凍結的警告,全部說明如下,且全部由 傳送當機報告 控制。
- URL 中看起來像機密的值(權杖、金鑰)會在寫入
feedback.md之前被遮蔽。 - 從頁面擷取的文字在
feedback.md中會被標示為資料,因此 Agent 會被告知不要遵循其中的指示。 - 本網站(不是 App)使用 Cloudflare Web Analytics 計算頁面瀏覽次數:不使用 Cookie、不做跨網站追蹤,也不收集個人資料。
#從 App 傳送意見回饋
即將推出
App 內的意見回饋表單及其中繼尚未發布。本節說明它們將如何運作。
你將可以在 Ferret 內傳送錯誤回報或想法,不需要 GitHub 帳號。只有在你傳送時才會送出,並會成為 JapanMarketing-Dev/ferret (在新分頁中開啟) 中加上 from-app 標籤的公開 issue。請勿包含任何你不會公開發表的內容。
- App 會從你的電腦把內容送到一個小型中繼(由開發者營運的 Cloudflare Worker),由它用自己的 GitHub 權杖建立 issue。這個中繼是開發者唯一會收到你所寫內容的伺服器。
- 會傳送:你的標題與文字、屬於錯誤或想法、App 版本,以及你附加的最多 3 張 PNG 或 JPEG 螢幕截圖。作業系統名稱與版本、CPU 架構與隨機安裝 ID 只有在你保留勾選時才會傳送。不會傳送:你的姓名、電子郵件、GitHub 帳號、專案檔案、錄影或意見。
- 在建立 issue 之前,中繼會遮蔽看起來像金鑰或權杖的文字、電子郵件地址,以及主資料夾路徑中的使用者名稱,並避免
@mentions通知任何人。它也會移除螢幕截圖中的位置資訊與其他中繼資料。不過仍請自行檢查你的文字:遮蔽無法攔截所有內容。 - 中繼不會儲存你的 IP 位址。為了限制單一傳送者的發文頻率(每小時 5 則、每天 20 則),它會以帶金鑰的雜湊計算 IP 位址(以及安裝 ID,若有傳送),最多保留 24 小時後刪除。兩者都不會出現在 issue 中。
- 螢幕截圖由中繼以無法猜測的名稱保存在 Cloudflare R2 中,並顯示在 issue 裡。若要移除某則 issue 或其螢幕截圖,請在該 issue 留言或另開新的 issue。
- 中繼的程式碼位於儲存庫的
workers/feedback-relay。
#當機報告
當 App 當機或遇到未處理的錯誤時,Ferret 會把當機報告傳送到 Sentry (在新分頁中開啟),以便修正錯誤。此功能預設為開啟。你可以在 設定 → 隱私權 → 傳送當機報告 中關閉,或在首次啟動時顯示的通知上按 關閉。關閉會立即生效;重新開啟則在下次啟動時生效。開發版建置(pnpm dev)也會傳送,並加上 development 標記,讓開發者能修正他們在開發時遇到的當機。E2E 執行與單元測試絕不會傳送。
| 會傳送 | 不會傳送 |
|---|---|
|
|
已安裝的 App 每次啟動最多傳送 10 份報告,且 JavaScript 錯誤只傳送一半(原生當機一律傳送)。開發版建置會傳送所有錯誤,每次啟動最多 50 份。同一個錯誤每次啟動只會傳送一次。啟動緩慢(超過 5 秒)與 App 長時間凍結(超過 1 秒)會以警告傳送,最多每 10 分鐘一次。不使用效能追蹤或工作階段重播。App 使用 Sentry 的免費方案;額度用完時,多出的報告會被捨棄,不會向任何人收費。
自行建置 Ferret 嗎?請將 FERRET_SENTRY_DSN(舊名稱 MOVIE_ADE_SENTRY_DSN 也可使用)設為你自己的 Sentry DSN,或設為空字串以完全不傳送。程式碼位於 src/main/telemetry.ts 與 src/shared/telemetry.ts。