Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ between releases do not reach them. Remote-PC runtime bundles are versioned sepa

## [Unreleased]

### Added
- Chat reads Hermes Agent sessions from Hermes's own database (`~/.hermes/state.db`, profiles
and `HERMES_HOME` included): prompts, answers, reasoning and tool calls with their output,
instead of the terminal text. The session is the one herdr's Hermes integration reports, or
the one the pane's Hermes process holds; install the integration
(`herdr integration install hermes`) for the chat to follow a `/new` in the classic CLI.
Hermes's `terminal`, `read_file` and `write_file` calls count as commands, reads and edits.

## [0.4.3] - 2026-10-09

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ https://github.com/user-attachments/assets/d854dbb6-64bd-4eba-81c7-fbd3f525726b

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

- **チャットとターミナルを、ひとつのペインで** — Claude Code、Codex、omp、omo、gjc、pi の会話履歴と、herdr が識別した OpenCode 2 と Devin CLI のセッションを表示し、ワンクリックでライブターミナルに切り替えられます。エージェントの作業中に次のメッセージを書いておくと次のターンで送られ、Send now ですぐに送ることもできます。[対応エージェント →](docs/guide.md#supported-agents)
- **チャットとターミナルを、ひとつのペインで** — Claude Code、Codex、omp、omo、gjc、pi の会話履歴と、herdr や実行中のプロセスが識別した OpenCode 2、Devin CLI、Hermes Agent のセッションを表示し、ワンクリックでライブターミナルに切り替えられます。エージェントの作業中に次のメッセージを書いておくと次のターンで送られ、Send now ですぐに送ることもできます。[対応エージェント →](docs/guide.md#supported-agents)
- **タップで承認** — 承認リクエスト、質問、計画メニューがカードになり、問いかけがまだ有効か確認してから回答を送信します。
- **対応が必要なときに通知** — すべてのペインの状態をリアルタイムに表示し、アプリを開いているときは通知が上から降りてきます。入力が必要なときや完了したときには、アプリを閉じていてもプッシュ通知が届きます。
- **スマートフォンにインストール** — キーボードの上にキーバー(Esc、Tab、Ctrl、Alt、Shift、Enter、矢印キー)が並ぶ PWA。キーの並べ替えや独自のキー組み合わせの追加は Settings(設定)でできます。Tailscale のアドレスは QR コードで表示されます。[スマートフォンの設定 →](docs/guide.md#on-your-phone)
Expand Down Expand Up @@ -128,7 +128,7 @@ herdr が起動した状態で **[localhost:7317](http://localhost:7317)** を

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

Claude Code、Codex、omp、omo、gjc、pi は、それぞれのセッションファイルから読み取ります。OpenCode 2 は herdr が報告したセッションを OpenCode 自身のデータベースから読み取り、ホーム画面または 1.x のストアではライブターミナルを表示します。Devin CLI は `devin --resume <id>` のように herdr や実行中のプロセスがセッションを示すときにチャットになり、単に `devin` で起動した場合はライブターミナルを表示します。それ以外のプログラムはライブターミナルと状態が表示されます。[対応エージェント →](docs/guide.md#supported-agents)
Claude Code、Codex、omp、omo、gjc、pi は、それぞれのセッションファイルから読み取ります。OpenCode 2 は herdr が報告したセッションを OpenCode 自身のデータベースから読み取り、ホーム画面または 1.x のストアではライブターミナルを表示します。Devin CLI は `devin --resume <id>` のように herdr や実行中のプロセスがセッションを示すときにチャットになり、単に `devin` で起動した場合はライブターミナルを表示します。Hermes Agent は、herdr の Hermes 連携が報告したセッション、またはペインの Hermes プロセスが開いているセッションを Hermes 自身のデータベースから読み取ります。それ以外のプログラムはライブターミナルと状態が表示されます。[対応エージェント →](docs/guide.md#supported-agents)

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

Expand Down
4 changes: 2 additions & 2 deletions README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ https://github.com/user-attachments/assets/d854dbb6-64bd-4eba-81c7-fbd3f525726b

<p align="center"><sub>모든 클립은 데스크톱과 폰을 동시에 녹화한 실제 동작이며, 실제 속도로 컷 없이 담았습니다. 누르면 전체 영상을 볼 수 있습니다.</sub></p>

- **채팅과 터미널을 pane 하나에** — Claude Code, Codex, omp, omo, gjc, pi의 대화 기록과 herdr가 식별한 OpenCode 2와 Devin CLI 세션을 보여 주고, 클릭 한 번이면 라이브 터미널로 넘어갑니다. 에이전트가 일하는 동안 다음 메시지를 써 두면 다음 턴에 들어가고, Send now로 바로 보낼 수도 있습니다. [지원 에이전트 →](docs/guide.md#supported-agents)
- **채팅과 터미널을 pane 하나에** — Claude Code, Codex, omp, omo, gjc, pi의 대화 기록과 herdr나 실행 중인 프로세스가 식별한 OpenCode 2, Devin CLI, Hermes Agent 세션을 보여 주고, 클릭 한 번이면 라이브 터미널로 넘어갑니다. 에이전트가 일하는 동안 다음 메시지를 써 두면 다음 턴에 들어가고, Send now로 바로 보낼 수도 있습니다. [지원 에이전트 →](docs/guide.md#supported-agents)
- **탭 한 번으로 승인** — 승인 요청, 질문, 계획 메뉴가 카드로 뜹니다. 답을 보내기 전에 그 질문이 아직 유효한지 확인합니다.
- **내가 필요할 때 알림** — 모든 pane의 상태를 실시간으로 보여 주고, 앱을 보고 있을 때는 알림이 위에서 내려오며, 에이전트가 입력을 기다리거나 일을 끝내면 앱이 닫혀 있어도 푸시 알림을 보냅니다.
- **폰에 설치해서 쓰기** — 키보드 위에 키 바(Esc, Tab, Ctrl, Alt, Shift, Enter, 방향키)가 붙은 PWA입니다. 키 순서를 바꾸거나 나만의 키 조합을 Settings(설정)에서 추가할 수 있습니다. Tailscale 주소는 QR 코드로 받아 갑니다. [폰 설정 →](docs/guide.md#on-your-phone)
Expand Down Expand Up @@ -128,7 +128,7 @@ herdr가 실행 중인 상태에서 **[localhost:7317](http://localhost:7317)**

**채팅 화면은 어떤 에이전트를 지원하나요?**

Claude Code, Codex, omp, omo, gjc, pi는 각자의 세션 파일에서 읽습니다. OpenCode 2는 herdr가 보고한 세션을 OpenCode 데이터베이스에서 읽으며, 홈 화면이나 1.x 저장소에서는 라이브 터미널을 표시합니다. Devin CLI는 `devin --resume <id>`처럼 herdr나 실행 중인 프로세스가 세션을 알려 줄 때 채팅으로 보이고, 그냥 `devin`으로 띄우면 라이브 터미널로 보입니다. 그 밖의 프로그램은 라이브 터미널과 상태로 보입니다. [지원 에이전트 →](docs/guide.md#supported-agents)
Claude Code, Codex, omp, omo, gjc, pi는 각자의 세션 파일에서 읽습니다. OpenCode 2는 herdr가 보고한 세션을 OpenCode 데이터베이스에서 읽으며, 홈 화면이나 1.x 저장소에서는 라이브 터미널을 표시합니다. Devin CLI는 `devin --resume <id>`처럼 herdr나 실행 중인 프로세스가 세션을 알려 줄 때 채팅으로 보이고, 그냥 `devin`으로 띄우면 라이브 터미널로 보입니다. Hermes Agent는 herdr의 Hermes 통합이 알려 준 세션이나 pane의 Hermes 프로세스가 열고 있는 세션을 Hermes 자체 데이터베이스에서 읽습니다. 그 밖의 프로그램은 라이브 터미널과 상태로 보입니다. [지원 에이전트 →](docs/guide.md#supported-agents)

**herdr의 TUI를 대체하나요?**

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ A browser and phone client for [herdr](https://github.com/herdrdev/herdr). Read

<p align="center"><sub>Each clip is a live recording of the desktop and a phone at once, in real time with no cuts. Click one for the full video.</sub></p>

- **Chat and terminal, one pane** — native Claude Code, Codex, omp, omo, gjc and pi transcripts, plus OpenCode 2 and Devin CLI sessions herdr identifies, with the live terminal a click away. Write the next message while the agent works: it goes in with the next turn, or at once with Send now. [Supported agents →](docs/guide.md#supported-agents)
- **Chat and terminal, one pane** — native Claude Code, Codex, omp, omo, gjc and pi transcripts, plus OpenCode 2, Devin CLI and Hermes Agent sessions herdr or the running process identifies, with the live terminal a click away. Write the next message while the agent works: it goes in with the next turn, or at once with Send now. [Supported agents →](docs/guide.md#supported-agents)
- **Approve with a tap** — approvals, questions and plan menus become cards, checked to be current before your answer is sent.
- **Know when you're needed** — live status for every pane, an alert that drops in while the app is open, and push alerts when an agent needs input or finishes, even with the app closed.
- **Install it on your phone** — a PWA with a key bar above the keyboard (Esc, Tab, Ctrl, Alt, Shift, Enter, arrows) that you can rearrange and extend with your own combinations in Settings, and a QR code to your Tailscale address. [Phone setup →](docs/guide.md#on-your-phone)
Expand Down Expand Up @@ -123,7 +123,7 @@ Yes. Run the agent in a [herdr](https://github.com/herdrdev/herdr) pane on your

**Which agents does the chat view support?**

Claude Code, Codex, omp, omo, gjc and pi are read from their own session files. For OpenCode 2, the chat reads the session herdr reports from OpenCode's database; the home screen and OpenCode 1.x use the live terminal instead. Devin CLI is a chat when herdr or the running process names its session, as `devin --resume <id>` does; a plain `devin` shows the live terminal. Any other program in a herdr pane gets the live terminal and its status. [Supported agents →](docs/guide.md#supported-agents)
Claude Code, Codex, omp, omo, gjc and pi are read from their own session files. For OpenCode 2, the chat reads the session herdr reports from OpenCode's database; the home screen and OpenCode 1.x use the live terminal instead. Devin CLI is a chat when herdr or the running process names its session, as `devin --resume <id>` does; a plain `devin` shows the live terminal. Hermes Agent is read from its own database, for the session herdr's Hermes integration reports or the pane's Hermes process holds. Any other program in a herdr pane gets the live terminal and its status. [Supported agents →](docs/guide.md#supported-agents)

**Does it replace herdr's own TUI?**

Expand Down
4 changes: 2 additions & 2 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ https://github.com/user-attachments/assets/d854dbb6-64bd-4eba-81c7-fbd3f525726b

<p align="center"><sub>每段片段都是同时录制电脑和手机的真实操作,实时、无剪辑。点击可播放完整视频。</sub></p>

- **聊天与终端,共用一个窗格** — 阅读 Claude Code、Codex、omp、omo、gjc 和 pi 的原生会话记录,以及 herdr 识别出的 OpenCode 2 和 Devin CLI 会话,一键切换到实时终端。智能体工作时可以先写好下一条消息,它会在下一轮发出,也可以用 Send now 立即发送。[支持的智能体 →](docs/guide.md#supported-agents)
- **聊天与终端,共用一个窗格** — 阅读 Claude Code、Codex、omp、omo、gjc 和 pi 的原生会话记录,以及 herdr 或运行中的进程识别出的 OpenCode 2、Devin CLI 和 Hermes Agent 会话,一键切换到实时终端。智能体工作时可以先写好下一条消息,它会在下一轮发出,也可以用 Send now 立即发送。[支持的智能体 →](docs/guide.md#supported-agents)
- **轻点即可批准** — 审批请求、问题和计划菜单会显示为卡片,发送回答前会先确认提示仍然有效。
- **需要你时及时提醒** — 实时显示每个窗格的状态;应用打开时提醒会从顶部滑下;智能体需要输入或完成任务时发送推送通知,即使应用已关闭也能收到。
- **安装到手机** — PWA 在键盘上方提供按键栏(Esc、Tab、Ctrl、Alt、Shift、Enter 和方向键),可在 Settings(设置)中调整顺序或添加自定义组合键;Tailscale 地址以二维码显示。[手机设置 →](docs/guide.md#on-your-phone)
Expand Down Expand Up @@ -128,7 +128,7 @@ herdr plugin install devswha/herdr-web-ui

**聊天视图支持哪些智能体?**

Claude Code、Codex、omp、omo、gjc 和 pi 直接从各自的会话文件读取。OpenCode 2 会从 OpenCode 自己的数据库读取 herdr 报告的会话;处于主屏幕或使用 1.x 数据库时则显示实时终端。Devin CLI 在 herdr 或运行中的进程指明其会话时(例如 `devin --resume <id>`)显示为聊天,直接运行 `devin` 则显示实时终端。其他程序显示实时终端和状态。[支持的智能体 →](docs/guide.md#supported-agents)
Claude Code、Codex、omp、omo、gjc 和 pi 直接从各自的会话文件读取。OpenCode 2 会从 OpenCode 自己的数据库读取 herdr 报告的会话;处于主屏幕或使用 1.x 数据库时则显示实时终端。Devin CLI 在 herdr 或运行中的进程指明其会话时(例如 `devin --resume <id>`)显示为聊天,直接运行 `devin` 则显示实时终端。Hermes Agent 会从 Hermes 自己的数据库读取 herdr 的 Hermes 集成报告的会话,或窗格中 Hermes 进程持有的会话。其他程序显示实时终端和状态。[支持的智能体 →](docs/guide.md#supported-agents)

**它会取代 herdr 自带的 TUI 吗?**

Expand Down
10 changes: 10 additions & 0 deletions docs/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ Every agent herdr runs shows up with its live status, terminal and alerts. The c
| **pi** | Native session file, resolved through herdr; after `/tree`, the branch in play | ✓ its dialogs: a question, a confirmation, an answer typed in |
| **OpenCode** | Native session in OpenCode 2's own database, resolved through herdr: `~/.local/share/opencode/opencode.db` (`%USERPROFILE%\.local\share\opencode\opencode.db` on Windows), or where the server's `XDG_DATA_HOME` or `OPENCODE_DB` puts it | — use Terminal |
| **Devin CLI** | Native SQLite session, showing the active branch when herdr or the live process explicitly identifies the session; otherwise terminal text | — use Terminal |
| **Hermes Agent** | Native session in Hermes's own database, `~/.hermes/state.db` (a profile's under `~/.hermes/profiles/<name>`, or where the server's `HERMES_HOME` puts it), for the session herdr's Hermes integration reports or the pane's Hermes process holds | — use Terminal |
| **Anything else** | The terminal's text | — use Terminal |

Devin sessions are never selected by directory or recency alone. A plain `devin` shows the
Expand All @@ -151,6 +152,15 @@ unreadable history uses the terminal-text fallback, including histories beyond t
Terminal for the rest. The database is opened read-only, though SQLite may create its
WAL coordination files beside it.

Hermes sessions are not selected by directory or recency either. With herdr's Hermes integration
(`herdr integration install hermes`), the chat follows the session the pane shows, through `/new`
too. Without it, the chat reads the session the pane's Hermes process holds in Hermes's own
registry (`runtime/active_sessions.json`), in the classic CLI and in `hermes --tui`; but the
classic CLI keeps holding the session a `/new` ended, so after a `/new` that pane shows the
terminal text until the integration is installed. A session before its first message is an empty
chat. Long tool output is shortened; the tool row opens it whole. The database is opened
read-only for each read.

When the last visible line is a familiar password, SSH passphrase or PIN request, both
views show a **Password or PIN** field. It hides what you type and sends it directly
to the terminal with Enter. The value is cleared on send, cancel, disconnect, pane
Expand Down
Loading