newsence
來源篩選

Show HN: Unfucked – version every change between commits - local-first

Hacker News

UNF* is a filesystem flight recorder that continuously tracks every file change and save, allowing users to instantly recover work lost to AI agent errors or accidental deletions between Git commits.

newsence

Show HN: Unfucked – 紀錄提交之間的每一次變更(本地優先)

Hacker News
2 天前

AI 生成摘要

UNF* 是一款檔案系統飛行記錄器,它會持續追蹤每一次的檔案變更與儲存,讓您能立即找回因 AI 代理錯誤或在 Git 提交之間意外刪除而遺失的工作內容。

背景

在 AI 代理程式(AI Agents)普及的時代,開發者面臨著全新的風險:AI 可能在幾秒鐘內大規模重寫或刪除尚未提交至 Git 的程式碼。開發者 Cyrus Radfar 推出了名為 Unfucked(簡稱 unf)的工具,這是一個在背景運行的檔案系統記錄器,能自動追蹤並保存每一次檔案變動,讓使用者在沒有 Commit 的情況下也能隨時回溯到任何時間點。

社群觀點

Hacker News 的社群對此工具展現了高度興趣,許多開發者表示這解決了當前 AI 協作中的痛點。支持者認為,雖然傳統上開發者被要求頻繁提交程式碼,但在高頻率的 AI 迭代過程中,手動 Commit 的速度往往趕不上 AI 破壞的速度。這類工具提供了一個位於版本控制系統之下的安全網,特別是在處理 AI 誤刪環境變數檔案、錯誤重構或因上下文視窗溢出導致的邏輯中斷時,能有效挽救數小時的工作成果。

然而,社群中也出現了關於「重複造輪子」的討論。部分資深使用者指出,類似的功能其實早已存在於特定的開發環境中。例如,JetBrains 系列 IDE 內建的「Local History」功能就能追蹤檔案變動,而 VS Code 也有類似的擴充套件。此外,Emacs 的 magit-wip-mode 或是現代版本控制工具 Jujutsu(jj)也具備自動快照的功能。對此,原作者回應指出,IDE 內建功能通常僅限於編輯器內的更動,但 AI 代理程式往往是直接在檔案系統層級操作,甚至會跨多個目錄進行修改,因此在檔案系統層級進行監控(如使用 inotify 或 FSEvents)才是更全面的解決方案。

安全性與信任問題是討論中最激烈的爭議點。由於 unf 是一個需要存取整個檔案系統的背景程式,且初期並未開源,許多留言者對此表示強烈疑慮。他們認為,將具有高度權限的閉源守護行程安裝在開發環境中是極大的安全風險,即便其功能再實用,若無法檢視原始碼,專業開發者很難給予信任。原作者對此表示理解,並解釋是因為專案目前仍處於單一儲存庫(monorepo)的實驗階段,已承諾會逐步將核心程式碼移出並開源,以回應社群對透明度的要求。

此外,也有技術愛好者從底層架構提出建議,認為與其在應用層實作監控,不如直接使用具備版本控制功能的檔案系統(Versioning File System),例如 NILFS。這類系統能在區塊層級記錄變動,提供更原生的保護。整體而言,社群共識認為這類「自動化安全網」在 AI 時代已成為剛需,但工具的透明度與跨平台穩定性將是其能否普及的關鍵。

延伸閱讀

在討論中,社群成員提到了幾個具備類似理念或競爭關係的工具與技術:

  • Jujutsu (jj):一個強調數位化工作流與自動快照的現代版本控制系統。
  • Dura:另一個在背景運行的工具,旨在自動將未提交的變動儲存到 Git 節點中。
  • NILFS:一種 Linux 上的日誌型檔案系統,支援連續快照功能。
  • Magit-wip-mode:Emacs 環境下用於自動備份工作進度的模式。