AgentKindergarten – AIコーディングエージェントのための保育所
AgentKindergartenはオープンソースのツールで、AIコーディングエージェントをスマートフォンやブラウザからリモートで監視・操作できるようにします。リアルタイムのターミナルストリーミング、開発サーバーのプレビュー、アラート処理を提供します。デーモン・リレーアーキテクチャを採用し、Claude、Codexなどのエージェントをサポートし、コマンドロックや表示専用モードなどのセキュリティ機能を備えています。
AgentKindergartenは、AIコーディングエージェントのための「保育所」を提供するオープンソースプロジェクトです。開発者はPCから離れてもエージェントの監視と制御を続けられます。GitHubのrokrak1によって公開され、開発環境をポケットにストリーミングするというアイデアに基づいています。
アーキテクチャと動作原理 AgentKindergartenはクライアント・リレー・デーモンアーキテクチャを採用しています。デーモンは開発者のPC上で動作し、自己ホストされたリレーサーバー(VPS)に発信接続します。リレーサーバーは認証とトラフィックルーティングを担当し、データは保存しません。電話やブラウザはHTTPS/WSSでリレーに接続し、リレーはWebSocket(発信)でデーモンに接続します。この設計により、ポートフォワーディングやインバウンドファイアウォールの穴が不要になります。
主な機能
- セッションストリーミング:PC上で実行中のAIエージェントセッション(例:Claude Code、Codex)は、電話やブラウザからリアルタイムで表示・操作できます。端末への入力も可能です。
- 開発サーバープレビュー:エージェントが起動した開発サーバー(localhost:3000など)は自動検出され、トンネル経由でリモートデバイスから開くことができます。
- 点呼とモニタリング:すべての実行中エージェントセッションを一覧表示するダッシュボードがあり、誰が実際に作業しているかを一目で確認できます。
- 教師機能(Miss Clanker):オプション機能で、各エージェントに「成績表」を生成し、課題の進捗と証拠を表示します。また、「挙手」アラートを設定でき、エージェントが停止、エラー、権限待ちになった場合にスマートフォンへプッシュ通知を送ります。
- スキル統合:Claude Codeユーザー向けに4つの組み込みスキルが用意されており、会話内からセッションのミラーリング、引き継ぎ、名前変更、切り離しを制御できます。
使用方法
インストールは簡単です。npmでagentkindergartenパッケージをグローバルインストールし、agk initでリレーアドレスとトークンを設定し、agk startでデーモンを起動します。その後、ブラウザまたはPWAでリレーアドレスを開き、アクセストークンでログインすると、マシンが表示されます。最もよく使うコマンドはagk claudeで、新しいClaudeセッションを作成し、端末と教室の両方にアタッチします。その他のコマンドにはagk run、agk attach、agk lsなどがあります。
セキュリティ
- デーモンは発信接続のみ行い、インバウンドポートをリッスンしません。デーモンを停止するとPCはインターネットから隔離されます。
- 2つのトークンを使用:アクセストークン(ブラウザログイン用)とペアリングトークン(デーモンとリレーの認証用)。
- デーモン側で
--lock-commands(プリセットコマンドのみ実行)と--view-only(表示のみ、入力不可)オプションを提供し、リレーが侵害されても保護します。 - プレビュートンネルはエージェントが開いたポートにのみアクセス可能で、他のローカルサービスには到達できません。
ローカルでのクイックトライ 開発者は1台のマシンでローカルテストが可能です。依存関係をインストールし、プロジェクトをビルドし、リレーとデーモンを順に起動すると、ブラウザで完全なワークフローをシミュレーションできます。
AgentKindergartenは、学生(ベンチからコーディング)、教室(統一ダッシュボード)、デモ(車から開発サーバーを開く)などのシナリオに適しています。AIコーディングエージェントが24時間365日働き、開発者はPCに縛られることなく生活できます。