TL;DR
- Herdr 0.9가 여러 원격 머신의 워크스페이스·탭·에이전트를 하나의 TUI에서 관리하는 멀티머신 기능을 제공함.
- 700,000회 이상 다운로드와 1,000개에 가까운 플러그인을 보유한 Herdr가 에이전트를 24시간 실행할 원격 머신과 노트북을 클라이언트로 사용하는 흐름을 지원함.
- 기존에는 머신마다 별도 Herdr 클라이언트가 필요했지만, 이제
herdr machine add와 SSH를 통해 로컬 및 원격 머신을 같은 인터페이스에 연결함. - 현재는 TUI만 여러 서버를 통합하며, 에이전트 CLI는 단일 서버 안에서만 작동해 머신 간 에이전트 협업은 아직 지원하지 않음.
- 다음 단계로 Herdr Cloud를 통해 SSH와 복잡한 네트워크 설정 없이 머신을 연결하고, 장기적으로 머신 간 에이전트 세션 이동까지 탐색함.
Herdr의 다음 단계
- Herdr의 다음 단계는 머신 연결임.
- Herdr는 이미 700,000회 이상 다운로드됐으며 1,000개에 가까운 플러그인을 보유함.
- 에이전트와 로컬 머신을 관리하는 사용자가 모인 대규모 커뮤니티가 형성됨.
- Herdr에는 이미
--remote옵션이 있어 원격 머신에 연결 가능함. - 에이전트가 여러 시간 동안 실행되므로 24시간 켜져 있는 머신에서 에이전트를 실행하고 싶은 경우가 생김. 에이전트가 계속 작업한다는 이유만으로 노트북을 켜둘 필요가 없어짐.
- 노트북을 모든 연산에 사용하는 대신 노트북을 클라이언트로 보고 연산은 다른 곳에서 처리하는 방식이 점점 자연스러워지는 상황임.
- 휴대하는 노트북에 수천 달러를 지출하는 것보다 다른 곳에 성능 좋은 머신을 두는 편이 많은 경우 더 합리적임.
- VPS
- 자체 환경의 Mac mini
- VPS와 Mac mini의 조합
- 이전에는 머신마다 별도의 Herdr 클라이언트가 필요했고, 보통 서로 다른 터미널 탭에서 실행됨.
- 각 에이전트가 어느 머신에서 실행 중인지 기억하고 해당 탭 사이를 전환해 상태를 확인해야 했으며, 이것이 병목이 됨.
- 이 기능은 수개월 동안 요청됐고, Herdr의 플러그인 시스템과 여러 기여자 덕분에 커뮤니티 차원의 우회 방법도 이미 존재함.
- 다만 Herdr 자체는 여러 머신 연결을 지원하도록 구축되지 않은 상태였음.
시간이 더 걸린 이유
tmux와Zellij같은 멀티플렉서는 하나의 TUI 클라이언트가 여러 머신에 있는 독립 서버를 관리하는 방식을 지원하지 않음.- 에이전트가 등장하면서 이 틈새 사용 사례가 바뀌었고, 이제 어디서든 에이전트를 실행하면서 현재 위치에서 제어하려는 요구가 생김.
- Herdr에는 이미 클라이언트와 서버가 있었지만, 하나의 클라이언트가 하나의 서버에 연결되는 구조였음.
- Herdr에서 보이는 모든 내용은 해당 서버에서 렌더링됐음.
- 여러 서버를 이 구조에 추가하려면 하나의 서버가 모든 연결을 집계하거나, 사용자 인터페이스가 존재하는 위치를 바꿔야 했음.
- 각 서버는 자체 터미널과 에이전트를 계속 실행하고 클라이언트가 여러 머신을 통합하는 구조를 목표로 삼음.
- 이를 위해 Herdr 자체의 구축 방식을 변경해야 했으며, 이 때문에 예상보다 시간이 더 걸림.
- Herdr 0.9에서는 바깥쪽 UI를 클라이언트에서 렌더링함.
- 서버는 세션을 계속 소유하고 터미널 뷰를 제공함.
- 클라이언트는 이제 하나의 서버 전체 인터페이스에 연결하는 대신 독립적인 여러 서버를 동일한 TUI에 통합함.
- 클라이언트와 런타임을 계속 분리하면서 추가적인 성능 개선을 적용할 여지도 생김.
머신 연결하기
- 다음 명령으로 원격 머신을 추가함.
herdr machine add workbox- SSH 대상(SSH target)을 입력하면 해당 머신의 워크스페이스·탭·에이전트가 로컬 항목과 함께 동일한 Herdr TUI에서 제공됨.
- 다른 클라이언트를 열지 않고 머신 사이를 전환할 수 있음.
- 연결을 끊어도 에이전트는 각자의 머신에서 계속 실행됨.
- 현재 해당 머신은 SSH를 통해 접근 가능해야 함.
- 로컬 네트워크에 있을 수 있음.
- 인터넷을 통해 접근 가능할 수 있음.
Tailscale같은 도구를 통해 연결될 수 있음.- 많은 개발자가 이미 이러한 환경을 사용함.
- 설정 세부 사항은 Connecting machines 문서에서 확인 가능함.
- 이번 릴리스는 Herdr 멀티머신 지원의 첫 버전임.
- TUI는 이제 여러 머신을 통합하지만, 에이전트 CLI는 여전히 하나의 서버 안에서 작동함.
- 에이전트 CLI는 아직 다른 머신에서 실행 중인 에이전트를 확인하지 못함.
- CLI도 머신 간에 작동하도록 만들어 서로 다른 서버에서 실행 중인 에이전트가 서로를 찾고 함께 작업하게 하는 방향을 추진함.
- 머신 간 에이전트 협업은 이번 기반 위에 구축하려는 기능 중 하나임.
- 모든 기능을 추가하기 전에 실제 사용자의 피드백을 받기 위해 이번 버전을 먼저 출시함.
- 부족한 점과 문제가 발생하는 지점을 알려 달라는 요청이 있으며, 해당 피드백이 다음에 구축할 기능을 결정하는 데 활용됨.
1.0을 향해
- 다음 단계의 목표는 머신 연결을 더 편리하게 만드는 것임.
- SSH를 직접 고려하거나 복잡한 네트워크 설정을 처리하지 않고도 머신을 연결하는 방식이 필요함.
- 하나의 Herdr 계정을 통해 어디에 있는 머신이든 쉽게 연결하는 방식을 지향함.
- 샌드박스·가상 머신·원격 서버·자체 환경의 머신 등 어떤 형태든 Herdr를 설치하고 다른 머신과 연결할 수 있어야 함.
- 이 지점에서 Herdr Cloud가 필요함.
- Herdr Cloud는 이번 릴리스에 포함되지 않았지만 다음에 필요한 구성 요소임.
- 목표는 단일 명령으로 머신을 연결하고 머신에 접근하는 방법을 더 이상 걱정하지 않게 만드는 것임.
- Herdr Cloud는 해당 연결을 위한 중개 계층을 제공하는 방식임.
- 터미널 트래픽은 머신과 Herdr 클라이언트 사이에서 종단 간 암호화(E2EE)됨.
- 사용자가 직접 머신을 준비하는 방식은 유지되며, Cloud가 에이전트를 대신 호스팅하지 않음.
- Herdr가 서로 다른 머신의 터미널과 에이전트 세션을 관리하면 그 위에 구축할 수 있는 기능도 늘어남.
- 장기적으로는 작업을 시작하기 전에 에이전트가 어느 머신에서 실행될지 선택하지 않아도 되도록 에이전트 세션을 머신 사이에서 이동하는 기능을 더 탐색할 계획임.
- 이 기능에는 머신 연결 이상의 작업이 필요하지만, Herdr가 1.0에 가까워지면서 고려하는 사용 사례임.
- 현재는 0.9에서 SSH를 통해 머신을 연결할 수 있으며, 다음 구성 요소를 사용하려면 Herdr Cloud 대기 목록에 참여하면 됨.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요