project
gnhf - オープンソースのAIエージェントによる自律型オーケストレーターで、夜間に自律的に反復処理を行います。
gnhf(Good Night, Have Funの略)は、オープンソースのAIエージェント自動オーケストレーターです。その核となるコンセプトは、開発者が就寝前にAIの目標を設定し、開発者が休息している間もAIが継続的に反復作業を行うことを可能にすることです。一度に実行できるタスクは1つだけです。
gnhfとは何ですか?
gnhf(フルネーム) good night, have funこれはオープンソースのAIエージェント自動オーケストレーターです。その核となるコンセプトは、開発者が就寝前にAIの目標を設定し、開発者が休んでいる間にAIが継続的に反復作業を行うことを可能にすることです。毎回小さな変更が加えられ、成功すると自動的に... git commit失敗した場合 git reset --hard ロールバックすれば、再起動後にはリポジトリブランチにクリーンなコミット履歴と完全なログが揃っています。Claude Code、Codex、GitHub Copilot CLIなどの主流のAIプログラミングアシスタントをネイティブにサポートし、イテレーション間のメモリ共有、ブレークポイントからの再開、マルチタスクワークツリーの並列処理、リアルタイムトークン監視などの機能を備えています。npm経由でワンクリックでインストールでき、クロスプラットフォームで動作し、GitHubでMITライセンスの下でオープンソースとして公開されています。
gnhfの主な機能
-
夜間の自律的な反復寝る前にAIの開発目標を設定するだけで、エージェントはあなたが休んでいる間にその目標を自動的にループ実行し、毎回少しずつ変更を加えていきます。そして、あなたが目覚めたときには、完成した結果を確認できます。
-
Gitの規律重視各反復処理が成功すると、独立したファイルが自動的に生成されます。
git commit反復処理がすぐに失敗しましたgit reset --hardロールバックによって、ブランチの履歴がクリーンで追跡可能であることが保証されます。 -
インテリジェントな耐障害性と再試行機能エージェントはエラーを報告し、次のイテレーションに進みます。重大なエラーは指数関数的に蓄積されますが、永続的なエラー(API残高不足など)は即座に停止され、ログパスが出力されます。3回連続でエラーが発生すると、プロセスは自動的に停止します。
-
反復間メモリ共有エージェント経由
notes.mdこの文書は、複数の反復作業を通して文脈と経験を伝え、ゼロから始めるのではなく、継続的な蓄積を可能にする。 -
Worktree Parallel同じリポジトリ内で複数のgnhfタスクを同時に開始することができ、それぞれが独立した作業ディレクトリとブランチを持ち、互いに干渉しないため、複数の技術的負債の並列処理に適しています。
-
中断点から再開既存の
gnhf/ブランチ上でコマンドを再実行すると、以前のタスクの進行状況が自動的に復元されるため、最初からやり直す必要がなくなります。 -
リアルタイムの状態監視対話型ランタイムは、ターミナルのタイトルバーに現在のステータス、累積トークン消費量、コミット数をリアルタイムで表示するため、いつでも簡単に進捗状況を把握できます。
-
冬眠防止機構macOS は、動作中にシステムが休止状態になるのを自動的に防止します。
caffeinateLinuxsystemd-inhibitWindowsの場合は、ネイティブのPowerShellソリューションを使用してください。 -
複数のエージェントをネイティブでサポート本ソフトウェアは、Claude Code、Codex、GitHub Copilot CLI、Rovo Dev、OpenCode、Piという6つの主要なAIプログラミングアシスタントを標準でサポートしています。カスタムパスやパラメータも設定可能です。
-
柔軟なランタイム制御:サポート
--max-iterations反復回数を制限する--max-tokensトークンの総数を制限する。--stop-when自然言語の停止条件を設定します。 -
侵入ゼロ統合すべての操作は、自動的に作成された操作にのみ適用されます。
gnhf/この処理はブランチ上で実行され、メインブランチには一切影響を与えません。ワークツリーモードは、元のリポジトリのワークスペースを汚染することさえありません。
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リソースが制御不能になるのを防ぐため、トークンの消費量に制限を設定してください。 -
自然言語停止条件の設定:合格
--stop-when "所有测试通过"特定の条件が満たされた場合に、エージェントがタスクを自動的に終了できるようにする。 -
中断点から再開既存の
gnhf/ブランチで再実行gnhfこのコマンドを使用すると、「前のタスクを続行」を選択することで、以前の作業内容を再開できるため、最初からやり直す必要がなくなります。 -
マルチタスク並列:使用
gnhf --worktree "任务A" &そしてgnhf --worktree "任务B" &同じリポジトリ内で複数のエージェントを同時に起動することができ、それぞれが独立した作業ディレクトリとブランチを持つ。 -
カスタムエージェント構成:編集
~/.gnhf/config.ymlデフォルトのエージェントを設定します(例)claude、codex、copilot(など)、スリープ防止スイッチ、カスタムバイナリパス、および追加の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は、主要な3つのオペレーティングシステムです。
-
コミュニティデータリリースから約2週間以内に、GitHubで550以上のスターを獲得し、コミュニティから73件のアクティブなプルリクエストを受け取った。
-
基本概念就寝前にAIの開発目標を設定し、休息中に継続的に反復開発を行わせましょう。毎回小さな変更のみを加え、成功したら自動的に更新するようにします。
git commit失敗した場合git reset --hardロールバック -
ネイティブにサポートされているエージェント主流のAIプログラミングアシスタント6つ:Claude Code、Codex、GitHub Copilot CLI、Rovo Dev、OpenCode、およびPi。
-
分岐分離機構すべての操作は自動的に作成されます。
gnhf/<slug>ブランチ上で実行してもメインブランチには一切影響しません。ワークツリー内で独立した作業ディレクトリをサポートしています。 -
設定ディレクトリランタイム構成は以下にあります。
~/.gnhf/config.yml実行時ログとメタデータはリポジトリに保存されます。.gnhf/runs/ディレクトリ
-
環境要件システムにはNode.jsとnpmが事前にインストールされている必要があり、対象プロジェクトはGitリポジトリである必要があります(gnhfはコミットとロールバック操作にGitを使用します)。
-
エージェントの前提条件まず、サポートされているAIプログラミングアシスタント(Claude Code、Codexなど)を少なくとも1つローカルにインストールして設定し、そのCLIコマンドがシステムPATHで使用できることを確認する必要があります。
-
APIリソースの準備クラウドエージェント(Claude CodeやCodexなど)を使用する場合は、APIアカウントに十分な残高があることを確認してください。残高が不足している場合、永続的なエラーとしてフラグが立てられ、即座にサービスが終了します。
-
アクセス要件ディレクトリを作成するには、実行先のディレクトリが現在のユーザーによって書き込み可能である必要があります。
gnhf/支店.gnhf/ログディレクトリとnotes.mdメモリファイル -
抗冬眠依存性macOSにはシステムサポートが必要です。
caffeinateコマンド、Linux はsystemd-inhibitWindowsはPowerShellに依存しているため、対応するツールが利用できない場合は、スリープ防止機能は自動的に無効化されます。 -
設定の初期化初回使用前に編集することをお勧めします。
~/.gnhf/config.yml毎回コマンドラインで手動で指定する必要がないように、デフォルトのエージェントと設定パラメータを指定してください。 -
運用監視ターミナルのタイトルバーを使用することをお勧めします。
--max-tokens/--max-iterationsパラメータ設定によりリソース消費量が制限され、夜間のトークンの無制限な消費を防ぎます。 -
ログアウト操作中はいつでも[ボタンを押す]ことができます。
Ctrl+C3回連続で障害が発生した場合、中断または自動終了メカニズムが作動します。異常終了はログパスを介して検出できます。.gnhf/runs/原因を調査する
gnhfの主な利点
-
夜間の自動反復処理により、開発者の時間を節約できます。就寝前にタスクを割り当てておけば、AIはあなたが休んでいる間も作業を継続します。起床時に結果を確認できるので、「断片的な時間」や「睡眠時間」を効果的な開発生産性へと変えることができます。
-
Gitの規律は標準で組み込まれています。変更が成功するたびに自動的に修正されます。
git commit即座に失敗git reset --hardロールバック機能により、ブランチ履歴はクリーンで監査可能であり、手動による確認なしにいつでもロールバックできることが保証されます。 -
侵入ゼロの隔離すべての操作は、自動的に作成されたものに限定されます。
gnhf/支線と本線は全く影響を受けていない。--worktreeこのモデルは、各タスクごとに個別の作業ディレクトリを作成することで、物理レベルでの分離を実現しています。 -
複数のエージェントを自由に切り替えることができます。本システムは、Claude Code、Codex、GitHub Copilot CLI、Rovo Dev、OpenCode、Piという6つの主要ツールをネイティブにサポートしています。特定のベンダーに縛られることなく、設定を通じてシームレスに切り替えたりカスタマイズしたりできます。
-
生産レベルの耐障害性とコスト管理3回連続で失敗した場合は自動的に終了します。永続的なエラー(API残高不足など)が発生した場合は、即座に終了します。
--max-tokensそして--max-iterations夜間に資源が制御不能なほど増加するのを防ぐため、上限値が設定されている。 -
中断したところから実行を再開し、進行状況を失うことはありません。既存の
gnhf/ブランチ上で再実行することで、最初からやり直すことなく過去のタスクを復元できるため、長期的で複雑な目標に継続的に取り組むのに適しています。 -
反復間のメモリ蓄積:合格
notes.md複数の反復処理を通して、状況や失敗から得られた教訓を伝達することで、エージェントは毎回ゼロから物事を理解するのではなく、実行を重ねるごとに「賢く」なっていく。 -
同一倉庫内でのマルチタスク並列処理:
--worktreeこれは、同一プロジェクト内で複数の技術的負債(例えば、補足テスト中のものとリファクタリング中のもの)を干渉なく同時に進めることをサポートし、それによってスループットを大幅に向上させます。 -
自然言語レベルの操作制御:
--stop-whenこれにより、停止条件を平易な言葉(例えば「すべてのテストに合格」など)で設定できるため、複雑なスクリプトを作成することなく、タスクの境界を正確に制御できます。 -
クロスプラットフォーム対応、すぐに使用可能macOS、Linux、Windowsに対応し、各プラットフォームのスリープ防止機能に自動的に適応します。
npm install -g gnhfデプロイは単一のコマンドで完了できます。
gnhfの応用シナリオ
-
テスト範囲完了既存モジュールや新機能の単体テストと統合テストを自動的に補完し、日中のコーディング時間を消費することなく、夜間にテストカバレッジを60%から90%に向上させます。
-
新機能は段階的に導入されます。大きな要件をより小さな目標(例えば「ユーザー認証ミドルウェアの実装」)に分解し、エージェントが夜間に段階的に反復作業を行い、成功した場合はコミットし、失敗した場合は自動的にロールバックし、翌日に結果を受け入れてマージできるようにします。
-
マルチモジュール並列処理これにより、同じプロジェクト内で複数のワークツリータスクを同時に起動できます。例えば、あるエージェントが補足テストを実行し、別のエージェントがリファクタリングを実行し、さらに別のエージェントが依存関係のアップグレードを実行するなど、すべてが干渉することなく並行して進行します。
-
オープンソースプロジェクトの日常的なメンテナンス「良質な初回課題」としてマークされた、簡単なリファクタリング、ドキュメントの完成、依存関係のバージョンアップグレードを自動的に処理し、メンテナーが翌日すぐにプルリクエストを確認できるようにします。
-
APIレイヤーのリファクタリングと移行このシステムは、インターフェースパラメータの調整、旧式のメソッドの置き換え、応答フォーマットの標準化など、リスクは低いものの時間のかかる機械的な変更を夜間に自動的に実行し、日中の業務開発への支障を軽減します。
-
コードスタイルとLintガバナンスESLint/Prettierの警告を一括修正し、命名規則を標準化し、未使用の変数を削除することで、コア開発の労力を費やすことなく、長期的にコードベースをクリーンに保ちます。