스크랩

터미널과 코딩 에이전트를 한 화면에서, 네이티브 앱 Herdr 출시

터미널과 코딩 에이전트를 한 화면에서, 네이티브 앱 Herdr 출시

여러 코딩 에이전트를 동시에 돌리다 보면 어느 터미널에서 무슨 작업이 돌아가는지, 어떤 에이전트가 내 입력을 기다리는지 놓치기 쉽습니다. Herdr는 바로 이 문제를 겨냥한 데스크톱 앱으로, 터미널과 코딩 에이전트를 작업 공간별로 정리하고 사용자 개입이 필요한 에이전트를 한곳에서 확인할 수 있게 해 줍니다.

핵심 요약

  • 작업 공간 중심 정리: 보통 저장소 하나를 기준으로 공간을 만들고, 탭과 패널로 터미널을 배치합니다.
  • 에이전트 사이드바: 여러 공간의 에이전트와, 에이전트가 시작한 작업자까지 하나의 목록으로 모아 보여 줍니다.
  • 창과 코어 분리: 창을 닫아도 터미널은 계속 실행됩니다.
  • SSH 원격 지원: 원격 머신과 코어가 유지되면 노트북이 절전 상태여도 작업이 이어집니다.
  • JavaScript 모드: 패널, 메뉴, 대화상자를 직접 바꿀 수 있습니다. 다만 샌드박스 없이 실행되는 신뢰 코드입니다.

에이전트 상태를 한눈에

상태를 보고하는 에이전트는 사이드바에서 네 가지로 구분됩니다.

  • Working: 작업 중
  • Blocked: 사용자 입력 대기
  • Done: 사용자가 다른 곳을 보는 동안 작업 완료
  • Idle: 작업 중이 아니거나, 이미 확인한 완료 에이전트

에이전트를 클릭하면 해당 작업으로 이동하고, 패널이 없는 작업자는 탭 위의 peek 화면으로 열립니다. 필요하면 탭으로 유지해 다른 작업 옆에 둘 수도 있습니다. 터미널 텍스트에 나온 터미널 주소를 Ctrl-클릭(macOS는 Cmd-클릭)하면 미리 볼 수 있는데, t7은 같은 머신의 터미널, vps/t7은 다른 머신의 터미널을 가리킵니다.

창은 배치하고, 코어는 실행한다

Herdr 구조의 핵심은 역할 분리입니다. 창은 터미널을 배치할 뿐이고 실제 실행은 코어가 맡습니다. 그래서 창을 닫아도 터미널이 살아 있습니다.

다만 몇 가지 동작은 알아 두는 편이 좋습니다.

  • 패널이나 탭을 닫으면 그 안의 터미널은 종료됩니다.
  • 재부팅이나 코어 충돌 뒤에는 유지된 패널의 마지막 폴더에서 새 셸이 열리며, 이전 프로그램이 복원되지는 않습니다.

에이전트는 herdr-core로 프로그램을 실행하고 조율하며, 앱을 통해 화면 구성을 변경합니다. herdr-app --skill을 실행하면 창 조작용 에이전트 가이드가 출력됩니다.

SSH 원격 머신과 화면 공유

설정의 Machines나 사이드바의 Add machine에서 SSH 머신을 추가할 수 있습니다. 이 머신의 작업 공간은 로컬이 아니라 원격 머신에서 터미널을 실행하고, 각 머신의 코어가 작업 공간, 탭, 분할 구성을 보관합니다.

같은 머신에 연결한 화면들은 구조와 실행 중인 터미널을 공유하지만, 포커스와 확대/축소 상태는 각자 유지합니다.

레이아웃과 모드로 사용자화

명령 팔레트에서 이름으로 동작을 찾을 수 있고, 설정에서 글꼴, 색상, 소리 등을 바꿀 수 있습니다. keys.json에서는 모든 단축키를 변경할 수 있습니다.

  • 기본 레이아웃으로 Herdr, Terminals, Herdr 98을 제공합니다.
  • 기본 레이아웃이나 모드의 구조와 코드를 고치려면 먼저 복제해야 합니다. 개인 복사본은 유지되고, 기본 제공 항목은 앱 시작 시 업데이트됩니다.
  • 개인 파일을 저장하면 창이 다시 불러오기를 수행하며, 오류가 있으면 마지막 정상 버전을 유지하고 오류를 표시합니다.

지원 환경

  • Linux: 데스크톱 세션과 정상 작동하는 Vulkan 드라이버 필요, x86-64 및 ARM64 빌드 제공
  • macOS: 배포 빌드는 Apple Silicon용, Intel Mac은 소스에서 빌드
  • Windows: curl과 tar가 설치된 x64 Windows 10 1803 이상

설치 프로그램은 코드를 내려받아 실행하며, herdr-core가 없으면 함께 설치합니다. 설치된 릴리스는 백그라운드에서 업데이트를 확인하고, 앱을 다시 열면 새 버전으로 전환되는데 이때도 코어의 터미널은 계속 실행됩니다. 소스에서 빌드한 앱은 자동 업데이트되지 않습니다.

도입 전 체크할 점

  • 텔레메트리: 릴리스의 사용량 텔레메트리는 기본 활성화되어 있으며, 설정의 Privacy에서 끌 수 있습니다.
  • 모드 보안: 모드는 샌드박스 확장이 아닌 신뢰 코드로 실행되므로, 타인의 모드를 설치하기 전에 보안과 개인정보 문서를 확인해야 합니다.

소스 빌드와 렌더링 비교

소스 빌드에는 서브모듈을 포함한 저장소와 Rust 1.95.0, Zig 0.16.0이 쓰이고, 빌드 작업에는 just를 사용합니다. 문서 및 CLI 예제 검사와 참조 문서 재생성에는 Bun이 추가로 필요합니다.

렌더링 비교 도구는 Windows, Linux, macOS 빌드에 같은 고정 작업 부하를 실행합니다. 다만 측정값은 실제 화면 표시 성능과 구분해서 봐야 합니다. 그리기 횟수는 창 렌더링 호출 수이고, 시간 지표는 물리적인 화면 표시나 FPS HUD가 산출하는 MAX FPS를 측정하지 않습니다. 비교할 때는 창 가시성과 디스플레이 조건을 동일하게 유지해야 합니다.

마무리

에이전트를 여럿 병렬로 돌리는 일이 일상이 된 개발자라면, "누가 나를 기다리고 있는가"를 한곳에서 보여 주는 Herdr의 접근이 꽤 실용적으로 느껴질 수 있습니다. 창을 닫거나 노트북을 덮어도 작업이 이어지는 구조도 장시간 작업에 잘 맞습니다. 다만 재부팅 후 프로그램이 복원되지 않는다는 점과 텔레메트리 기본 활성화, 모드의 신뢰 코드 실행 방식은 도입 전에 확인해 두는 것이 좋겠습니다.

출처: GeekNews


원문: https://news.hada.io/topic?id=36283