emdash

AI Agent OrchestrationIDETypeScript

★ 5,733주당 +66조회 9

무엇인가

Emdash는 AI 코딩 에이전트 CLI를 여러 개 동시에 굴리기 위한 데스크톱 애플리케이션이다. 터미널 에뮬레이터나 IDE 플러그인 대신 에이전트의 실행·격리·검토를 한 창에 묶는 오케스트레이션 계층에 해당한다. 로컬 프로젝트와 SSH로 접속한 원격 머신을 같은 흐름으로 다룬다.

어떻게 동작하나

작업을 시작하면 해당 저장소에 Git worktree와 브랜치를 새로 만들고 그 안에서 에이전트 CLI를 실행한다. worktree마다 작업 디렉터리가 분리되므로 동시 실행 중에도 파일이 서로 충돌하지 않는다. 설치된 provider CLI는 자동으로 감지된다. 라이프사이클 훅을 지원하는 에이전트에는 사용자 수준 설정 파일에 marker 태그가 붙은 훅 항목을 심어 상태·알림·세션 재개를 추적하며, 이 훅은 Emdash 세션 밖에서 실행될 때 아무 동작도 하지 않는다. 앱 상태는 로컬 SQLite 데이터베이스에 저장된다.

무엇과 다른가

여러 터미널 탭을 열어 에이전트를 돌리는 방식과 달리 작업 단위가 Git worktree로 분리되어 있어 어느 변경이 어느 브랜치에 속하는지 섞이지 않는다. diff 검토, 풀 리퀘스트 생성, CI 검사 확인, 머지가 같은 화면에서 이어진다. Linear, GitHub, Jira, GitLab, Asana, Featurebase, Monday.com, Forgejo, Plain의 이슈와 티켓을 에이전트 입력으로 직접 넘긴다.

어떻게 쓰나

설치 파일은 릴리스 페이지에서 데스크톱 빌드로 받는다. 실행하면 이미 설치된 provider CLI를 자동으로 찾아 쓰므로 Claude Code, Codex, Cursor, OpenCode, Amp, Devin, Qwen Code, Droid, GitHub Copilot 같은 도구를 그대로 연결한다. 원격 프로젝트는 SSH/SFTP로 접속하고 SSH agent, 키, 비밀번호 인증을 쓰며 자격 증명은 OS 키체인에 보관한다.

전제와 한계

에이전트 CLI 자체는 포함되지 않으므로 각 provider를 별도로 설치해야 한다. 원격 작업에는 SSH/SFTP 접속 정보가 필요하다. Emdash는 로컬 우선으로 동작하고 코드와 채팅을 Emdash 서버로 보내지 않지만, 에이전트 CLI는 선택한 provider에 코드·프롬프트·컨텍스트를 전송할 수 있고 그 처리 방식은 provider에 달려 있다. 텔레메트리는 선택 사항이며 설정에서 끄거나 실행 시 플래그로 비활성화한다. 라이선스는 Apache-2.0이다.

관련 논문 1

유사 도구