editor-code-assistant/eca

Editor Code Assistant (ECA) - AI pair programming capabilities agnostic of editor

해결하는 문제

ECA는 표준화된 편집기 비종속 방식을 제공하여 대형 언어 모델(LLM)을 다양한 코드 편집기에 통합합니다. 각 편집기가 자체적으로 복잡한 AI 로직을 구현할 필요가 없어 개발자는 Emacs, VS Code, IntelliJ 등 서로 다른 도구에서도 일관된 AI 페어 프로그래밍 경험과 단일 설정을 누릴 수 있습니다.

작동 방식

ECA는 Clojure로 작성된 서버이며, Language Server Protocol(LSP)에서 영감을 받았습니다. 편집기는 eca server 명령으로 ECA 서버를 실행하고 stdin/stdout을 통해 통신합니다. 이 서버는 도구 호출, 다중 LLM 상호작용 및 텔레메트리를 관리하는 중간 계층 역할을 하며, 편집기는 편집 및 변경 계획 UI에 집중합니다.

대상 사용자

여러 코드 편집기를 사용하는 개발자 또는 OpenAI, Anthropic, Copilot, 로컬 Ollama 모델 등 다양한 LLM 제공자를 지원하는 일관된 오픈소스 AI 어시스턴트를 원하는 사용자에게 설계되었습니다.

주요 특징

  • 편집기 비종속 프로토콜: 통합된 프로토콜을 통해 어떤 편집기든 AI 기능을 쉽게 통합할 수 있습니다.
  • 다중 모델 지원: OpenAI, Anthropic, Copilot 및 Ollama를 통한 로컬 모델 등 다양한 제공자를 호환합니다.
  • 에이전트 기능: 서로 다른 모델, 도구, 동작을 가진 다수의 에이전트 및 서브에이전트 구성을 지원합니다.
  • 포괄적인 기능 세트: 채팅, 코드 재작성, 코드 완성을 포함합니다.
  • 컨텍스트 인식: MCP 리소스와 프롬프트를 포함한 상세 코드 컨텍스트 제공을 지원합니다.
  • 관측 가능성: OpenTelemetry를 통합하여 도구와 서버 사용에 대한 메트릭을 내보냅니다.