diny

diny

Dino Danic · 程式設計

diny 是一款免費、開源的命令列工具,只要一個指令就能把你已暫存的 git 變更變成可讀的提交訊息。你可以把它想成在終端機裡運作的 git 提交訊息產生器。它會讀取已暫存的 diff,濾掉 lockfile 與建置產物等雜訊,並提出三種訊息版本,讓你可以編輯或直接提交。它不需要申請 API 金鑰,也不用建立帳號,因此安裝只要一行,幾秒內就能開始提交。

diny 的介面預覽

關於 diny

diny 是什麼

diny 是一款以 AI 驅動的 CLI,專為厭倦盯著空白提交訊息欄位的開發者而做,而且它會融入你已經在用的 git 工作流程,而不是要你學一套新的。你暫存變更、執行 diny commit,它就會根據實際改動的內容產生清楚的訊息。

這款工具要解決的是專案中不斷累積的小摩擦:像是「fix stuff」或「wip」這類含糊的提交,會讓半年後的歷史紀錄變得毫無用處。身為慣例式提交工具,diny 傾向採用那種格式,這讓日誌更容易瀏覽,也能和自動化工具搭配得很好。它也處理了暫存過多內容的棘手情況,讓你把一個龐大的 diff 拆成依主題分組的數個提交。

以上都不需要雲端帳號,而且如果你想把一切留在本機,diff 也永遠不必離開你的電腦。這對許多團隊來說很重要。

主要的限制在於範圍。diny 只負責寫訊息與整理提交;它不會審查你的程式碼、抓錯誤,也不會替你決定什麼該放進一個提交。作為一款 AI git 提交訊息工具,這種專注正是它的重點。所有操作都在終端機裡進行,所以如果你完全在圖形化的 git 客戶端裡工作,就得確認它是否能整合進你選擇的應用程式。它唯一內建的整合是 LazyGit。

開始使用

  1. 在 macOS 或 Linux 上用 brew install dinoDanic/tap/diny 安裝這款 CLI,或在 Windows 上用 scoop install diny。GitHub 的 releases 頁面也提供預先編譯好的執行檔。
  2. 執行 git add . 或加入特定檔案,暫存你想提交的變更。
  3. 執行 diny commit 開啟互動式終端機介面。它會讀取已暫存的 diff,並產生三種訊息版本。
  4. 挑一個版本,直接編輯或在你的 $EDITOR 中開啟,然後提交。若想把已暫存的變更拆成多個提交,在就緒畫面按 S。
  5. 你也可以執行 diny config,設定預設佈景主題、提交格式、語氣與長度。

產品資訊

快速了解 diny 的定價、支援平台與效能。

免費方案是
付費方案$0
平台macOS, Linux, Windows
開發者Dino Danic
類別程式設計
發布日期Sep 2025
最近更新May 2026
網站訪問量649.3M
網站全球排名50
API 提供狀態否

適合對象

這項工具最適合的使用者、任務與情境。

使用者

  • 經常提交、想要一致且可讀的歷史紀錄又不想拖慢速度的個人開發者。若你熟悉終端機,效果最好。
  • 想要共用提交慣例的小型團隊。一份納入版本控制的 `.diny.yaml` 檔案能讓所有人遵循相同設定。

任務

  • 從已暫存的 diff 撰寫提交訊息:產生三種可直接編輯的版本,而不是留下空白的一行給你。
  • 把一個龐大的 diff 拆成數個依主題分組的聚焦提交,讓每個提交都說出清楚的故事。
  • 在兩個標籤或提交之間產生變更記錄,用於發布說明。
  • 檢視某段日期範圍內的提交歷史,看看什麼時候發布了什麼。

情境

  • 在開啟 pull request 前清理一團亂的分支,尤其是你的工作提交又快又隨便的時候。
  • 結束漫長一天的編輯工作,只想把訊息處理好又不打斷節奏。完全不用動腦。
  • 加入一個不熟悉的 repo,一份摘要式的時間軸能幫你快速看清最近的活動。

主要功能

一個指令完成提交產生

核心流程很簡單:暫存、執行 diny commit、檢視。diny 會用 git diff 讀取你已暫存的變更,並草擬三種訊息版本供你挑選。你可以直接編輯,或在提交前把訊息交給你的編輯器。這是大多數人安裝這款命令列提交工具的原因,而且它不需要任何金鑰或登入。

過濾 diff 中的雜訊

原始 diff 充滿了不該影響訊息的事物,例如 lockfile、二進位檔與建置產物。diny 在產生文字前會先濾掉這些,因此訊息反映的是真正的程式碼變更,而不是相依套件的變動。好處很簡單。少一點寫著「update package-lock.json」的提交。

把變更拆成多個提交

一次暫存太多了嗎?在就緒畫面按 S,diny 就會把 diff 拆成依主題分組的獨立提交。你可以編輯每個群組、在群組之間移動檔案、重新產生,然後依序提交。這省事多了。如此一來,一團含糊的內容就變成一系列乾淨、日後容易檢視的提交。

涵蓋整個流程的互動式 TUI

diny 不只是發出一則訊息就結束。它的終端機介面在同一個地方處理 commit、config、changelog、timeline 與 yolo。內建的檔案挑選器讓你不用離開工具就能暫存與取消暫存檔案,因此你可以在寫訊息前先形塑一個提交。

AI 驅動的變更記錄與時間軸

除了單一提交,diny 也能在標籤或提交之間扮演 AI 驅動的變更記錄產生器,這對發布說明很方便。timeline 指令會彙整並分析你的提交歷史,可選用日期預設或自訂範圍。這兩項功能都使用與提交相同的本機產生方式,因此沒有額外的東西需要設定。

三層式設定

設定存在三個層級:~/.config/diny/config.yaml 的全域設定、你為團隊提交、專案共用的 .diny.yaml,以及留在本機的個人專案檔。優先順序為本機 > 版本控制 > 全域,而專案檔只需列出它要覆寫的值。乾淨俐落。這是一種直接分享慣例、又不強加於所有人的方式。

語氣、格式與 emoji 選項

你可以告訴 diny 你希望訊息讀起來是什麼樣子。開啟或關閉慣例式提交格式、選擇語氣(專業、隨性或友善)、控制長度(短、一般或長),並可選擇在提交前加上 emoji。自訂指示能為邊緣情況給 AI 額外的指引。

優缺點

優點

  • 無需 API 金鑰、不用註冊、也不用帳號,因此第一次提交前沒有任何東西要設定。
  • 以 MIT 授權免費且開源,因此這款開源提交訊息產生器可以被檢視並自行架設。
  • 透過 Homebrew 與 Scoop 一行安裝,在 macOS、Linux 與 Windows 上都能運作。
  • 把臃腫的已暫存 diff 拆成聚焦的提交,讓歷史紀錄保持可讀。
  • 內建的 changelog 與 timeline 指令讓它超越單一提交的用途。

缺點

  • 它只處理提交訊息與歷史,因此不會替你審查程式碼或抓出錯誤。
  • 它在終端機裡運作,意味著只用圖形化 git 的使用者若不採用 LazyGit 或類似配置,就得不到相同的體驗。
  • 產生的訊息好壞取決於你暫存的 diff,因此隨便的暫存仍會產生含糊的提交。

常見問題

是。diny 以 MIT 授權免費且開源,沒有付費方案。你安裝、執行、產生提交,不必付費也不用註冊任何東西。

相關內容

探索與 diny 相關的工具、技能與文章。

diny 替代方案

Forefront

Forefront

Forefront · 程式設計

Forefront 是一個用來打造開源 AI 的網頁平台。你可以用自己的資料微調主流的開源語言模型、評估它們的表現,再透過 API 執行,或匯出後自行架設。想要封閉式平台的便利、卻堅持要自己擁有模型與資料的開發者,就是這裡的目標客群。

免費 / $0 - $99/mo查看詳情
Startkit

Startkit

StartKit.AI · 程式設計

Startkit 是一套用來打造 AI SaaS 與 AI 包裝產品的樣板。可以把它想成一個 AI 新創樣板,把枯燥的部分都先接好了:驗證、Stripe 與 Lemon Squeezy 付款、用量限制、交易型電子郵件,以及一套能與 OpenAI、Anthropic、Groq 或 Llama 溝通的 AI API 啟動套件。你複製儲存庫、設定價格,然後專心在產品中使用者真正願意付費的部分。它建構於 React 與 Tailwind 之上的 Next.js,所以大部分的樣板程式碼對你來說並不陌生。

付費 / $99 - $499 one-time查看詳情
Testim

Testim

Tricentis · 程式設計

Testim 是專為網頁、行動與 Salesforce 應用程式打造的 AI 測試自動化平台,用來建立並執行端到端測試。它靠機器學習在介面變動時維持測試穩定,團隊因此少花時間修補壞掉的定位器。對於一款今天就能開始使用的自動化測試工具來說,這表現不算差。你透過在瀏覽器錄製動作來建立測試,需要更多控制時再補上 JavaScript。對忙碌的 QA 團隊來說,這是個可靠的選擇。

免費 / Custom pricing on request查看詳情