eko

AI Agent FrameworksCLITypeScript

★ 4,955주당 +3조회 5

무엇인가

Eko는 자연어로 기술한 작업을 에이전트 실행 계획으로 바꿔 실행하는 JavaScript/TypeScript 프레임워크다. LLM 호출, 도구 선택, 재시도, 중단 처리를 애플리케이션 코드에 직접 쓰는 대신 프레임워크 계층에 맡기는 자리에 놓인다. 브라우저와 컴퓨터(Node.js) 두 실행 환경을 같은 인터페이스로 다룬다.

어떻게 동작하나

@eko-ai/eko가 코어이고 실행 환경별로 @eko-ai/eko-nodejs, @eko-ai/eko-web, @eko-ai/eko-extension 패키지가 나뉜다. 자연어 태스크를 받으면 스트림 플래닝이 계획을 조각 단위로 내보내 화면에 점진적으로 렌더링할 수 있게 하고, 3.0의 의존성 인지 실행기가 의존 관계가 없는 단계를 병렬로 돌린다. 실행 중 상태는 task_snapshot으로 저장되어 일시정지·재개·인터럽트 뒤에 이어서 진행된다. 도구는 MCP 서버에 연결해 가져오고 모델은 태스크별로 교체하며, Loop와 Listener 태스크로 반복 실행과 이벤트 대기를 등록한다.

무엇과 다른가

단일 에이전트 루프만 두는 프레임워크와 달리 한 태스크 안의 여러 에이전트를 의존성 그래프로 묶어 병렬 실행한다. 브라우저 확장, 웹 앱, Node.js 프로세스는 런타임 제약이 각각 다른데 이를 별도 코드베이스로 나누지 않고 패키지 교체로 처리한다. 도구 연결 규격도 자체 정의 대신 MCP를 그대로 쓴다.

어떻게 쓰나

저장소는 pnpm 워크스페이스 모노레포이고 example/ 아래에 extension, nodejs, web 세 예제가 있다. 루트에서 의존성을 설치하고 코어 패키지를 빌드한 뒤 각 예제를 실행한다. 확장 예제는 빌드된 dist 디렉터리를 chrome://extensions의 개발자 모드에서 로드하고 옵션 화면에 API 키를 넣는다. Node.js 예제는 Playwright로 브라우저를 구동하며 모델 API 키가 최소 하나 필요하다. 웹 예제는 React 개발 서버를 띄우고 로그인 흐름을 에이전트로 자동화한다.

전제와 한계

브라우저나 프런트엔드 코드에 API 키를 두면 안 된다. baseURL과 요청 헤더를 통해 백엔드 프록시로 우회해야 한다. 3.x에서 4.0으로 올릴 때는 저장된 워크플로와 내보낸 계획을 v3 스키마와 의존성 그래프 형식으로 다시 생성해야 한다. Observable Chain과 Native A2A는 아직 구현되지 않았다. 라이선스는 MIT다.

관련 논문 5

유사 도구