missuo/herdrm
Native macOS console for herdr — all your coding agents and their live terminals, across devices
📦 herdrm – herdr AIコーディングエージェントランタイム用のネイティブmacOSコンソール
herdrm はmacOS専用のGUIアプリ(SwiftUIで構築)であり、herdrバックグラウンドサーバー(Claude、Codex、Gemini、Grok、OpenCodeなどAIコーディングエージェントを実行するデーモン)と対話できるようにします。herdrが管理するリモートまたはローカルのPTYを、実際のフル機能ターミナルペインに変換し、デバイス、スペース、エージェント、ファイルを閲覧できるグラフィカルなサイドバーを提供します。
✨ 何ができるか(READMEに記載)
| 機能 | 得られるもの |
|---|---|
| すべてのデバイス | ローカルMacと、SSHでアクセス可能な任意のマシン(通常のSSH、Tailscale SSH、またはmacOS Keychainに保存されたパスワード)に接続可能。アプリは各デバイスに対して再接続ループを維持します。 |
| リアルタイムステータス | サイドバーで接続済みマシンの Spaces → Agents → Terminals を表示。リアルタイムで状態(実行中、ブロック中、完了)を確認できます。 |
| 本格的なターミナル | エージェントまたはシェルの実際のPTYに接続(チャットラッパーではない)。ネイティブなテキスト選択、適切なフォント、行間調整、接続が切れた場合でも再接続可能な堅牢なセッションを提供します。 |
| 何でもペースト | ファイルや画像をドラッグアンドドロップ。ローカルではクリップボード経由、リモートでは一時キャッシュ経由でエージェントにストリーミングされます。 |
| ファイルの移動 | 二ペインファイルマネージャーで、ローカルMacと任意のSSHホスト間でファイルをコピー可能。進捗表示、キャンセル、競合処理もサポート。 |
| 通知 | エージェントが入力を待機している、または完了したときにmacOSアラートが発生。クリックで即座に該当ペインに移動。 |
| ⌘K検索 | すべてのデバイス、スペース、エージェントを対象としたグローバルなファズィ検索。1キーストロークでどこへでもジャンプ可能。 |
| ネイティブmacOS体験 | ユニバーサルバイナリ(Apple Silicon + Intel)、ライト/ダークモード、Sparkleによる自動更新、署名済み・ノタライズ済み。 |
🤔 なぜ herdrm を使うべきか?
- すでに herdr を使ってエージェントを実行しているが、デフォルトの
herdr attachワークフローはターミナル中心で、tmuxスタイルのナビゲーションが必要。 - herdrm はポイントアンドクリックUI(サイドバー行、コンテキストメニュー)を提供しつつ、実際の PTYを露出するため、マルチプレクサのメンタルオーバーヘッドなしに完全なTUI体験を維持可能。
- 純ネイティブ – Electronや埋め込みブラウザを使用しないので、即時起動かつ軽量。
- すべてのマシンを1つのウィンドウに集中化。ポーリングなしでステータスを監視し、エージェントに応答可能。
📦 インストール
| 方法 | コマンド / 手順 |
|---|---|
| Homebrew(推奨) | brew install owo-network/brew/herdrm |
| 手動 | Releasesページから最新の herdrm-x.y.z.zip をダウンロード、解凍し、herdrm.app を /Applications にドラッグ。以降は**更新の確認…**メニューから自動更新が行われます。 |
⚠️ セキュリティ注意 – 署名済み・ノタライズ済みビルドは公式GitHubリポジトリとHomebrew caskのみ提供。サードパーティミラーは同名で関係のないWindowsペイロードを配布している場合があります。
⚡ クイックスタートガイド(READMEより)
- herdrm を起動 – まだデーモンが起動していなければ、ローカルで
herdrデーモンを自動起動します。 - (オプション)リモートデバイスを追加 – 例:
you@dev-box、you@dev-box:2222、またはTailscaleホスト。 - ⌘N を押して、デバイスとCLI(Claude、Codexなど)を選択 – そのライブターミナルに接続されます。
- ⌘K を押して検索し、任意のデバイス上の任意のエージェントやターミナルにジャンプ。
🏗️ アーキテクチャ(高レベル概要、READMEより)
herdr (バックグラウンドサーバー、PTYを所有) ──► UnixソケットRPC / SSHトンネル ──► HerdrKit (Swiftパッケージ、UI非依存のトランスポート&デバイスストア) ──► HerdrM (SwiftUIアプリ:サイドバー、ターミナル、検索、通知)
- herdr – Spaces、Agents、およびそれらのPTYを生成・永続化するデーモン。
- Packages/HerdrKit – ソケットRPC、SSHトンネリング、デバイス管理を処理するSwiftパッケージ。別途ユニットテスト可能(
make kit-test)。 - Sources/HerdrM – 実際のmacOSアプリ。SwiftTerm(Metalベースのターミナルエミュレータ)を基盤とし、SwiftUIでUIと接続。
🛠️ 開発と貢献
- ビルド要件:
brew install xcodegen。 - コマンド:
make build– xcodegenでXcodeプロジェクトを生成し、アプリをビルド(herdrm.app)。make run– ビルド済みアプリを起動。make kit-test– HerdrKitの統合テストを実行(ローカルのherdrデーモンが必要)。
- プロジェクトは初期段階:テストカバレッジは限られており、バグは予想されます。PRは歓迎。READMEの貢献ガイドラインに従ってください。
📄 ライセンス
- PolyForm Non-commercial 1.0.0 – 非営利利用、改変、共有は無料。営利利用はメンテナーより別途ライセンスが必要。
⚠️ 状態
- 初期段階 – 機能はしているが、自動テストで完全にカバーされていない。偶発的なクラッシュやエッジケースの対応不足がある可能性あり。
結論:すでに herdr AIコーディングエージェントランタイムを使っているなら、複数のデバイスを管理し、エージェントの状態を監視し、グラフィカルなアプリの快適さを保ちながら実際のPTYで作業したい場合、herdrm はまさにその目的のために作られたクライアントです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト