gnhf – 開源的 AI Agent 自主編排器,夜間自主迭代

AI工具4天前發佈新公告 AI管理員
0 0

gnhf是什麼

gnhf(全稱 good night, have fun)是開源的 AI Agent 自主編排器,核心理念是讓開發者在睡前給 AI 設定一個目標,讓它在你休息時持續迭代工作。每次只做一個小改動,成功便自動 git commit,失敗則 git reset --hard 回滾,醒來時你的倉庫分支上已滿是乾淨的提交記錄與完整日誌。原生支持 Claude Code、Codex、GitHub Copilot CLI 等主流 AI 編程助手,具備跨迭代記憶共享、斷點續跑、多任務 worktree 並行和實時 token 監控等能力,可通過 npm 一鍵安裝,跨平台運行,採用 MIT 協議開源在 GitHub 上。

gnhf – 開源的 AI Agent 自主編排器,夜間自主迭代

gnhf的主要功能

  • 夜間自主迭代:只需睡前給 AI 設定一個開發目標,Agent 便在你休息時自動循環執行,每次僅做一個小改動,醒來即可查看完整成果。
  • Git 紀律驅動:每次成功迭代自動生成獨立的 git commit,失敗迭代立即 git reset --hard 回滾,確保分支歷史乾淨、可追溯。
  • 智能容錯與重試:Agent 報告的失敗進入下一輪迭代,硬錯誤採用指數退避,永久錯誤(如 API 餘額不足)立即中止並輸出日誌路徑,連續 3 次失敗後自動停止。
  • 跨迭代記憶共享:Agent 通過 notes.md 文件在多輪迭代間傳遞上下文與經驗,實現持續積累而非從零開始。
  • Worktree 並行:同一倉庫可同時啓動多個 gnhf 任務,每個擁有獨立工作目錄和分支,互不干擾,適合並行推進多項技術債務。
  • 斷點續跑:在已有的 gnhf/ 分支上重新運行命令,可自動恢復之前的任務進度,無需從頭開始。
  • 實時狀態監控:交互式運行時在終端標題欄實時顯示當前狀態、累計 token 消耗和 commit 數量,方便隨時掌握進展。
  • 防休眠機制:運行期間自動阻止系統休眠,macOS 用 caffeinate,Linux 用 systemd-inhibit,Windows 用 PowerShell 原生方案。
  • 多 Agent 原生支持:開箱即用支持 Claude Code、Codex、GitHub Copilot CLI、Rovo Dev、OpenCode、Pi 六大主流 AI 編程助手,可通過配置自定義路徑和參數。
  • 靈活的運行時控制:支持 --max-iterations 限制迭代次數、--max-tokens 限制 token 總量、--stop-when 設定自然語言停止條件。
  • 零侵入式集成:所有操作僅在自動創建的 gnhf/ 分支上進行,主分支完全不受影響;worktree 模式甚至不會污染原倉庫工作區。

如何使用gnhf

  • 安裝部署:通過 npm install -g gnhf 全局安裝,或從 GitHub 倉庫克隆源碼後執行 npm install && npm run build && npm link 本地構建。
  • 基礎啓動:在目標倉庫根目錄運行 gnhf "你的開發目標",例如 gnhf "reduce complexity of the codebase without changing functionality",工具會自動創建 gnhf/ 分支並開始迭代。
  • 限制迭代規模:使用 --max-iterations 10 設定最大迭代次數,--max-tokens 5000000 設定 token 消耗上限,避免資源失控。
  • 設定自然語言停止條件:通過 --stop-when "所有測試通過" 讓 Agent 在滿足特定條件時自動結束任務。
  • 斷點續跑:在已有的 gnhf/ 分支上重新運行 gnhf 命令,選擇繼續歷史任務即可恢復之前的進度,無需從頭開始
  • 多任務並行:使用 gnhf --worktree "任務A" &gnhf --worktree "任務B" & 在同一倉庫同時啓動多個 Agent,每個擁有獨立工作目錄和分支。
  • 自定義 Agent 配置:編輯 ~/.gnhf/config.yml 設置默認 Agent(如 claudecodexcopilot 等)、防休眠開關、自定義二進制路徑及額外 CLI 參數。
  • 查看運行日誌:所有運行元數據保存在 .gnhf/runs/ 目錄下,包含每次迭代的完整輸入輸出,便於審計和排查問題。
  • 安全中止:運行期間按 Ctrl+C 即可停止,或等待達到配置的上限後自動結束;連續 3 次失敗後也會自動中止並提示日誌路徑。

gnhf的官網地址

  • Github倉庫:https://github.com/kunchenguid/gnhf

gnhf的關鍵信息和使用要求

  • 項目全稱:gnhf,即 good night, have fun,由開發者 kunchenguid 創建並開源
  • 技術棧:TypeScript / Node.js,依賴 Git 作爲版本控制底座
  • 平台支持:macOS、Linux、Windows 三大主流操作系統
  • 社區數據:上線約兩週即收穫 550+ GitHub Star,社區貢獻 73 個活躍 PR
  • 核心理念:睡前給 AI 設定一個開發目標,讓它在你休息時持續迭代;每次只做一個小改動,成功則自動 git commit,失敗則 git reset --hard 回滾
  • 原生支持的 Agent:Claude Code、Codex、GitHub Copilot CLI、Rovo Dev、OpenCode、Pi 共六種主流 AI 編程助手
  • 分支隔離機制:所有操作在自動創建的 gnhf/<slug> 分支上執行,主分支完全不受影響,支持 worktree 獨立工作目錄
  • 配置目錄:運行時配置位於 ~/.gnhf/config.yml,運行日誌與元數據保存在倉庫的 .gnhf/runs/ 目錄下
  • 環境要求:系統需預先安裝 Node.js 和 npm,且目標項目必須是一個 Git 倉庫(gnhf 依賴 Git 進行 commit 和回滾操作)
  • Agent 前置條件:需先在本地安裝並配置至少一種支持的 AI 編程助手(如 Claude Code、Codex 等),並確保其 CLI 命令在系統 PATH 中可用
  • API 資源準備:使用雲端 Agent(如 Claude Code、Codex)需確保 API 賬戶有足夠餘額,否則會被識別爲永久錯誤並立即中止
  • 權限要求:運行目錄需對當前用戶可寫,以便創建 gnhf/ 分支、.gnhf/ 日誌目錄及 notes.md 記憶文件
  • 防休眠依賴:macOS 需系統支持 caffeinate 命令,Linux 需 systemd-inhibit,Windows 依賴 PowerShell,無對應工具時防休眠功能將靜默失效
  • 配置初始化:首次使用前建議編輯 ~/.gnhf/config.yml 指定默認 Agent 和偏好參數,避免每次命令行手動指定
  • 運行監控:建議通過終端標題欄或 --max-tokens / --max-iterations 參數設定資源上限,防止夜間 token 消耗失控
  • 安全退出:運行期間可隨時按 Ctrl+C 中斷,或依賴連續 3 次失敗自動中止機制;異常退出後可通過日誌路徑 .gnhf/runs/ 排查原因

gnhf的核心優勢

  • 夜間自動迭代,釋放開發者時間:睡前佈置任務,AI 在你休息時持續工作,醒來即可驗收成果,將”碎片時間”和”睡眠時段”轉化爲有效開發產能。
  • Git 紀律原生內建:每次成功改動自動 git commit,失敗立即 git reset --hard 回滾,無需人工審查即可保證分支歷史乾淨、可審計、隨時可回退。
  • 零侵入式隔離:所有操作限定在自動創建的 gnhf/ 分支,主分支完全不受影響;--worktree 模式甚至爲每個任務開闢獨立工作目錄,實現物理級隔離。
  • 多 Agent 自由切換:原生支持 Claude Code、Codex、GitHub Copilot CLI、Rovo Dev、OpenCode、Pi 六大主流工具,不綁定單一廠商,可通過配置無縫切換或自定義擴展。
  • 生產級容錯與成本控制:連續 3 次失敗自動中止,永久錯誤(如 API 餘額不足)立即退出,配合 --max-tokens--max-iterations 硬上限,防止夜間資源失控。
  • 斷點續跑,進度不丟:在已有 gnhf/ 分支上重新運行即可恢復歷史任務,無需從頭開始,適合長週期複雜目標的持續攻堅。
  • 跨迭代記憶積累:通過 notes.md 在多輪迭代間傳遞上下文與失敗教訓,Agent 越跑越”聰明”,而非每次從零摸索。
  • 同倉庫多任務並行--worktree 支持同一項目同時推進多項技術債務(如一個補測試、一個做重構),互不干擾,成倍提升吞吐。
  • 自然語言級運行控制--stop-when 允許用白話設定停止條件(如”所有測試通過”),無需編寫複雜腳本即可精確控制任務邊界。
  • 跨平台開箱即用:支持 macOS、Linux、Windows,自動適配各平台防休眠機制,一條 npm install -g gnhf 命令即可完成部署。

gnhf的應用場景

  • 測試覆蓋率補齊:針對遺留模塊或新功能自動補充單元測試、集成測試,利用夜間時間將覆蓋率從 60% 提升到 90% 而無需佔用白天編碼時間。
  • 新功能漸進式實現:將大需求拆分爲小目標(如”實現用戶認證中間件”),讓 Agent 夜間逐步迭代,每步成功即 commit,失敗自動回滾,第二天驗收合併。
  • 多模塊並行攻堅:同一項目同時啓動多個 worktree 任務,例如一個 Agent 補測試、一個 Agent 做重構、一個 Agent 升級依賴,互不干擾地並行推進。
  • 開源項目日常維護:自動處理標記爲 “good first issue” 的簡單重構、文檔補全、依賴版本升級,維護者次日直接 review PR 即可。
  • API 層重構與遷移:夜間自動完成接口參數調整、廢棄方法替換、響應格式統一等低風險但耗時的機械改動,降低對白天業務開發的干擾。
  • 代碼風格與 Lint 治理:批量修復 ESLint/Prettier 警告、統一命名規範、移除未使用變量,保持代碼庫長期整潔而不佔用核心開發精力。
© 版權聲明

相關文章

暫無評論

暫無評論...