為 jj 而生,不是幫 git 套殼。
Jujutsu 的模型比 git 更好,但大多數圖形用戶端不是還在用 git 分支的思路,就是套了殼的 Web 應用程式。JayJay 的起點只有一個問題:為什麼沒有一個真正原生、真正懂 jj 的用戶端?
所以它有自己的取捨,而且很快:每個工作流程只提供一種原生做法,一切照 jj 的思路走。JayJay 完全免費,由開發者為開發者打造。每個細節都用了心,甚至藏了一個彩蛋,你找得到嗎?
變更、書籤、revset、可變歷史,全照 jj 的思路走,不硬套 git 分支。
macOS 用 SwiftUI,Linux 用 GPUI,底層是同一個直接連結 jj-lib 的 Rust 核心。不解析命令列輸出,也不包 Web 檢視。
不用訂閱,也不收集你的儲存庫資料。匿名的版本與系統統計可在設定中關閉。
統一或並排檢視、檔案樹、tree-sitter 高亮與行內變更,並為 Markdown、Notebook、CSV/TSV、SARIF 和二進位 plist 提供豐富預覽。
按空白鍵標記檔案已審查,或點選差異區塊旁的色條,只標記那一部分。已審查的差異區塊在編輯和重定基底後依然有效,審查備註也一直跟著那一行。
AI 代理程式可透過 jayjay CLI 讀取你的審查備註並標記檔案。用 npx skills add hewigovens/jayjay --skill jayjay 安裝 JayJay 技能,或在 macOS 上從「設定」>「整合」安裝。
從變更的任一檔案裡挑出差異區塊或個別的行,分割成乾淨的子變更或平行變更。
按住 Shift 點選兩個變更、兩個書籤,或 PR 分支和它的基準,就能看清兩者之間到底改了什麼。遇到分歧的變更,用比較分歧版本決定留下哪一個。
在線性堆疊的頂端按右鍵,選擇建立 / 更新堆疊 PR。JayJay 會為每個變更命名分支並推送,再為每個變更建立一個 GitHub PR、GitLab MR 或 Cursor Origin PR,並設定好相互依賴的基準。
可在「設定」中登入 GitHub 和 GitLab,也可使用現有的 CLI 登入或環境變數權杖。Cursor Origin 使用你的 origin auth login 憑證。
在內建合併編輯器裡逐塊選擇左側、右側或基準,也可以直接改衝突標記;還沒解決完也能先儲存。也可以交給你設定好的外部工具。
變更的每一個快照都依時間排好,可篩選,可一鍵恢復。還原重定基底、找回遺失的工作,都不用手動翻操作記錄。
每次捨棄、重定基底、分割都會記錄為一次操作。點選狀態列裡最近的操作,或按 ⌘⇧U,開啟操作記錄,把儲存庫恢復到之前的任一時刻。
分叉合併分道顯示、最短變更 ID,還有具預設標籤的 revset 篩選。
把書籤拖到任一變更上即可移動。依遠端顯示領先、落後與分歧狀態。
一個快捷鍵,沿著操作記錄往回退。
圖片前後對照、Markdown、Notebook、CSV/TSV、SARIF 和二進位 plist。
查看檔案每一行最後由哪個變更修改。
由 Codex、Claude 或 Apple Intelligence 草擬變更描述。
VS Code、VSCodium、Zed、Xcode、Vim、終端機、iTerm2 和 Ghostty。
與 Git 共存的 jj 儲存庫、Git LFS、子模組,開箱即用。
在指令面板裡模糊搜尋任何操作,輸入 help split 了解功能,或加 ! 前綴直接執行 jj 指令並查看輸出。
macOS 26 或以上版本 · Apple 晶片 · 已簽署並公證
# Homebrew 首次安裝時信任該 cask $ brew install --cask hewigovens/tap/jayjay $ jayjay ~/my-project
或下載 App。
x86_64 & aarch64 · AppImage、Debian/Ubuntu、Arch
# Debian 套件或 AppImage;已驗證校驗和 $ curl -fsSL https://jayjay.hewig.dev/install.sh | bash # Arch:AUR $ yay -S jayjay-appimage
安裝套件在 GitHub Releases 上。
Windows:從 Microsoft Store 取得 JayJay,或下載可攜式測試版 ZIP。需另行安裝 jj。
Jujutsu 的模型比 git 更好,但大多數圖形用戶端不是還在用 git 分支的思路,就是套了殼的 Web 應用程式。JayJay 的起點只有一個問題:為什麼沒有一個真正原生、真正懂 jj 的用戶端?
所以它有自己的取捨,而且很快:每個工作流程只提供一種原生做法,一切照 jj 的思路走。JayJay 完全免費,由開發者為開發者打造。每個細節都用了心,甚至藏了一個彩蛋,你找得到嗎?
Jujutsu (jj) 的原生圖形用戶端,支援 macOS 與 Linux。Jujutsu 是重新構想 git 模型的版本控制系統,使用可變歷史,以變更取代提交,以書籤取代分支。JayJay 以 Rust(直接封裝 jj-lib,不解析 CLI 輸出)和 SwiftUI 打造。
有。JayJay 是適用於 macOS 與 Linux 的全功能原生 jj 圖形用戶端:DAG 視覺化、具 tree-sitter 高亮的統一與並排差異、interdiff、差異編輯模式、檔案逐行追溯、一鍵解決衝突,以及所有常用 jj 操作(squash、split、absorb、revert、merge、duplicate、describe、abandon),無需記憶指令參數。
最簡單的方式是 brew install --cask hewigovens/tap/jayjay,Homebrew 6.0 會在首次安裝時信任該 cask。也可以從 GitHub Releases 下載已簽署並公證的 App。需要 macOS 26 或以上版本。
支援。在 DAG 中按住 Shift 點選兩個修訂,就能像 PR 一樣比較:使用相同的統一與並排檢視及字詞高亮,呈現兩個變更內容之間的差異。
支援。一鍵切換統一與並排檢視,兩者都使用 tree-sitter 語法高亮和字詞高亮。圖片檔案(PNG、JPG、SVG、HEIC 等)以實際的前後圖片顯示;當原始文字不夠直觀時,Markdown、Notebook、CSV/TSV、SARIF 和二進位屬性列表還有豐富預覽。
能,這就是差異編輯模式。選取檔案、差異區塊或行範圍,再分割到新的子變更或平行變更。在工作副本上,也可以按右鍵 →「捨棄所選行」來丟棄個別修改。
它是 CLI 的補充,而不是替代。DAG 圖、視覺化差異審查、差異編輯、演進檢視器和書籤管理器在圖形介面中容易得多。指令面板(⌘ ⇧ P)可搜尋操作與本機說明,並支援 jj(或 !)前綴,在視窗內執行原始 jj 指令。
免費,原始碼公開(source-available)。macOS App 採用 BSL 1.1 授權:可免費使用、分支、修改和再散布,只有在付費 App 商店散布才需要許可。它將於 2030-03-23 轉為 Apache-2.0。Rust crate 已經是 Apache-2.0。
執行 curl -fsSL https://jayjay.hewig.dev/install.sh | bash。該指令碼會先驗證校驗和,再於以 apt 為基礎的系統上安裝最新的 Debian 套件,於其他 x86_64 或 aarch64 系統上安裝 AppImage;再次執行即可升級。在 Arch Linux 上,請安裝 AUR 中的 jayjay-appimage,例如 yay -S jayjay-appimage。加上 --beta 可在有比穩定版更新的測試版時安裝它。之後執行 jayjay /path/to/repo,或在視窗中開啟儲存庫。指南(英文)列出了支援的內容。
為 x86_64 或 aarch64 安裝 AUR 中的 jayjay-appimage,例如 yay -S jayjay-appimage。自訂 pacman 儲存庫已停用;透過 AUR 升級前,請從 /etc/pacman.conf 中刪除整個 [jayjay] 區段。若要試用 AppImage 測試版,請先移除已安裝的套件,再以 --beta 執行 Linux 安裝指令碼。指南(英文)中有詳細步驟。
Linux 和 Windows 使用 GPUI 介面,並與 macOS 共用 Rust 核心。Linux 版以 AppImage、Debian/Ubuntu 套件和 AUR 套件提供,支援 x86_64 和 aarch64;詳見指南(英文)。Windows 支援處於測試階段。可從 Microsoft Store 安裝 Windows x64 版,或使用 GitHub Releases 上的可攜式 ZIP 取得測試版組建。Windows 需要 Windows 10 版本 1903 或以上,或 Windows 11,並需另行安裝 jj。Store 版由 Store 管理更新;可攜式 ZIP 沒有自動更新功能。