xenodium/agent-shell

A native Emacs buffer to interact with LLM agents powered by ACP

Emacs Agent Shell

무엇인가요agent‑shell 는 대규모 언어 모델(LLM) 에이전트와 대화할 수 있는 네이티브한 REPL 유사 버퍼를 제공하는 Emacs 패키지입니다. 이 패키지는 Agent Client Protocol (ACP) 를 통해 에이전트와 통신하며, 많은 상용 코드 어시스턴트(Claude, Codex, Gemini, Goose, Grok Build, Cursor, Kimi Code 등)에서 사용하는 표준화된 JSON-over-stdio 인터페이스입니다.

작동 방식 – 이 패키지는 Emacs의 내장된 comint-shell (보조 라이브러리 shell-maker 를 통해) 기반으로 구축됩니다. agent‑shell 버퍼를 시작하면 적절한 외부 CLI(예: claude-agent-acp, codex-acp, gemini-cli 등)가 --acp 플래그와 함께 실행됩니다. CLI는 ACP 모드에서 실행되며 stdin에서 JSON 요청을 읽고 stdout에 JSON 응답을 씁니다. agent-shell 은 프롬프트를 포맷하고 전송하며, 어시스턴트의 응답을 버퍼 내에 직접 표시합니다. 다중 줄 입력, 이미지 붙여넣기, 스크린샷 캡처, 환경 변수 구성 기능을 지원합니다.

주요 기능

  • 다중 에이전트 지원 – ACP 호환 에이전트라면 어떤 것도 사용 가능합니다. README에는 수십 가지가 목록화되어 있습니다(Anthropic Claude, OpenAI Codex, Google Gemini, Goose, Grok Build, Cursor, Kimi, CodeBuddy, Kiro, Qwen Code, Auggie, Mistral Vibe, Factory Droid, Pi, Oh‑My‑Pi, Opencode 등).
  • 풍부한 Emacs 통합 – 일반 Emacs, Doom Emacs와 호환되며, 사이드바, 워크스페이스, 알림, Org-mode 대화 기록, Docker 사전 등 확장 기능의 생태계가 성장 중입니다.
  • 인증 헬퍼 – 각 제공자용 API 키, OAuth 토큰, 로그인 기반 인증을 위한 편의 함수를 제공하며, .env 파일에서 환경 변수를 로드하거나 Emacs 환경을 상속하는 유틸리티도 포함합니다.
  • 이미지 및 스크린샷 처리 – macOS, Linux(Wayland/X11), Windows에서는 외부 도구를 통해 클립보드 이미지 붙여넣기 및 화면 캡처를 지원합니다.
  • 패키지 배포 – MELPA(agent-shell, acp.el, shell-maker)에서 사용 가능하며, use-package 또는 Doom의 package! 매크로로 설치 가능합니다.

일반적인 워크플로우

  1. 원하는 에이전트용 외부 CLI 설치 (예: npm install -g @agentclientprotocol/claude-agent-acp).
  2. Emacs 설정에 agent-shell 추가 및 인증 변수 옵션 설정.
  3. M-x agent-shell (또는 제공자별 명령어) 실행하여 버퍼 열기.
  4. 프롬프트 입력 후 RET 입력, LLM의 응답을 바로 Emacs 내에서 확인 가능. 이미지나 스크린샷을 붙여넣을 수 있으며, 백엔드가 지원하면 에이전트로 전송됩니다.

왜 중요한가요 – 현대의 LLM 코드 어시스턴트의 힘을 전통적인 Emacs 워크플로우에 가져와, 개발자가 에디터 내에서 머물면서 코드 생성, 리뷰, 디버깅 또는 기타 에이전트 기반 작업에 AI를 활용할 수 있게 해줍니다.


이 프로젝트는 단순한 목록이나 튜토리얼이 아니라, AI 보조 개발을 위한 진정한 소프트웨어 도구입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트