안녕하세요!
이번 포스팅은 [ herdr vs Orca vs Paseo ] 입니다.

herdr · Orca · Paseo를 한 장에 그려 본 표지 (직접 그린 그림)
Claude Code, Codex 같은 코딩 에이전트를 하나만 쓰던 시기는 지났다. 요즘은 에이전트 서너 개를 동시에 돌리고, 그중 어떤 게 일하는 중이고 어떤 게 내 답을 기다리는지 챙기는 일이 더 귀찮다.
이 빈자리를 노린 오픈소스가 여럿 나왔는데, 그중 자주 같이 언급되는 게 herdr, Orca, Paseo다. 셋 다 '에이전트 여러 개를 굴린다'는 목표는 같지만, 붙는 자리가 완전히 다르다. herdr는 터미널, Orca는 데스크톱 앱, Paseo는 daemon(백그라운드 서버)과 리모컨이다.
이 글에서는 세 도구를 공식 README와 문서 기준으로 정리하고, 실제로 이 컴퓨터에서 돌려 본 결과(herdr 0.8.2, Orca 1.4.219, Paseo CLI 0.11.1)를 그대로 붙였다. 마지막에는 '언제 무엇을 쓰나'를 표로 정리했다.
용어 정리
- 코딩 에이전트(Coding Agent): Claude Code, Codex, OpenCode처럼 터미널에서 코드를 읽고 고치고 명령을 실행하는 AI 도구다.
- 멀티플렉서(Multiplexer): 터미널 하나를 여러 창(pane)으로 나눠 쓰고, 창을 닫아도 안의 프로세스를 살려 두는 도구다. tmux가 대표적이다.
- ADE(Agent Development Environment): IDE처럼 생겼지만 사람이 코드를 짜는 곳이 아니라 에이전트를 띄우고 결과를 리뷰하는 데 맞춘 개발 환경이다. Orca가 스스로를 이렇게 부른다.
- daemon(데몬): 화면 없이 백그라운드에서 계속 도는 서버 프로세스다. Paseo는 이 daemon이 에이전트를 관리하고 앱·CLI는 여기에 접속만 한다.
- git worktree(워크트리): 저장소 하나에서 브랜치별 작업 폴더를 여러 개 꺼내 쓰는 git 기능이다. 에이전트끼리 같은 파일을 동시에 건드리지 않게 하는 데 쓴다.
- Relay(릴레이): 폰과 집 컴퓨터가 서로 직접 닿지 않을 때 중간에서 연결을 이어 주는 서버다.
목차
- 세 도구 한눈에 보기
- 공통점: 에이전트를 대신하지 않는다
- herdr: 에이전트가 사는 터미널 런타임
- 실습 1: herdr로 막힌 에이전트 찾아내기
- Orca: worktree 중심의 데스크톱 ADE
- 실습 2: Orca CLI 살펴보기
- Paseo: daemon 하나에 클라이언트 여러 개
- 실습 3: Paseo daemon 띄우고 에이전트 하나 돌리기
- 기능 비교표
- 언제 무엇을 쓰나
- 쓰기 전에 알아 둘 점
1. 세 도구 한눈에 보기
먼저 숫자부터 보자. 아래는 2026년 10월 9일 GitHub API로 직접 조회한 값이다. 별 수는 인기 지표일 뿐 품질 지표가 아니라는 점은 감안하자.
| 항목 | herdr | Orca | Paseo |
| 한 줄 소개(공식) | the runtime your coding agents live on | the ADE for working with a fleet of parallel agents | Orchestrate multiple coding agents from desktop and mobile |
| 형태 | 터미널 런타임 (TUI + 서버) | 데스크톱 앱 + 모바일 앱 | daemon + 데스크톱·모바일·웹·CLI |
| 언어 | Rust | TypeScript | TypeScript |
| 라이선스 | Apache-2.0 | MIT | Apache-2.0 |
| 최신 릴리스 | v0.9.3 (2026-09-29) | v1.4.223 (2026-10-08) | v0.11.1 (2026-10-07) |
| GitHub 별 | 약 4.3만 | 약 8.8만 | 약 2만 |
| 저장소 생성 | 2026-03 | 2026-03 | 2025-10 |
| 가격 | 무료 (Herdr Cloud는 '곧 출시') | 무료 (팀용 엔터프라이즈 페이지 별도) | 무료 (후원으로 운영) |
세 도구 모두 무료 오픈소스이고, 모델 비용은 따로 받지 않는다. 쓰던 Claude·ChatGPT 구독이나 API 키가 그대로 쓰인다.
herdr 라이선스를 AGPL로 적은 글이 일부 있는데, 현재 저장소의 LICENSE와 README는 Apache License 2.0이다. 예전 정보이거나 잘못 옮긴 것으로 보인다.
2. 공통점: 에이전트를 대신하지 않는다
세 도구를 처음 보면 '또 하나의 AI 코딩 도구'로 착각하기 쉽다. 하지만 셋 다 모델이나 에이전트를 직접 만들지 않는다. 이미 설치한 Claude Code, Codex 같은 CLI를 바깥에서 감싸서 띄우고, 상태를 보고, 입력을 넣어 줄 뿐이다.

세 도구가 붙는 자리. 공식 문서 기준으로 직접 그린 그림
차이는 '어디를 감싸느냐'다.
- herdr: 터미널 자체를 감싼다. 에이전트가 도는 pane(창)을 서버가 쥐고 있어서, 클라이언트를 닫아도 에이전트는 계속 돈다.
- Orca: 작업 단위(worktree)를 감싼다. worktree마다 터미널, 에디터, diff, 브라우저를 묶어 한 화면에 보여 준다.
- Paseo: 에이전트의 생애 주기를 감싼다. daemon이 에이전트를 만들고 지켜보고, 앱·웹·CLI는 리모컨처럼 붙는다.
그래서 셋은 경쟁 관계이면서도 동시에 쓸 수 있다. 예를 들어 herdr pane 안에서 Paseo CLI를 돌리는 것도 가능하다.
3. herdr: 에이전트가 사는 터미널 런타임
| 항목 | 공식 문서에서 확인한 내용 | 읽을 때 주의할 점 |
| 구조 | 백그라운드 서버가 pane·프로세스·레이아웃을 소유하고, 클라이언트(TUI)는 붙었다 떨어질 뿐 | 서버를 herdr server stop으로 끄면 pane도 같이 끝난다 |
| 상태 표시 | pane마다 working / blocked / done / idle / unknown | done = 끝났는데 아직 안 본 것, idle = 끝났고 본 것 |
| 지원 에이전트 | Claude Code, Codex, Cursor, OpenCode, Grok 등 22종 자동 인식 | 0.8.2 기준 --kind 값도 22개였다 |
| 재시작 복구 | 서버·머신 재시작 뒤 레이아웃을 복원하고 지원 에이전트의 세션을 이어 감 | 원래 프로세스가 살아남는 건 아니다 (README 명시) |
| 원격 | SSH 머신 여러 대를 한 창에서 (herdr machine add) |
v0.9.0(2026-09-07)부터. 원격에도 herdr 설치 필요 |
| 에이전트용 API | CLI와 socket API로 pane 분할, 다른 에이전트 실행·프롬프트, 대기 | 사람과 에이전트가 같은 명령을 쓴다 |
설치와 기본 조작
# macOS / Linux
curl -fsSL https://herdr.dev/install.sh | sh
# 또는
brew install herdr
# 작업할 폴더에서 실행
herdr
# ctrl+b q 로 떼어 내고(detach), 다시 herdr 로 붙는다
단축키는 tmux와 같은 prefix 방식(ctrl+b)이고, 마우스 클릭·드래그·분할도 다 된다. Electron 앱이 아니라 Rust 바이너리 하나라서 지금 쓰는 터미널 안에서 그대로 돈다.
herdr가 잘하는 것
핵심은 '멈춘 놈 찾기'다. README 표현으로는 "never hunt for the stuck one". 에이전트가 승인이나 질문 화면에서 멈추면 사이드바에 blocked로 뜬다. 에이전트 화면을 읽어서 판단하기 때문에 에이전트 쪽에 따로 플러그인을 깔지 않아도 된다.
두 번째는 에이전트가 herdr를 직접 조종할 수 있다는 점이다. herdr agent start, herdr agent prompt, herdr agent wait --until done 같은 명령을 에이전트가 쓰면, 에이전트 하나가 다른 에이전트를 띄우고 일을 맡기고 끝날 때까지 기다릴 수 있다.
4. 실습 1: herdr로 막힌 에이전트 찾아내기
평소 쓰는 기본 세션을 건드리지 않으려고 blogtest라는 이름의 별도 세션을 띄워서 실험했다. 버전은 이 컴퓨터에 깔려 있던 herdr 0.8.2다 (최신은 0.9.3).
ex) 별도 세션 서버를 띄우고, CLI가 그 세션을 보게 소켓 경로를 지정한다.
herdr --session blogtest server &
export HERDR_SOCKET_PATH=~/.config/herdr/sessions/blogtest/herdr.sock
herdr session list
# name status ...
# default stopped ...
# blogtest running ...
ex) 워크스페이스를 만들고 pane을 오른쪽으로 나눈 뒤, 오른쪽 pane에서 Claude Code를 띄운다.
herdr workspace create --cwd ./demo --label demo
herdr pane split w1:p1 --direction right # -> w1:p2
herdr agent start reviewer --kind claude --pane w1:p2 --timeout 25000
결과는 다음과 같았다. 에이전트가 시작되자마자 막혔다는 답이 돌아왔다.
{"error":{"code":"agent_not_ready","message":"agent reviewer is blocked during startup and is not ready for prompts"},"id":"cli:agent:start"}
herdr agent list | jq -c '.result.agents[] | {name, pane_id, kind: .agent, agent_status}'
# {"name":"reviewer","pane_id":"w1:p2","kind":"claude","agent_status":"blocked"}
왜 막혔는지는 herdr agent explain으로 볼 수 있다. 처음 보는 폴더라서 Claude Code가 '이 폴더를 믿느냐'고 묻는 화면에서 멈춰 있었고, herdr는 그 화면을 규칙으로 잡아냈다.
herdr agent explain reviewer
# agent: claude
# state: blocked
# manifest: remote:.../agent-detection/remote/claude.toml 2026.09.11.1
# rule: live_blocked_form (region=after_last_horizontal_rule priority=980)
# evidence: " Accessing workspace: ... Quick safety check: Is this a project you created or one you trust? ..."

herdr 실습 출력 요약. 실제 출력을 옮겨 그린 그림
마지막으로 기본 선택지('No, exit')에서 Enter를 보내 Claude Code를 닫고, 세션도 지웠다.
herdr agent send-keys reviewer Enter
herdr agent list | jq -c '.result.agents' # []
herdr session stop blogtest
herdr session delete blogtest
눈여겨볼 점
- 에이전트 쪽에 아무 설정도 안 했는데 blocked를 잡았다. 인식 규칙(manifest)은 원격에서 받아 오는 파일이고, 버전(
2026.09.11.1)이 따로 붙어 있다. pane read는 기본 소스(recent)로는 빈 출력이 나왔고,--source visible --raw로는 화면이 읽혔다. 0.8.2에서 본 동작이라 최신 버전에서는 다를 수 있다.- 모델에 프롬프트를 보내기 전 단계(폴더 신뢰 확인)에서 멈췄다가 닫았으니, 이 실습은 에이전트 사용량을 쓰지 않았다.
5. Orca: worktree 중심의 데스크톱 ADE
Orca는 Stably AI가 만든 데스크톱 앱이다. '작업 하나 = worktree 하나'가 기본 단위이고, worktree마다 에이전트 터미널, 파일 에디터, diff 뷰어, 브라우저 탭이 붙는다.
| 항목 | 공식 문서에서 확인한 내용 | 읽을 때 주의할 점 |
| 병렬 worktree | 프롬프트 하나를 에이전트 다섯 개에 뿌리고 결과를 비교해서 좋은 걸 merge | worktree마다 의존성 설치가 따로 필요하다 |
| 지원 에이전트 | README에 34개 이름 + 'any CLI agent' | 터미널에서 도는 건 다 된다는 뜻 |
| Design Mode | 내장 Chromium에서 UI 요소를 클릭하면 HTML·CSS·잘린 스크린샷이 프롬프트로 들어감 | 프론트엔드 작업에서 특히 유용 |
| 리뷰 | diff 줄마다 코멘트를 달아 에이전트에게 돌려보냄, GitHub·Linear 연동 | |
| SSH worktree | 원격 머신에서 에이전트·git·터미널 실행, 자동 재연결·포트 포워딩 | |
| 모바일 | iOS 앱, Android APK 0.0.52 (베타) | Relay 페어링은 로그인 필요, 데스크톱이 켜져 있어야 함 |
| 플랫폼 | macOS, Windows, Linux (AppImage, AUR) |
설치
# macOS
brew install --cask stablyai/orca/orca
# Arch Linux
yay -S stably-orca-bin
# 그 외: https://onorca.dev/download 에서 dmg / exe / AppImage
모바일 앱은 '리모컨'이다
Orca 모바일 앱은 모든 worktree와 에이전트 상태(working / done / 입력 대기)를 보여 주고, 짧은 답장, 사진·파일 첨부, 음성 입력, 변경 파일 stage·commit까지 된다. 대신 문서에 "intentionally not a full editor"라고 적혀 있다. 폰으로 코드를 고치는 도구가 아니라 상태를 보고 툭 답해 주는 도구다.
텔레메트리
Orca는 익명 사용 통계를 보낸다. 앱 실행, 에이전트 시작(종류만) 같은 이벤트이고, 파일 내용, 프롬프트, 터미널 출력, 저장소 이름, 경로는 보내지 않는다고 문서에 적혀 있다. 끄려면 Settings → Privacy에서 끄거나 환경 변수 DO_NOT_TRACK=1 또는 ORCA_TELEMETRY_DISABLED=1을 주면 된다.
6. 실습 2: Orca CLI 살펴보기
Orca의 숨은 강점은 CLI다. 앱이 켜져 있으면 터미널(또는 그 안의 에이전트)이 orca 명령으로 앱을 조종한다. worktree 만들기, 터미널 읽기·보내기, 내장 브라우저 클릭·입력까지 된다.
이 컴퓨터에는 Orca 1.4.219가 실행 중이라, 내 작업 상태를 바꾸지 않는 읽기 전용 명령만 돌려 봤다.
orca status --json | jq -c '{app: .result.app.running, runtime: .result.runtime.state,
version: .result.runtime.appVersion, caps: (.result.runtime.capabilities|length)}'
# {"app":true,"runtime":"ready","version":"1.4.219","caps":102}
orca worktree list --json | jq '.result.worktrees | length'
# 4
caps는 런타임이 알려 준 기능(capability) 목록의 개수다. orchestration.federation.v1, browser.screencast.v1 같은 항목이 102개 들어 있었다.

Orca 1.4.219의 orca --help를 섹션별로 센 결과. 실제 출력을 바탕으로 직접 그린 그림
help를 섹션별로 세어 보면 성격이 보인다. 20개 섹션, 175줄 가운데 Browser Automation(62)과 Orchestration(29)이 절반을 넘는다. Orca는 '에이전트가 쓰는 IDE'를 노리고 있다는 뜻이다.
ex) 새 worktree를 만들면서 바로 에이전트를 띄우는 명령은 이렇게 생겼다 (help에서 옮긴 형식이고, 이번 실습에서는 실행하지 않았다).
orca worktree create --name login-fix --agent claude --prompt "로그인 버그 고쳐 줘" --json
# 응답의 result.agentTerminalHandle 로 그 에이전트 터미널을 이어서 다룬다
리눅스에서 Orca가 관리하는 터미널 밖이라면orca라는 이름이 GNOME 화면 낭독기(/usr/bin/orca)와 겹친다. Orca CLI에 들어 있는 안내도 이 경우orca-ide를 쓰라고 한다. 잘못 실행하면 화면 낭독기가 말을 시작한다.
7. Paseo: daemon 하나에 클라이언트 여러 개
Paseo는 개인 개발자 한 명이 만들고 후원으로 운영하는 프로젝트다. 구조가 가장 단순하다. daemon이 에이전트를 관리하고, 데스크톱 앱, 모바일 앱, 웹 앱, CLI가 전부 같은 daemon에 붙는다.
| 항목 | 공식 문서에서 확인한 내용 | 읽을 때 주의할 점 |
| 클라이언트 | 데스크톱(Electron), iOS·Android, 웹, CLI | README: 모바일 앱도 '전체 앱' |
| 지원 에이전트 | Claude Code, Codex, Copilot, OpenCode, Pi, Antigravity, Muse Code | 각 CLI를 먼저 설치·로그인해 둬야 함 |
| 오케스트레이션 | 에이전트가 worktree를 만들고 다른 에이전트를 띄워 대화 (provider 무관) | skills: /paseo-handoff, /paseo-advisor, /paseo-committee |
| 연결 | 직접 TCP, Tailscale, SSH, E2E 암호화 Relay | Relay는 직접 켜기 전까지 꺼져 있음 |
| 개발자 도구 | TypeScript SDK @getpaseo/client, 플러그인 |
플러그인은 샌드박스가 아니다 |
| 개인정보 | 텔레메트리·추적·강제 로그인 없음 (README) | |
| 서버 설치 | npm install -g @getpaseo/cli 또는 Docker 이미지 |
Docker는 기본 포트 6767 + 비밀번호 |
연결 방법이 유연하다
폰에서 집 컴퓨터의 에이전트를 보고 싶다면 길이 네 개 있다.
- 직접 TCP:
daemon.listen을 IP:6767로 바꾸고 앱에서 Direct connection을 추가한다. - Tailscale: 문서가 권하는 방법이다. 두 기기를 같은 tailnet에 넣고 Tailscale IP로 붙는다.
- SSH:
paseo --host ssh://user@host. 원격의 daemon에 SSH로 붙을 뿐, 원격에 Paseo를 깔아 주지는 않는다. - Relay: 네트워크 설정 없이 QR 코드로 페어링한다. 문서는 "Traffic is end-to-end encrypted"라고만 적고 암호화 방식은 설명하지 않는다.
CLI와 SDK
paseo run --provider codex/gpt-5.5 --worktree feature-x "implement feature X"
paseo ls # 실행 중인 에이전트 목록
paseo attach abc123 # 실시간 출력 보기
paseo send abc123 "also add tests" # 후속 지시
paseo run --host workstation.local:6767 --cwd /workspace "run the full test suite"
README의 예시 그대로다. 다만 실습에 쓴 0.11.1의 paseo run --help에는 --worktree 대신 --new-workspace worktree, --worktree-slug 같은 옵션이 보였다. 정확한 옵션은 설치한 버전의 help를 보자. 앱에서 하는 일은 전부 CLI로도 할 수 있고, SDK로 이슈 연동이나 대시보드를 직접 만들 수도 있다.
8. 실습 3: Paseo daemon 띄우고 에이전트 하나 돌리기
Paseo는 이 컴퓨터에 없어서 CLI 0.11.1을 작업 폴더에만 설치하고, --home으로 설정 폴더를 따로 잡아 기본 경로(~/.paseo)를 건드리지 않았다.
npm i --prefix ./paseo-cli @getpaseo/cli@0.11.1
alias paseo=./paseo-cli/node_modules/.bin/paseo
paseo start --home ./paseo-home
# Started: PID 16518, listening on 127.0.0.1:6767
만들어진 config.json을 보면 Relay가 기본으로 꺼져 있다. 문서의 "Relay is disabled until you enable it"와 같다.
{
"version": 1,
"daemon": {
"listen": "127.0.0.1:6767",
"cors": { "allowedOrigins": ["https://app.paseo.sh"] },
"relay": { "enabled": false }
},
"app": { "baseUrl": "https://app.paseo.sh" }
}
ex) 이 컴퓨터에서 어떤 에이전트를 쓸 수 있는지 daemon이 알아서 찾는다. 처음엔 전부 loading이었고, 15초쯤 뒤 다시 보니 이렇게 정리됐다.
paseo provider ls --home ./paseo-home
# PROVIDER LABEL STATUS ENABLED DEFAULT MODE
# claude Claude available Enabled auto
# codex Codex available Enabled auto-review
# copilot Copilot available Enabled ...
# opencode OpenCode loading Enabled default
# pi Pi available Enabled default
# omp Oh My Pi unavailable Disabled full
# antigravity Antigravity error Enabled default
# muse Muse Code unavailable Enabled default
ex) 가장 싼 작업 하나를 맡겨 봤다. Codex에 GPT-6.1 Sol, reasoning은 low, 도구는 쓰지 말고 한 단어만 답하라는 지시다.
paseo run --home ./paseo-home --provider codex/gpt-6.1-sol --thinking low \
--cwd ./demo --title hello --wait-timeout 2m \
"Reply with exactly one word: ok. Do not run any tools."
# Created workspace wks_f2975a4860b6dbd4 - demo
# AGENT ID STATUS PROVIDER ... TITLE
# 2dd7d675-5583-4943-ab79-33b67df7b6e1 completed codex ... hello
paseo logs 2dd7d67
# [User] Reply with exactly one word: ok. Do not run any tools.
# ok
paseo inspect 2dd7d67
# Provider codex
# Model gpt-6.1-sol
# Thinking low
# Mode auto
# LastUsage InputTokens: 19629, OutputTokens: 5, CachedTokens: 13184, CostUsd: $0.00
# AvailableModes auto (Default Permissions), auto-review (Auto-review), full-access (Full Access)

Paseo 실습 출력 요약. 실제 출력을 옮겨 그린 그림
눈여겨볼 점
- 생성부터 완료까지 약 5초(createdAt 13:59:48 → updatedAt 13:59:53)였다.
- 'ok' 한 단어에 입력 19,629토큰이 들었다(그중 13,184는 캐시). Paseo 탓이 아니라 Codex 하네스의 기본 지시문과 도구 정의 때문이다. 에이전트를 여러 개 굴리면 이 기본 비용이 에이전트 수만큼 붙는다.
CostUsd: $0.00은 구독 로그인으로 돌린 Codex라 금액이 잡히지 않은 것으로 보인다. 공짜라는 뜻이 아니라 구독 사용량에서 빠진다.- 끝나고
paseo delete,paseo daemon stop으로 정리했고 6767 포트가 닫힌 것까지 확인했다.
9. 기능 비교표
공식 README와 문서에 적힌 기능 기준이다. '△'는 비슷한 기능은 있지만 주력은 아니라는 뜻으로, 내가 판단해 붙였다.
| 기능 | herdr | Orca | Paseo |
| 화면 | 터미널 TUI | 데스크톱 GUI | 데스크톱·웹·모바일 GUI + CLI |
| 에이전트 상태 감지 | ○ (화면 규칙 기반 5단계) | ○ (working·done·입력 대기) | ○ (running·idle·권한 요청) |
| 창 닫아도 계속 실행 | ○ (서버가 pane 소유) | △ (데스크톱 앱이 켜져 있어야 함) | ○ (daemon) |
| git worktree 격리 | △ (herdr worktree 도우미) |
○ (핵심 단위) | ○ (worktree 워크스페이스) |
| diff 리뷰·코멘트 | ✕ | ○ (줄 코멘트 → 에이전트) | ○ (diff·PR) |
| 내장 브라우저 | ✕ | ○ (Design Mode) | ○ |
| 모바일 앱 | ✕ | ○ (베타, 리모컨 성격) | ○ (전체 앱) |
| 원격 머신 | ○ (SSH, v0.9.0+) | ○ (SSH worktree) | ○ (TCP·Tailscale·SSH·Relay) |
| 에이전트가 도구를 조종 | ○ (CLI + socket API) | ○ (orca CLI, orchestration) | ○ (MCP 서버, skills, SDK) |
| 텔레메트리 | 문서에서 확인 못 함 | 익명 수집 (끌 수 있음) | 없음 (README) |
| 설치 크기 느낌 | 가벼움 (단일 바이너리) | 무거움 (데스크톱 앱) | 중간 (Node daemon + 앱) |
10. 언제 무엇을 쓰나

상황별 추천. 2026-10-09 GitHub 기준 정보로 직접 그린 그림
| 상황 | 추천 | 이유 |
| 터미널을 떠나기 싫고 tmux에 익숙하다 | herdr | tmux 감각 그대로, 에이전트 상태만 더 붙었다 |
| 서버에 에이전트를 띄워 두고 노트북을 닫는다 | herdr 또는 Paseo | 둘 다 서버가 프로세스를 쥐고 있다 |
| 에이전트 결과를 diff로 꼼꼼히 리뷰한다 | Orca | worktree·diff·브라우저가 한 화면 |
| 같은 작업을 여러 에이전트에 시켜 비교한다 | Orca | 병렬 worktree가 핵심 기능 |
| 밖에서 폰으로 확인하고 답한다 | Paseo | 모바일이 리모컨이 아니라 전체 앱 |
| 에이전트 작업을 스크립트·서비스로 묶는다 | Paseo | CLI·SDK·Docker가 다 있다 |
| 에이전트끼리 일을 주고받게 한다 | 셋 다 가능 | herdr는 CLI, Orca는 orchestration, Paseo는 skills |
한 줄로 줄이면 이렇다. 터미널이 집이면 herdr, 리뷰가 일이면 Orca, 폰이 리모컨이면 Paseo.
11. 쓰기 전에 알아 둘 점
토큰 비용은 에이전트 수에 비례한다
실습 3에서 본 것처럼 에이전트 하나를 깨우는 데만 입력 토큰 2만 개 가까이 든다. 세 도구 모두 '여러 개 동시에'를 자랑하지만, 구독 한도나 API 비용도 그만큼 빨리 닳는다.
worktree는 공짜가 아니다
worktree를 새로 만들면 깨끗한 체크아웃이라서 .gitignore된 의존성(node_modules 등)과 .env가 없다. 디스크와 설치 시간이 worktree 수만큼 든다.
플러그인과 원격 접속은 내 컴퓨터 권한으로 돈다
- Paseo README는 플러그인이 daemon 머신과 클라이언트 안에서 돌기 때문에 "install only code you trust"라고 경고한다. CLI help에도
trusted, unsandboxed plugins라고 적혀 있다. - daemon을
0.0.0.0같은 외부 주소로 열 때는 비밀번호 인증이나 Tailscale처럼 접근을 좁히는 장치를 같이 쓰자. - herdr 원격 머신 연결은 SSH 인증을 OpenSSH에 맡기고, 비밀번호나 개인 키를 저장하지 않는다고 문서에 적혀 있다.
버전이 정말 빨리 바뀐다
Orca는 거의 매일 릴리스가 나오고(1.4.221 → 1.4.223이 사흘), herdr의 SSH 멀티 머신 기능(herdr machine)은 실습에 쓴 0.8.2에는 아예 없었다. 블로그 글보다 각 저장소의 릴리스 노트가 더 정확하다.
자주 묻는 질문(FAQ)과 정리
Q. 셋 다 유료 모델 구독이 따로 필요한가?
도구 자체는 무료다. 다만 안에서 돌릴 Claude Code, Codex 같은 에이전트는 각자 쓰던 구독이나 API 키로 로그인해 둬야 한다.
Q. tmux를 이미 쓰는데 herdr가 필요할까?
에이전트를 한두 개만 쓰면 tmux로 충분하다. 에이전트가 많아져서 '지금 누가 내 답을 기다리지?'를 계속 확인하게 되면 herdr의 blocked/done 표시가 바로 값을 한다.
Q. Orca와 Paseo는 둘 다 데스크톱 + 모바일인데 뭐가 다른가?
무게중심이 다르다. Orca는 데스크톱 앱이 본체이고 모바일은 상태 확인·짧은 답장용이다. Paseo는 daemon이 본체이고 데스크톱·모바일·웹이 동등한 클라이언트다. 데스크톱 없이 서버에 daemon만 둘 수 있는 쪽은 Paseo다.
Q. 같이 써도 되나?
된다. 붙는 층이 달라서 서로 막지 않는다. 다만 같은 저장소의 같은 worktree에 여러 도구가 동시에 에이전트를 띄우면 파일 충돌이 날 수 있으니 작업 단위는 나눠 두자.
Q. 윈도우에서도 되나?
herdr는 PowerShell 설치 스크립트가 있고(엔드포인트 보안이 걸린 환경은 별도 베타 안내), Orca는 Windows 설치 파일을 제공한다. Paseo는 저장소 토픽에 Windows가 있고 CLI는 npm으로 설치한다. 이 글에서는 리눅스에서만 확인했다.
정리
- 세 도구 모두 에이전트를 대신하지 않고 감싼다. 모델 비용은 쓰던 구독 그대로다.
- herdr: Rust 단일 바이너리 터미널 런타임. 막힌 에이전트를 화면 규칙으로 찾아낸다 (실습에서 Claude Code의 폴더 신뢰 질문을 blocked로 잡음).
- Orca: worktree 중심 데스크톱 ADE. diff 리뷰, 내장 브라우저, 그리고 브라우저·오케스트레이션 비중이 큰 CLI가 강점.
- Paseo: daemon + 클라이언트 구조. 모바일·웹·CLI·SDK 어디서든 같은 에이전트를 다룬다 (실습에서 'ok' 한 단어에 입력 19,629토큰).
- 여러 에이전트를 돌리면 토큰과 디스크도 그만큼 든다.
개인적으로는 셋 중 하나를 고르기보다, 지금 가장 귀찮은 게 '멈춘 에이전트 찾기'인지, '결과 리뷰'인지, '자리 비웠을 때 확인'인지부터 정하는 게 빠르다고 본다.
참고 자료
- herdr 공식 사이트 · GitHub herdrdev/herdr · Concepts · Connecting machines
- herdr v0.9.0 릴리스 노트
- Orca 공식 사이트 · GitHub stablyai/orca · Mobile 문서 · Telemetry 문서 · CLI 문서
- Paseo 공식 사이트 · GitHub getpaseo/paseo · Connectivity 문서 · CLI 문서
- max_tokens - Orca vs Herdr (비교 글)
- vibecodinghub - Paseo vs Orca (비교 글)
- heise - Herdr 소개 기사
댓글