kunchenguid/gnhf

Before I go to bed, I tell my agents: good night, have fun

解決的問題

gnhf(Good Night, Have Fun)是一個自主的編排器,設計用於在使用者離開時持續運行 AI 編碼代理。它透過自動化一系列小規模、已提交且有文件記錄的變更循環,解決了手動監控的問題,確保使用者醒來時看到的是乾淨、逐步推進的工作分支,而非停滯不前的程序。

工作原理

該工具以循環方式運作,調用非互動式編碼代理執行任務。每個迭代步驟如下:

  1. 執行:觸發代理進行變更。
  2. 驗證:如果變更成功,將建立獨立的 git 提交,並將備註追加至 notes.md 檔案中,以實現跨迭代的共享記憶。
  3. 失敗處理:如果某次迭代失敗,將執行 git reset --hard 回滾變更,除非是提交失敗,此時會保留工作內容,以便下一次迭代修復。
  4. 持久化:使用 .gnhf/runs/ 目錄儲存提示、日誌和元資料,支援後續恢復執行。
  5. 速率限制管理:自動偵測速率限制(如來自 Claude 的限制),並在重置時間後自動恢復執行。

適用對象

使用 AI 編碼代理並希望執行長時間任務(如重構或功能實作)的開發者,無需手動觸發每一步或即時審查每次變更。

主要亮點

  • 增量提交:每個成功步驟都會獨立提交,便於輕鬆挑選或回滾。
  • 代理無關:相容多種編碼代理 CLI 和 ACP 目標。
  • 工作樹模式:支援在同一倉庫上使用隔離的 git 工作樹同時運行多個代理。
  • 執行限制:支援最大迭代次數、總 token 數以及自訂停止條件(--stop-when)。
  • 即時狀態:透過終端標題即時更新 token 總數和提交次數。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案