Show HN: AIエージェントが実行前に確認する「会社の頭脳」
gnt は、AI エージェント向けのオープンソースのガバナンス層です。ルールを Markdown ファイルとして Git リポジトリに置き、通常の PR マージで承認します。エージェントは MCP 経由で check_action などのツールを呼び出し、返金や削除などの高リスク操作前に許可・ブロック・人間の承認が必要の判定を取得できます。セルフホストは無料、ホスト型は gntai.dev で提供。
gnt は、AI エージェントのためのガバナンス層です。チームがコードを管理するのと同じ方法で AI の行動ルールを管理できるようにすることを目指しています。仕組みはシンプルで、ルールを Markdown ファイルとして Git リポジトリに置き、通常の Pull Request フローでレビュー・承認します。PR のマージがそのまま承認になり、別のダッシュボード操作は不要です。そのため、すべてのルールは対応する Git ファイルと PR に遡ることができ、エージェントがなぜその行動を取ったのか、常に紙の証跡が残ります。
gnt は MCP サーバーとして提供され、5つのツールを備えています。check_action は、返金・削除・顧客へのメッセージ送信といったリスクの高い操作の前にルールをチェックし、allowed・blocked・needs_human のいずれかを返します。needs_human はフェイルクローズのデフォルトであり、承認済みルールが存在しない場合や取得失敗・チェック不能な場合に返ります。絶対に推測しません。search_rules はタグで絞り込めるセマンティック検索、get_rule はルールの承認者や日時といった来歴を取得し、list_skill_packs と get_skill_pack はコンパイル済みスキルパックを管理します。セットアップを一度実行すると、チームが動かすすべてのエージェントが、行動前に MCP 経由でこの git ネイティブなルールブックを確認するようになります。
導入は、CLI を npm でインストールし、gnt login でサインイン、gnt connect github でリポジトリを接続、gnt prebrain でルール候補を抽出して PR を開くだけです。GitHub 上で PR をマージすれば承認完了です。ほかにも gnt review で承認待ちルールの確認、gnt status で状態表示、gnt pull で最新スキルパックの取得、gnt gaps で未カバーのクエリ一覧を表示できます。ルールファイルは YAML frontmatter 付き Markdown で、title、status、confidence、owner_id、source_citations、approved_by、pr_number などのメタデータを含み、本文にはルール内容を Markdown で書きます。
プライバシー面では、CLI と Web アプリにアナリティクスやテレメトリへの依存はありません。prebrain の抽出はデフォルトでクラウドモードで、ソーステキストは Anthropic API、またはゼロデータ保持を設定した Vercel AI Gateway に直接送信され、gnt の自社サーバーを経由しません。ただし抽出されたルール候補が PR を開くために gnt の API へ送信される点は変わりません。完全にオンデバイスで処理したい場合は --mode local を指定してローカルの Ollama を使います。ルールは接続した GitHub リポジトリと gnt 自身のデータベースに保存され、MCP ツールは毎回リポジトリをクローンせず gnt のストアを読みます。セルフホスト時も、SENTRY_DSN を自分で設定しない限り Sentry にエラーデータは送信されません。
チーム運用では、接続したリポジトリにアクセスできる誰でもルールを作成できます。prebrain で実ソースから一括抽出するか、review で手動提案します。承認方法は PR マージがすべてで、公開ステップは別途ありません。コミットされるのは rules/*.md ファイルです。gnt は Apache-2.0 ライセンスで公開されており、作者は「なぜ無料なのか」という問いにこう答えています。セルフホストは無期限で無料です。販売しているのは gntai.dev でのホスティング、GitHub・Slack・Linear・Notion・Zendesk などのマネージド OAuth コネクタ、そして従量課金の AI 機能だけです。
セルフホストには現在、現実のギャップが一つあります。gnt login のブラウザステップに必要な /cli-login ページはホスト型 Web アプリが提供するものであり、このリポジトリには含まれていません。そのため CLI オンリーのログインフローや、手動でキーを設定するコマンドはまだ存在しません。このルートだけは薄いフロントエンドを自前で作る必要があります。また、apps/api/.env と apps/store/.env の設定値、特にストアと API の間の内部シークレットはバイト単位で一致させないと、設計どおりフェイルクローズします。ルール保存時に embedding や rerank のエラーが起きた場合は、apps/store/.env の ZEROENTROPY_API_KEY が未設定または空になっていないか確認してください。詳細なコマンド一覧やセルフホスト手順は README にまとめられています。