docs: add seminar scripts & assets, update Herdr guide and multi-agent documentation
This commit is contained in:
1 parent
d4e1246138
commit
b3ad3831a6
38 files changed
+363
-22
No files matched your search
@@ -2,7 +2,34 @@
|
||||
|
||||
## 소개
|
||||
|
||||
Herdr는 "코딩 에이전트를 위한 tmux"라고 볼 수 있는 터미널 워크스페이스 매니저(agent multiplexer)입니다. 여러 AI 코딩 에이전트(Claude Code, Codex 등)를 각각 실제 터미널 pane에서 실행하면서, 어떤 에이전트가 작업 중인지 / 입력을 기다리는지(blocked) / 끝났는지를 사이드바에서 한눈에 확인할 수 있고, detach해도 백그라운드에서 계속 실행됩니다. Rust로 작성된 로컬 바이너리이며 별도의 GUI 앱이나 클라우드 계정이 필요 없습니다.
|
||||
### TMUX란?
|
||||
|
||||
**TMUX(Terminal Multiplexer)**는 하나의 터미널 창/세션 안에서 여러 개의 가상 터미널(Window 및 Pane)을 생성, 접근, 제어할 수 있게 해주는 텍스트 기반 터미널 다중화(Multiplexing) 도구입니다.
|
||||
|
||||
#### 등장 배경
|
||||
- **세션 유실 문제**: 기본 터미널 환경에서는 SSH 원격 접속이 끊어지거나 터미널 창을 닫으면 실행 중이던 장시간 작업(서버 실행, 빌드, 데이터 처리 등)이 강제 종료되는 한계가 있었습니다.
|
||||
- **멀티태스킹의 불편함**: 단일 원격 세션에서 여러 작업을 동시에 모니터링하고 제어하려면 매번 새 SSH 접속을 추가로 열어야 했습니다.
|
||||
- 이러한 한계를 극복하고 **세션의 지속성(Persistence)**과 효율적인 터미널 멀티태스킹을 지원하기 위해 등장했습니다.
|
||||
|
||||
#### 주요 기능
|
||||
- **세션 분리 및 재연결 (Detach & Attach)**: 터미널 접속이 끊겨도 백그라운드에서 프로세스가 계속 실행되며, 언제든 기존 세션에 다시 재연결(Attach)하여 이전 상태 그대로 작업을 이어갈 수 있습니다.
|
||||
- **화면 분할 및 창 관리 (Window & Pane)**: 하나의 터미널 화면을 상하/좌우 패널(Pane)로 자유롭게 분할하거나 여러 탭(Window)을 생성하여 다중 작업을 한눈에 관리할 수 있습니다.
|
||||
- **세션 공유**: 동일한 tmux 세션에 여러 사용자가 동시 접속하여 실시간 화면 공유 및 원격 협업이 가능합니다.
|
||||
|
||||
### HERDR란?
|
||||
|
||||
**Herdr**는 AI 코딩 에이전트 다중화 및 상태 관리에 특화된 **터미널 워크스페이스 매니저(Agent Multiplexer)**입니다. "코딩 에이전트를 위한 tmux"로서 여러 AI 에이전트(Claude Code, Codex 등)를 개별 터미널 패널(Pane)에서 병렬로 실행하고 통합 제어할 수 있는 Rust 기반 로컬 바이너리 도구입니다.
|
||||
|
||||
#### 등장 배경
|
||||
- **AI 에이전트 모니터링의 복잡성**: 기존 tmux 환경에서는 여러 AI 에이전트를 동시 실행할 때 각 패널의 입출력 및 완료/대기 상태(`blocked`, `working`, `done`)를 한눈에 파악하기 어려웠습니다.
|
||||
- **오케스트레이션 및 자동화 한계**: 스크립트나 외부 오케스트레이터가 개별 터미널 패널과 프로그래밍 방식으로 상호작용(명령 입력, 결과 캡처, 상태 대기)할 표준 인터페이스가 부족했습니다.
|
||||
- 이러한 한계를 극복하여 **AI 에이전트 중심의 상태 모니터링**과 **소켓 기반 프로그래밍 제어**가 가능한 터미널 작업 환경을 제공하기 위해 등장했습니다.
|
||||
|
||||
#### 주요 기능
|
||||
- **에이전트 상태 모니터링 사이드바**: 각 패널에서 실행 중인 에이전트의 상태(`working`, `blocked`, `done`, `idle`)를 사이드바에서 한눈에 확인 가능합니다.
|
||||
- **소켓 API & CLI 프로그래밍 제어**: CLI 및 소켓 인터페이스를 통해 명령 전송(`pane run`), 결과 읽기(`pane read`), 상태 대기(`wait agent-status`) 등 자동화 연동을 지원합니다.
|
||||
- **세션 지속성 및 원격 재연결 (Detach & Attach)**: 클라우드 계정이나 GUI 없이 백그라운드 세션을 유지하여 SSH/원격 접속 시에도 기존 에이전트 세션에 그대로 재연결할 수 있습니다.
|
||||
- **워크스페이스/세션 격리**: 프로젝트 단위의 워크스페이스(Workspace)와 독립 세션(Session) 분리를 통해 복수의 코딩 작업을 완전히 격리하여 운용할 수 있습니다.
|
||||
|
||||
공식 사이트: [herdr.dev](https://herdr.dev)
|
||||
|
||||
@@ -16,14 +43,13 @@ Herdr는 "코딩 에이전트를 위한 tmux"라고 볼 수 있는 터미널 워
|
||||
|
||||
## 개념 정리
|
||||
|
||||
| 개념 | 설명 |
|
||||
|---|---|
|
||||
| Session | 지속되는 Herdr 서버 하나(런타임 인스턴스). `herdr`는 기본 세션에 붙고, `herdr --session <name>`으로 named session을 launch-or-attach 할 수 있음 |
|
||||
| Workspace | 세션 안의 최상위 프로젝트 컨테이너. 보통 repo/작업 단위로 하나씩 |
|
||||
| Tab | workspace 안의 레이아웃 |
|
||||
| Pane | 실제 터미널 하나 |
|
||||
| Agent | Herdr가 pane 안에서 인식하는 프로세스 (Claude Code, Codex 등). 상태: blocked/working/done/idle/unknown |
|
||||
| Channel | Herdr 바이너리 자체의 업데이트 트랙 (stable/preview) — session과 무관한 별개 개념 |
|
||||
| 개념 | 설명 |
|
||||
| --------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| Session | 지속되는 Herdr 서버 하나(런타임 인스턴스). `herdr`는 기본 세션에 붙고, `herdr --session <name>`으로 named session을 launch-or-attach 할 수 있음 |
|
||||
| Workspace | 세션 안의 최상위 프로젝트 컨테이너. 보통 repo/작업 단위로 하나씩 |
|
||||
| Tab | workspace 안의 레이아웃 |
|
||||
| Pane | 실제 터미널 하나 |
|
||||
| Agent | Herdr가 pane 안에서 인식하는 프로세스 (Claude Code, Codex 등). 상태: blocked/working/done/idle/unknown |
|
||||
|
||||
## 주요 단축키
|
||||
|
||||
@@ -68,7 +94,7 @@ Herdr의 세션은 launch-or-attach 모델이라 이 한 줄로 세션이 없으
|
||||
attach된 pane 안에서:
|
||||
|
||||
```bash
|
||||
claude
|
||||
claude --dangerously-skip-permissions
|
||||
```
|
||||
|
||||
(테스트용으로 권한 프롬프트를 건너뛰려면 `claude --dangerously-skip-permissions`. 신뢰된 환경에서만 사용 권장.)
|
||||
@@ -85,7 +111,7 @@ herdr --session new_session agent get claude
|
||||
텍스트 입력 + Enter 제출을 원자적으로 수행:
|
||||
|
||||
```bash
|
||||
herdr --session new_session pane run <pane_id> "정렬 프로그램을 작성해줘"
|
||||
herdr --session new_session pane run <pane_id> "파이썬으로 정렬 프로그램을 작성해줘"
|
||||
```
|
||||
|
||||
### 4. Claude의 결과 화면 출력
|
||||
|
||||
Reference in new issue
Block a user