開場白
一個 Rust 寫的 git difftool 在 Hacker News 衝到 311 分、862 顆星,OmniDiff 不只比程式碼,連圖片、PDF、壓縮檔、字型跟滑鼠游標都能 diff,而且中位數 100ms 內完成。今天還有一個 30 天衝到 6.3k 星的 AI 介面救星,專門抓紫色漸層跟「New ✨」徽章那些一眼就看出是 AI 做的破綻,等一下告訴你它怎麼掛進 Claude Code。我是沐妍,這裡是開源好物日報,2026 年 11 月 2 日。
今日開源好物
1. OmniDiff:看得懂語法,也看得懂 PDF 的 git difftool
- 它是什麼: 做 Code Review 最煩的就是,明明只是改了縮排或搬了個函式,diff 卻紅綠滿螢幕。OmniDiff 是用 Rust 寫的內容感知 difftool,基於 tree-sitter AST 做語法感知比對,支援 25 種語言,而且不只程式碼,設定檔、圖片、PDF、壓縮檔、游標與字型也都能比。作者自己已經把它當日常 git difftool 用了好幾個月,是那種裝完當天就會去改 .gitconfig 的工具。
- 近期聲量: Hacker News 311 分、94 則討論,GitHub 862 顆星。
- 亮點功能: 第一,tree-sitter AST 語法感知 diff,README 宣稱可處理 99.95% 的程式碼變更。第二,效能目標直接寫在 README 上,中位數 diff 100ms 以內、99 百分位 1000ms 以內,數萬行的 C++ 檔在 2023 年的 ThinkPad T14s 上也是 100ms 內比完。第三,整合路徑很完整,可以
git config diff.tool omnidiff設成預設,也能透過GIT_EXTERNAL_DIFF直接接git diff與git log -p,還支援 jj 的 merge-tools 設定;另外有--mode json把 diff 輸出成單一 JSON 物件,VS Code(含 Open VSX 上的 VSCodium、Cursor、Windsurf)與 Neovim 都有擴充。 - 快速上手: macOS 一行
brew install ivankovic/omnidiff/omnidiff,或cargo install --locked omnidiff(需要 rustc 1.92+ 跟 C 編譯器)。懶得裝就先去官網 showcase 看 20 組真實改動,Unix diff 跟 OmniDiff 並排擺給你看。 - 跟同類比: HN 討論串裡作者直接回應過,delta 本質上只是替標準 git diff 演算法上色,OmniDiff 用的是完全不同的演算法;跟同樣語法感知的 difftastic 比,差別在 difftastic 只吃程式碼,OmniDiff 連圖片、PDF、字型、壓縮檔都能 diff。雷點要講清楚:授權是 GNU AGPL v3 或更新版本,自用跟內部工具沒問題,要包進對外產品前請先跟法務聊聊。
- 適合誰: 每天泡在 Code Review、又常常要比設計稿或二進位資產的工程師。
- 連結: https://github.com/ivankovic/omnidiff
2. syscall.sh:27 種架構、Linux 3.3 到 7.3 的 system call 全表,還有 API
- 它是什麼: 寫組語、做 eBPF、搞容器沙箱 seccomp 規則或逆向的時候,那張 syscall 編號表幾乎是每天 Google 一次。問題是網路上的表要嘛只有 x86,要嘛三年沒更新。syscall.sh 把這件事認真做了,涵蓋 27 種架構、Linux 3.3 到 7.3,而且附 JSON API。
- 近期聲量: Hacker News 208 分、50 則討論。
- 亮點功能: 第一,每個架構頁列出每個 syscall 的編號、參數、暫存器與進核心的指令,x64 是
syscall、arm64 是svc #0;arm64 頁直接寫明編號放 x8、參數放 x0 到 x5,然後svc #0。第二,資料直接從 kernel 原始碼(含SYSCALL_DEFINE巨集)產生,每張表都能下載 JSON,還會標記某個 syscall 在哪個版本加入或移除。第三,JSON API 提供 27 種架構與 ABI、3.3 以後每個 release,含 calling convention、Kconfig gating 與版本間 diff,v2 的錯誤格式採 RFC 9457 problem details,寫腳本的人會很有感。 - 快速上手: 網頁打開就能查,完全不用安裝。要寫進腳本就
curl https://api.syscall.sh/v2/syscalls/x64/read,或直接抓/x64/syscalls.json這種整張表的 JSON 回來自己處理。 - 跟同類比: filippo.io 那類靜態查詢表只有 x86 / x86_64,這邊是 27 架構乘上 3.3 到 7.3 的全版本歷史,而且資料是從 kernel 原始碼自動產生的。早在 2023 年的 HN 討論就有人說它比同類表更新、而且支援 x86、arm、aarch64。
- 適合誰: 做系統程式、eBPF、沙箱逃逸研究,或只是需要一個不會過期的書籤的 DevOps。
- 連結: https://syscall.sh/
3. unslop:專治「一眼就知道是 AI 做的」介面
- 它是什麼: 用 AI 助理 vibecoding 出來的前端,功能都在,但畫面永遠長得一模一樣:紫色漸層、光暈、漸層文字、角落一個「New ✨」。unslop 是一個 Claude Code / Codex 的 skill,專門把這種介面改成有自己個性的設計。它不給你新元件,而是對既有畫面一關一關做設計稽核與重修。
- 近期聲量: 30 天內新專案,GitHub 已經 6324 顆星。
- 亮點功能: 第一,流程是先從產品本身找出設計方向,再依序修 spacing、色彩與 icon、文案、字體、版面、細節、視覺與動效。第二,它有一份很具體的 AI 破綻清單要抓:紫色漸層、光暈、漸層文字、emoji 標籤、「New ✨」徽章、亮面色塊、全大寫寬字距標籤、呼吸閃爍、不一致的間距,支援 React、Tailwind、HTML、CSS,涵蓋 dashboard、App 與 landing page。第三,它會產生
unslop-story/story.html,把原畫面連同樣式打包成一個獨立單檔,並在 head 用 meta 標記做過哪幾道工序,方便你回頭追。生 hero 圖是選配,需要接 fal、Replicate、OpenAI images 這類服務,沒接的時候它會先提議加 MCP server,而且在付費生成前會問你一聲。 - 快速上手:
git clone之後mkdir -p /.claude/skills && cp -r unslop/skills/unslop /.claude/skills/就裝好了,只想套單一專案就複製到該專案的.claude/skills/。Codex 這邊可以用$skill-installer直接從 repo 安裝。裝完在 Claude Code 打/unslop、在 Codex 打$unslop。 - 跟同類比: 跟 shadcn/ui、Tailwind UI 這種元件庫方向剛好相反,它不補元件,而是審既有畫面。雷點也直說:它只能在 Claude Code 或 Codex 裡跑,不是獨立 CLI 也不是網頁工具,沒用這兩個就先別期待。授權是 CC-BY-4.0,採用時記得標示出處。
- 適合誰: 天天用 AI 助理產前端、但自己沒有設計師可以求救的工程師。
- 連結: https://github.com/heydamir/unslop
結尾段落
今天這三個其實有個共通點:都是在幫你省掉「盯著螢幕用肉眼比對」的時間,OmniDiff 比的是程式碼與檔案,syscall.sh 比的是版本與架構,unslop 比的是你的介面跟一個不像 AI 的介面之間差在哪。如果今天只裝一個,我會選 OmniDiff,一行 brew 就能改掉你往後每一次 Code Review 的體感。明天同一時間,我們再挖新的,我是沐妍,開源好物日報,下次見。


























留言