---
title: コンセプト
description: Herdr のワークスペース、タブ、ペイン、エージェント、セッション、モードを理解します。
---

Herdr はターミナルワークスペースマネージャーです。実際のターミナルプロセスを動かし続け、その周りに構造を加えます。

## ワークスペース

ワークスペースは最上位のプロジェクトコンテナです。リポジトリ、タスク、調査ごとにひとつのワークスペースを使ってください。

ワークスペースはタブとペインを所有します。サイドバーの状態は内部のエージェントから集約されるので、どのプロジェクトが注意を必要としているかが分かります。

## タブ

タブはワークスペース内のレイアウトです。`agents`、`logs`、`server`、`review` のようにビューを分けるために使います。

タブは CLI とソケット API からアドレス指定できます。

## ペイン

ペインは実際のターミナルです。Herdr はターミナル出力を描画し、入力をプロセスに送り返し、クライアントのデタッチ後もペインを維持します。

ペインは右または下に分割できます。手動での名前変更、CLI からの読み取り、入力の送信、クローズができます。

## マウス UI

Herdr はマウスネイティブです。ペイン、タブ、ワークスペース、エージェントをクリックできます。分割境界のドラッグ、テキスト選択、右クリックメニューも使えます。以下で説明する操作はすべてマウスでも行えます。キーボードバインドは任意のレイヤーです。

キーボードのみで操作したい場合や、Herdr にマウス入力をキャプチャさせたくない場合は、マウスキャプチャを無効にしてください:

```toml
[ui]
mouse_capture = false
```

## エージェント

エージェントは、Herdr がペイン内で認識するプロセスです。Herdr はフォアグラウンドプロセス、スクリーンマニフェスト、任意のインテグレーションからエージェントを検出します。

エージェントの状態は次のとおりです:

| 状態 | 意味 |
| --- | --- |
| `blocked` | エージェントが入力、承認、または判断を必要としている。 |
| `working` | エージェントが実行中。 |
| `done` | エージェントが完了し、まだ確認されていない。 |
| `idle` | エージェントが完了または待機していて、確認済み。 |
| `unknown` | Herdr が状態を確信を持って分類できない。 |

## セッション

セッションは永続的な Herdr サーバーの名前空間です。デフォルトの `herdr` コマンドはデフォルトセッションにアタッチします。

名前付きセッションは独立したランタイム名前空間です:

```bash
herdr session list
herdr session attach work
herdr session attach side-project
```

まずはワークスペースを使ってください。ペイン、ソケット、永続化されたランタイム状態を完全に分離する必要があるときに名前付きセッションを使います。

## クライアントとサーバー

デフォルトでは、Herdr はバックグラウンドサーバーと、それにアタッチした 1 つ以上のクライアントとして動作します。

サーバーはペインとプロセス状態を所有します。クライアントはそのサーバーにアタッチしたターミナル UI です。

`ctrl+b q` でクライアントをデタッチします。サーバーとエージェントは動き続けます。

セッションを終了してそのペインを停止したい場合は、サーバーを停止します:

```bash
herdr server stop
```

## モード

Herdr にはターミナルモード、プレフィックスモード、ナビゲートモードがあります。

ターミナルモードはフォーカス中のペインにキーを送ります。プレフィックスモードはプレフィックスキーの後に Herdr のアクションをひとつ待ちます。ナビゲートモードは常駐のワークスペースナビゲーション画面です。

プレフィックスキー (デフォルト `ctrl+b`) を押してから、新しいタブなら `c`、ワークスペースナビゲーションなら `w` のようにアクションキーを押します。プレフィックスの考え方が初めてなら[キーボード](/ja/docs/keyboard/)を参照してください。
