ConardLi/easy-agent

Production-ready open source terminal coding agent with readable, layered code: permission rules, OS sandboxing, MCP, skills, sub-agents, and Anthropic, OpenAI-compatible, Gemini, or local models.

Easy Agent – 안전한 터미널 기반 코딩 어시스턴트

기능

  • 코드 저장소 옆에서 명령줄 REPL(eagent)로 실행됩니다.
  • 자연어로 작업을 설명하면 에이전트가 계획을 세우고, 파일을 읽고 편집하며, 빌드/테스트를 실행하고 결과를 보고합니다.
  • 잠재적으로 위험한 모든 작업(파일 쓰기, 셸 명령, 네트워크 호출)은 설정한 권한 시스템을 통해 필터링되며, 선택적으로 OS 수준의 샌드박싱이 적용됩니다.

주요 기능

영역 하이라이트
핵심 도구 파일 읽기/쓰기, 다중 파일 편집, glob/grep, Bash/PowerShell 실행, 웹 가져오기/검색, MCP 기반 확장.
안전성 허용/확인/거부 규칙 엔진, 작업공간 신뢰 모델, 경로 경계 검사, 읽기 전용 Plan 모드, 분류기 지원 Auto 모드, 샌드박스(macOS의 Seatbelt, Linux의 bubblewrap).
지속성 세션 기록, 파일 체크포인트(/rewind), 프로젝트 전체 메모리(AGENT.md/AGENTS.md), 영구 작업 그래프, 재개 가능한 세션.
확장성 스킬, 사용자 정의 에이전트, 슬래시 명령, 플러그인, MCP 서버, 정적 마켓플레이스, 임베딩용 SDK.
인터페이스 대화형 터미널 UI, 헤드리스 JSON/NDJSON 출력(-p), stdio를 통한 JSON-RPC, IDE용 Agent Client Protocol, SDK(eagent/sdk).
지원 모델 Anthropic, OpenAI 호환, Gemini, 로컬 Ollama 스타일 모델; JSON 프로필 또는 환경 변수로 설정 가능.
플랫폼 macOS, Linux/WSL2(샌드박스), Windows(PowerShell, 샌드박스 없음).

사용 방법

  1. npm으로 전역 설치(npm i -g eagent)하거나 npx로 실행합니다.
  2. 모델 토큰을 내보냅니다(예: ANTHROPIC_AUTH_TOKEN).
  3. 프로젝트에 cd하고 eagent를 시작합니다.
  4. 첫 실행 시 폴더를 신뢰할지 결정합니다. 그런 다음 요청이 어떻게 인증되는지 설명해줘와 같은 자연어 요청을 입력합니다.
  5. 슬래시 명령(/help, /rewind, /model, /permissions 등)을 사용하여 세션을 제어하거나 상태를 확인하거나 변경 사항을 되돌립니다.

보안 모델

  • 권한 규칙: 허용, 확인, 거부 – 거부가 항상 우선합니다. 승인되지 않은 작업은 프롬프트를 트리거합니다.
  • 권한 모드: default(확인), plan(읽기 전용), auto(분류기가 결정하고 불확실할 때 프롬프트 표시).
  • 작업공간 신뢰: 신뢰 결정은 ~/.easy-agent/state.json에 저장됩니다. 저장소는 자신을 신뢰됨으로 표시할 수 없습니다.
  • 경로 경계: 작업공간 외부의 심볼릭 링크는 거부됩니다.
  • 샌드박스: 선택적 OS 샌드박스가 Bash 명령을 격리합니다. 시작에 실패하면 명령이 차단됩니다.
  • 로컬 데이터: 모든 세션 데이터는 제한된 권한(0700/0600)으로 ~/.easy-agent에 저장됩니다.

구성

  • 설정은 계층화된 JSON 파일(사용자 → 프로젝트 → 로컬 → CLI → 관리)입니다.
  • 모델 프로필은 settings.json에서 정의되며 eagent --model <이름> 또는 /model로 선택합니다.
  • 권한, 기능 플래그, 샌드박스 옵션은 동일한 계층 구조로 전환됩니다.

일반적인 워크플로우

  • 코드 탐색: 기능이 구현된 위치를 묻습니다. 에이전트가 grep하고 파일을 열고 설명합니다.
  • 일괄 리팩토링: 다중 파일 변경을 프롬프트하고, diff를 검토하고, 필요시 /rewind합니다.
  • CI 통합: 프롬프트를 eagent -p에 파이프하고 스크립트에서 JSON 출력을 사용합니다.
  • 사용자 정의 도구: 자신의 스킬이나 플러그인을 등록하거나 ACP 프로토콜을 통해 IDE를 연결합니다.

개발 및 기여

  • TypeScript로 구축되었으며 단일 ESM 패키지로 번들됩니다.
  • 개발 워크플로우: npm run dev; CI는 검증 스크립트와 광범위한 테스트를 실행합니다.
  • 현재 외부 PR은 받지 않지만, 재현 가능한 버그가 있는 이슈는 환영합니다.

라이선스: MIT(타사 라이선스는 별도로 명시).


Easy Agent는 터미널에서 작업하는 개발자를 위해 프로그래밍 가능하고 보안에 중점을 둔 AI 코딩 어시스턴트를 제공하는 진정한 오픈소스 프로젝트입니다.

관련

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