GitHub Hot Board

GitHub Hot Board · リポジトリアーカイブ

devswha/ovis

Ovis (formerly herdr web UI): free, open-source browser and phone client for herdr. Chat and live terminal for Claude Code, Codex and every agent pane, remote PCs over SSH, web push alerts (説明はリポジトリ自身のドキュメント由来です。)

データ時点 October 23devswha

最高順位

#76

ダークホース · 埋もれた本命

1.4K

累計スター

201

フォーク数

2

直近 30 日のランクイン日数

プロジェクト文書

Ovis

Ovis は herdr のためのブラウザとスマートフォンのクライアントです。

Ovis

English · 简体中文 · 日本語 · 한국어

公式サイト · インストール · デモを試す · クイックスタート · よくある質問 · ドキュメント

MIT ライセンス GitHub スター数 最新リリース herdr 0.9.0+ インストール可能な PWA


herdr-web-ui.mp4

1 つの Claude Code セッションを、herdr のターミナルからブラウザのターミナルとチャットへ、そしてスマートフォンへ。スマートフォンでは新しい worktree をすぐ隣に起動 · 実際の動作を収録、カットなし

Claude Code と Codex を、スマートフォンから。

herdr のブラウザ・スマートフォン向けクライアントです。自分のコンピューターで実行中の同じエージェントセッションを、パソコンでもスマートフォンでもチャットで読んで返答できます。必要なときはターミナルも使えます。

実際の動作の録画。ブラウザの Chat に Claude Code の返答があり、Terminal をクリックすると同じペインが Claude Code 自身のターミナルとして表示され、src/server.test.ts にテスト「unknown refund is 404」を追加した編集が見えます。スマートフォンでは tests タブのターミナルで、キーバーの ↑ で bun test を呼び出し、キーバーの Enter で実行します:5 pass, 0 fail。
ライブターミナルに切り替える
クリック 1 回でチャットがそのペインの本物のターミナルに切り替わり、スマートフォンではキーバーの ↑ でテストのコマンドを呼び出して、隣の Enter で再実行します。
実際の動作の録画。ブラウザに herdr のレイアウトが表示されます。サイドバーの 4 つのワークスペースは、各行の末尾にエージェントの状態を示し(Claude が作業を終えた checkout-api は緑の点、Codex が作業中の web-dashboard は回る弧、infra と release は表示なし)、checkout-api には payments と dev のタブがあります。dev タブをクリックすると最初のペイン tests に bun test の 4 pass が表示され、タブのペインメニューには分割された 2 つのペイン tests と git が並び、git をクリックするとその git log が表示され、checkout-api の行に git と表示されます。スマートフォンでは ☰ で同じ状態の同じ 4 つのワークスペースが開き、checkout-api をタップすると Claude のチャットが開きます:「What does this repo do? Answer in one line.」とその回答。
herdr のレイアウトをブラウザで
ワークスペース、タブ、分割ペイン、そして各エージェントの状態がそのまま。タブをクリックし、分割のペインを選び、スマートフォンからワークスペースを切り替えます。
実際の動作の録画。ブラウザで Claude が checkout-api の作業をしている間、スマートフォンは別のワークスペースのターミナルを表示しています。Claude がどのレート制限を使うか尋ねると、スマートフォンに「checkout-api Needs input」という通知が降りてきて、タップすると質問がカードとして開きます。ブラウザでは checkout-api の行と Agents の下のその行に赤い疑問符が表示され、同じカードがチャットで待っています。
エージェントに呼ばれたらすぐ分かる
別のワークスペースを見ていても、Claude が質問すると通知が降りてきて、タップ 1 回で質問が開きます。
実際の動作の録画。スマートフォンで checkout-api の空のチャットが「What should Claude do in checkout-api?」と尋ねています。+ ボタンで合計が $NaN と表示されたレシートのスクリーンショットを添付するとパスが挿入され、「Fix this, with a test.」と入力して送信します。スクリーンショット付きのメッセージがスマートフォンとデスクトップのチャットに表示されるあいだにカメラが引き、デスクトップのチャットに寄ります。動画全体では、続いて Claude が src/routes/receipt.ts と src/server.ts を読む最初のコマンドを実行します。
スマートフォンからスクリーンショットを送る
+ ボタンでペインのフォルダーにアップロードしてパスを挿入。Claude が画像を読みます。
実際の動作の録画。ブラウザのターミナルで Claude Code が bench/p95.svg を書き出しました。回答内のパスをクリックするとファイルビューアーでグラフが開き、スマートフォンのチャットで同じパスをタップすると全画面で開きます。
エージェントが作ったファイルを開く
ターミナルのパスをクリック、またはチャットのパスをタップすると、その場でファイルが開きます。
実際の動作の録画。スマートフォンで checkout-api の ⋯ メニュー → New worktree を開くと、ブランチ worktree/clear-field-23e0 が入力済みのフォームが表示され、Claude Code を選んで Create worktree をタップします。カメラがブラウザに移ると、checkout-api のフォルダーが開き、その下に新しいチェックアウトが Claude として入れ子で表示されています。続いてその行は worktree-clear-field-23e0 の上に Claude Code と表示され、Agents 一覧には 4 つ目のエージェントとして加わります。
2 つ目のエージェントを分岐させる
スマートフォンで ⋯ → New worktree。ブランチは入力済み、エージェントを選べば最初のものの隣で起動します。

どのクリップも、パソコンとスマートフォンを同時に収録した実際の動作です。等速・カットなし。クリックすると動画全体を再生できます。

  • チャットとターミナルを、ひとつのペインで — Claude Code、Codex、omp、omo、gjc、pi、Hermes の会話履歴と、特定できた OpenCode、Devin CLI のセッションを表示します。Linux の Grok と実験的な Antigravity(agy)も、後述の条件で対応しています。ワンクリックで同じペインのターミナルに切り替えられます。作業中のメッセージはキューに入れて次のターンで送るか、Send now ですぐに送れます。対応エージェント →
  • タップで承認 — 対応する承認リクエスト、質問、計画メニューがカードになり、問いかけがまだ有効か確認してから回答を送信します。カードに対応していない要求にはターミナルで回答します。
  • 対応が必要なときに通知 — すべてのペインの状態をリアルタイムに表示し、アプリを開いているときは通知が上から降りてきます。入力が必要なときや完了したときには、アプリを閉じていてもプッシュ通知が届きます。
  • スマートフォンにインストール — キーボードの上にキーバー(Esc、Tab、Ctrl、Alt、Shift、Enter、矢印キー)が並ぶ PWA。キーの並べ替えや独自のキー組み合わせの追加は Settings(設定)でできます。Tailscale のアドレスは QR コードで表示されます。スマートフォンの設定 →
  • 話して入力 — チャットやターミナルの入力欄に音声で入力できます。日本語などの認識言語を選べ、コード用語の英語も認識対象になります。文字起こしした文章は入力欄に入り、エージェントへ自動送信されることはありません。自分の OpenAI API キー、またはブラウザの音声認識を使います。録音などの外部送信については音声入力を参照してください。
  • リポジトリの変更を確認 — ファイルブラウザーから作業ツリー、ステージ済みの変更、コミット間の比較を開き、リポジトリを変更せずにファイルごとの差分を読めます。
  • いつもの作業環境をそのままに — エージェントは herdr が管理し、このアプリはそこに接続します。エージェントを止めずに Settings(設定)からアップデートでき、アップデートごとの変更はパッチノートで確認できます。新しいタブや worktree は行の ⋯ メニューから作れます。すべての機能 →

インストール

curl -fsSL https://ovis.sh/install.sh | sh

glibc を使う Linux(x64、arm64)と macOS(Intel、Apple Silicon)に対応しています。Alpine(musl)と 32 ビット ARM は対象外です。curl、Git、tar が必要で、Bun がない場合は Bash と unzip も必要です。必要なバージョンは herdr 0.9.0+、Bun 1.4+、Node 18+ です。不足するツールを現在のユーザー向けにインストールし、古い Bun は更新します。Node がない、または 18 より古い場合は Node 22 をインストールし、その後アプリを herdr プラグインとしてインストールします。既存の herdr が 0.9.0 より古い場合は、自分で herdr を更新・再起動してからインストーラーを再実行してください。

デフォルトの待ち受けアドレスを使用し、Tailscale が起動している場合、HTTPS の設定に成功すると tailnet 内のアドレスと QR コードが表示されます。トークンを設定していない場合、tailscale serve がこの PC の所有者と同じログイン名を伝える自分のデバイスは、通常コードなしで接続できます。それでも自分のスマートフォンがペアリングを求められる場合、OVIS_TAILSCALE_SERVE_ONLY=1 でログイン情報のない接続を許可できるのは、Tailscale が単一のログインの所有する tailnet でタグ付きノードもないことを確認でき、serve がこのポートへの唯一の経路である場合だけです。公開プロキシやトンネルなど別の経路でこのポートに届く場合は設定しないでください(アクセスと安全性)。

Windows x64 では PowerShell で:

irm https://ovis.sh/install.ps1 | iex

Git for Windows が必要です。足りない herdr と Bun を現在のユーザー向けにインストールし、同じプラグインをインストールします。Node や WSL は不要です。スマートフォンから使うには herdr で Phone setup を開いてください。herdr が Windows でターミナルのアタッチに対応するまで、Windows のターミナルは入力でき、グリッドが固定された画面ミラーになります。

インストーラーの出力:Bun、Node、herdr プラグインのインストール後、tailscale serve でアプリへのアクセスを有効にし、スマートフォン用の QR コードを表示します。

herdr 0.9.0+、Bun 1.4+、Node 18+ がすでにそろっている場合は、プラグインだけをインストールできます。Windows では Node は不要です。

herdr plugin install devswha/ovis

古い herdr は先に更新・再起動してください。各手順と問題の対処方法は INSTALL.md を参照してください。

herdr が起動した状態で、インストーラーが表示または開いたアドレスを使います。通常は 127.0.0.1:7317 ですが、そのポートが使用中ならプラグインは別のポートを選んで記憶します。プラグインだけをインストールした場合は、herdr の Start Ovis を実行してください。デスクトップ環境のある PC への新規インストールではブラウザーが自動で開きます。アドレスバーの Install でアプリを追加し、同じアドレスを使い続けてください。127.0.0.1 と localhost はブラウザーにとって別のアプリのアドレスです。自動で開くのを省くには、インストール前に OVIS_NO_OPEN=1 を設定します。ペインを選ぶか、New workspace(新規ワークスペース) からエージェントを起動してください。スマートフォンではインストーラーの QR コード(herdr の Phone setup でも確認できます)を読み取り、ホーム画面に追加します。クイックスタート →

サーバーのデフォルトの待ち受けアドレスは 127.0.0.1 です。別のデバイスからアクセスする場合は、スマートフォンの設定とアクセスと安全性を参照してください。

よくある質問

Claude Code や Codex をスマートフォンから使えますか?

はい。コンピューターの herdr のペインでエージェントを動かすと、このアプリが同じペインをスマートフォンのブラウザに表示します。エージェント自身の会話履歴はチャットとして、承認や質問はタップして答えるカードとして表示され、ライブターミナルにもすぐ切り替えられます。PWA としてホーム画面にインストールでき、エージェントが入力を待つとプッシュ通知が届きます。スマートフォンの設定 →

チャット表示はどのエージェントに対応していますか?

Claude Code、Codex、omp、omo、gjc、pi、Hermes は各自のセッションストアを読み取ります。GJC のチャットと完了通知は、Web UI のネイティブ GJC 拡張でアクティブなセッションを特定します。SDK ブローカーや CLI での照会は使いません。拡張をインストールして GJC を再起動すると有効になります。セッションを一意に特定できなければ、ターミナルと herdr 自身のステータスを使います。OpenCode は、対応する 2.x および 1.x の SQLite スキーマから herdr が報告したセッションを読み取ります。開始画面、セッション ID がない場合、未対応・読み取り不能・サイズ制限超過のストアではターミナルを表示します。Devin CLI は devin --resume <id> のように herdr または実行中のプロセスがセッションを明示する場合にチャットを表示し、単に devin で起動した場合はターミナルを表示します。

Grok のチャットは Linux のみで、プロセスが保持するセッションが 1 つだけで、herdr の報告と一致する場合に対応します。macOS、Windows、セッションを一意に特定できない場合はターミナルを表示します。Antigravity(agy)は実験的な対応で、実行中のプロセスが保持する会話ロックから履歴を特定します。Linux は実機検証済み、macOS は未検証、Windows はターミナル表示です。対応していない、または読み取れる履歴がない場合もターミナルを表示します。対応エージェント →

herdr の TUI の代わりになるものですか?

いいえ。どちらも同じターミナルに同時に接続するので、ペインは机の上でも、ブラウザでも、スマートフォンでもそのまま動き続けます。止めたり引き渡したりするものはありません。 TUI とブラウザ →

Tailscale は必須ですか?

いいえ。Tailscale、SSH トンネル、VPN、または自分で設定した HTTPS プロキシで PC に接続できます。Portal 2.6.1 以降を別途インストールすれば、任意の Portal 連携で公開 HTTPS アドレスを管理することもできます。OVIS_TOKEN と信頼できるリレーが必要で、OVIS_TAILSCALE_SERVE_ONLY は無効にする必要があります。アプリのインストールとプッシュ通知には HTTPS や localhost などのセキュアなコンテキストが必要ですが、基本的な閲覧は LAN 上の通常の HTTP アドレスでもできます。ほかの方法 →

コードや会話が自分のマシンの外に出ることはありますか?

セッションファイルは各エージェントを実行している PC に残り、その内容は接続したブラウザーへ送られます。このアプリ独自のクラウド中継やアカウントサービスはありません。任意の音声入力は録音を、文章の整形も使う場合はテキストも、設定したプロバイダーへ送ります。ブラウザーの音声認識もブラウザー提供元のサービスを使う場合があります。使用量表示はプロバイダーの API に接続し、更新、リモート PC の設定、プッシュ通知も外部サービスを使うことがあります。Portal を有効にすると、接続は選んだリレーを経由します。リレーは接続のメタデータを確認でき、アドレスの証明書を保持するため、信頼できるリレーを使ってください。

匿名の使用状況の集計はデフォルトで有効です。アプリ内で通知を表示し、10 分の猶予期間を置いてから、インストール・更新の集計を送信できます。ランダムなインストール ID、バージョン(更新前のバージョンを含む)、OS、CPU アーキテクチャ、インストール方法、許可リストにあるアプリ設定のスナップショットが含まれます。独自のテキストやアカウント識別子は省略または要約し、コード・会話・ファイルは収集しません。リポジトリ内の受信サーバーは Cloudflare が提供する国コードを追加しますが、IP アドレスは保存しません。アクティビティの集計には、アプリを開いた日(UTC)のエージェントの種類が含まれ、新しい種類が現れると同じ日の集計を再送することがあります。Settings → About → Anonymous usage counts で内容を確認して無効にでき、OVIS_TELEMETRY=0 または DO_NOT_TRACK=1 でも停止できます。エージェント自身のモデルへの接続は、そのエージェントの設定によります。データの送信とアクセス →

ランダムな ID で同じインストールの集計を関連付けられるため、完全な匿名性を保証するものではありません。

Windows でも動きますか?

はい。Windows x64 で、WSL なしで動きます。herdr が Windows でターミナルのアタッチに対応するまで、ターミナルは入力ができる固定グリッドの画面ミラーです。

collie、roamgate、herdr-remote とは何が違いますか?

これらも herdr をスマートフォンやブラウザーから使うためのクライアントです。このアプリはエージェント自身の会話履歴を読み、作業がターンごとに折りたたまれたチャットを表示し、ほかの PC はサイドバーから SSH で追加します。リポジトリの差分表示に対応し、別途インストールした Portal トンネルも管理できますが、扱うのは herdr のみで、トンネル自体は同梱しません。tmux、zellij、Telegram が必要なら、ほかのクライアントの対応範囲を比較してください。詳しい比較 →

Happy、Paseo、CloudCLI UI とは何が違いますか?

これらのプロジェクトには、エージェントのセッションを開始・管理する独自の仕組みがあります。このアプリは、すでに動いている herdr のペインを表示し、TUI とブラウザで同じターミナルを使い続けられます。herdr を使っていなければ、それらの導入方法と対応エージェントを比較してみてください。詳しい比較 →

ドキュメント

まずはユーザーガイドをご覧ください:クイックスタート · 対応エージェント · 機能 · スマートフォン · リモート PC · アクセスと安全性 · 設定 · キーボードショートカット · よくある質問。

さらに詳しく:仕組み · チャットの会話履歴 · ターミナルのフロー制御 · アプリのアップデート · 変更履歴。

謝辞

herdr を基盤とし、chatmux から着想を得て、xterm.js、React、Bun、Lucide を使用しています。

@Yoonwoo-Ha をはじめ、貢献してくださったすべての方に感謝します。

エージェント向けの手順

アプリのインストールを支援する場合は、INSTALL.md に従ってください。リポジトリを変更する場合は、CONTRIBUTING.md、レビュールール、AGENTS.md に従ってください。

開発

git clone https://github.com/devswha/ovis.git
cd ovis
bun install

bun run server      # API + WebSocket on :7317
bun run dev         # Vite on :5173; run in a second terminal
bun run typecheck
bun run test:unit   # no herdr needed
bun test           # isolated herdr test session
bun run test:ui    # browser regression checks

変更の送り方は CONTRIBUTING.md、テスト、メディア素材、リリースについては開発ドキュメント、UI の規約については DESIGN.md を参照してください。セキュリティの問題は SECURITY.md の手順で非公開で報告してください。

ライセンス

MIT。Copyright © 2026 devswha.

現在のランクイン

直近30日の推移

スター累計の推移

ランキング推移

同ランキングで競う隣接リポジトリ

← ランキングへ戻る