터미널을 위한 오픈 소스 AI 코딩 에이전트 enowxcli
요약
enowx는 터미널 환경을 위한 오픈 소스 AI 코딩 에이전트입니다. 이 도구는 계획(plan), 구축(build), 검토(review), 테스트(test) 등 전문화된 여러 에이전트가 상호작용하며 작업을 수행합니다. 특정 모델 공급자에 종속되지 않으며, RAG 기능을 통해 프로젝트 전체의 코드를 검색하고 변경 사항을 명확하게 보고하는 것이 특징입니다.
핵심 포인트
- 전문 에이전트 팀 구조로 작업 분산 및 검증
- OpenAI 호환 엔드포인트를 지원하여 모델 공급자 독립적
- 내장 RAG 기능으로 프로젝트 전체 코드 검색 가능
- Rust 기반 단일 바이너리로 모든 OS/아키텍처 지원
터미널을 위한 오픈 소스 AI 코딩 에이전트.
계획(plan), 구축(build), 검토(review), 테스트(test) 등 각자의 작업을 서로 계획하고, 구축하고, 검토하며, 테스트하는 전문 에이전트를 갖추고 있으며, 내장 코드 검색 기능과 모든 모델 제공자를 지원합니다. 단일 바이너리로 작동합니다.
웹사이트 · 문서 · 변경 로그 · 디스코드
curl -fsSL https://enowx.ai/install.sh | sh # macOS / Linux
irm https://enowx.ai/install.ps1 | iex # Windows (PowerShell)
이후 enowx를 실행합니다.
가장 일반적인 코딩 에이전트들은 하나의 모델로 사용자의 파일을 수정하며, 특정 공급자(vendor)에 종속됩니다. enowx는 다릅니다:
하나의 모델이 아닌 팀입니다. 작업을 전문 에이전트들(계획, 구축, 검토, 테스트)에게 분산시키고, 이들이 서로 메시지를 주고받으며 작업물을 상호 검토한 후에 결과를 보고합니다.어떤 공급자든 상관없습니다. 종속성이 없습니다. 로컬 또는 더 저렴한 모델(DeepSeek 등)을 포함하여 모든 OpenAI 호환 엔드포인트를 가져올 수 있습니다. 각 에이전트에게 자체 모델을 부여할 수 있습니다.문제를 찾아냅니다. 프로젝트 전체에 걸친 내장 코드 검색 기능(RAG)을 제공하며, 코드 구문을 따라 잘라내기 때문에 함수가 절반으로 나뉘는 일이 없습니다.정직합니다. 변경한 내용과 검증 방법을 보고하고, 테스트되지 않은 부분이 있다면 명확하게 알려줍니다.단일 바이너리입니다. Rust로 작성되어 설치할 런타임이 필요 없습니다. macOS, Linux, Windows에서 Intel 및 ARM 모두 지원합니다.
초기 출시 버전입니다. 이미 사용되고 있으며 매일 활용되고 있지만, 아직 개선 중인 부분이 많습니다. 버그 보고, 아이디어, PR(Pull Request)을 환영합니다.
enowx # 터미널 인터페이스 열기 (기본값)
enowx auth login deepseek # 공급자의 API 키 저장 (입력 후 확인 필요)
enowx config set model.default deepseek/deepseek-flash # 시작 모델 지정
...
초기 출시 버전입니다. v0.1.0이 첫 공개 빌드이며, 버그가 있을 수 있으니 보고해 주시기 바랍니다.
사전 구축된 바이너리는 macOS, Linux 및 Windows용으로, Intel/AMD (x86_64)와 ARM (aarch64) 아키텍처에 대해 릴리스 페이지에서 게시됩니다. 설치 프로그램은 enowx.ai에서 제공되며 해당 릴리스의 바이너리를 다운로드합니다. 명령어는 enowx이며, 이전 이름인 enx로도 답변합니다: 둘 다 동일한 바이너리를 실행하므로 enx를 사용하던 습관이나 스크립트는 계속 작동합니다.
curl -fsSL https://enowx.ai/install.sh | sh
스크립트는 적절한 빌드를 선택하고 SHA-256을 확인한 후, ~/.local/bin/enowx에 설치하며 그 옆에 enx를 연결합니다. Gatekeeper가 실행하도록 임시로 서명하고, 셸의 rc 파일(.zshrc, .bash_profile, fish의 config.fish, 또는 .profile)에 ~/.local/bin을 PATH에 추가합니다. 새 터미널을 열고 enowx를 실행하세요.
동일한 스크립트입니다. Linux 빌드는 정적(musl)이므로, Alpine을 포함하여 추가 라이브러리 없이 모든 배포판에서 실행됩니다.
curl -fsSL https://enowx.ai/install.sh | sh
PowerShell의 경우:
irm https://enowx.ai/install.ps1 | iex
이는 %LOCALAPPDATA%\Programs\enowx\enowx.exe에 설치하고, 그 옆에 enx.exe를 복사하며, 해당 폴더를 사용자 PATH에 추가합니다. 이후 새 터미널을 여세요. bash 도구는 Git for Windows가 설치되었을 때 sh에서 명령을 실행하고, 그렇지 않은 경우에는 PowerShell로 실행됩니다. Windows Terminal이 인터페이스를 가장 잘 렌더링합니다.
두 스크립트 모두 ENX_VERSION(예: v0.1.0, 최신 버전 기본값)과 ENX_INSTALL_DIR을 읽습니다. ENX_NO_MODIFY_PATH=1은 install.sh가 셸 설정을 건드리는 것을 방지합니다:
curl -fsSL https://enowx.ai/install.sh | ENX_VERSION=v0.1.0 ENX_INSTALL_DIR=/usr/local/bin sh
수동으로 설치하려면, 릴리스 페이지에서 플랫폼별 아카이브를 다운로드하고, .sha256 파일과 대조하여 enowx(enowx.exe)를 PATH에 넣어주세요:
| Platform | Archive |
|---|---|
| macOS, Apple Silicon | enowx-aarch64-apple-darwin.tar.gz |
| ... |
enowx update # 이 버전을 대체하여 최신 릴리스를 설치합니다
enowx update --check # 존재하는지 여부만 확인합니다
인터페이스는 시작할 때도 새 릴리스가 있는지 확인하고 상태 표시줄에 알려주며, /update로 설치합니다. 설정 > 업데이트에서 확인을 끌 수 있거나, 자체적으로 업데이트를 설치하도록 할 수 있습니다 (config.toml의 [update] 또는 ENX_NO_UPDATE_CHECK=1).
업데이트는 사용했던 두 이름 모두에 새 버전을 유지합니다. 설치 스크립트는 또한 이전 버전의 enowx나 enx를 가리킵니다.
사용자의 PATH의 다른 곳에서 발견됩니다.
(한 번의 cargo install은 ~/.cargo/bin에 넣습니다.) 따라서 새로운 위치에만 있고 이전 버전의 enowx나 enx는 시작할 오래된 버전이 남지 않습니다. enowx가 아닌 프로그램인 enx는 그대로 남아 있습니다. v0.2.3 이전 릴리스는 enx-<target>이라는 이름의 아카이브에서 자체 업데이트를 수행했습니다. 릴리스는 여전히 이 두 이름을 게시하므로, enx update는 v0.2.1부터, 그리고 enowx update는 v0.2.2부터 작동합니다.
curl -fsSL https://enowx.ai/install.sh | ENOWX_UNINSTALL=1 sh
PowerShell에서는: $env:ENOWX_UNINSTALL = 1; irm https://enowx.ai/install.ps1 | iex
두 명령어 모두 enowx와 enx를 제거하고 (다른 곳에서 설치된 링크도 제거합니다). ~/.enx에 있는 사용자의 설정, 키 및 세션은 유지됩니다. 이 폴더 자체를 삭제하여 제거할 수 있습니다.
Rust 툴체인을 사용하는 경우:
cargo install --git https://github.com/enowdev/enowxcli enowx-cli
또는 직접 빌드합니다 (Build 참조). enowx --version으로 설치를 확인하세요.
enowxcli는 홈 화면에서 열립니다: 워드마크인 'enow'가 픽셀 글자로 표시되고, 그 아래에 마크(주황색 중앙이 있는 불이 켜진 셀의 X 모양)가 X로 표시되며, 그 아래에 컴포저가 있습니다. 제공업체와 모델이 설정될 때까지, 컴포저 아래 줄에는 어떤 것이 누락되었는지 표시됩니다. /provider를 열고 제공업체를 선택한 다음, 해당 API 키만 입력합니다. 내장 제공업체: enxapi, OpenAI, OpenRouter, Groq, DeepSeek;
오케스트레이터는 사이드바에 그룹화된 일련의 전문가들에게 작업을 할당합니다:
LEAD: orchestrator (기본값: 간단한 질문에 답하고 나머지는 위임하며, 파일을 절대 수정하지 않음)와 모든 도구를 갖추고 수행과 위임을 혼합하는 작업에 적합한 만능형인 maestro가 있습니다. /agent maestro로 선택하세요.
BUILD: fe (프론트엔드/인터페이스), motion, canvas (독립적인 단일 파일 HTML 페이지 및 도구), be (백엔드), db, devops, mobile, systems.
SECURITY: 권한이 부여된 보안 평가의 리드를 담당하는 security와 그 팀입니다.
SUPPORT: research, review, test, docs, perf, librarian, general.
도메인에 대한 도메인 영역(DNS zone)을 제어하는 연결된 Cloudflare 계정을 확인해야 하며, 이는 해당 도메인에 대한 제어권을 증명합니다. authorize_target은 이 도메인과 그 서브도메인 및 해당 주소들을 팀이 테스트할 수 있는 범위로 기록합니다. 계정이 제어하지 않는 도메인은 거부됩니다. enowx auth login cloudflare로 계정을 연결하세요:
: 어떤 범위(최소한의 Zone:Read, 중간, 또는 전체, 모두 읽기 전용)를 요청하는지 묻고, 해당 템플릿이 미리 채워진 Cloudflare 토큰 페이지를 열어 붙여넣은 토큰이 영역을 읽는지 확인하고 저장합니다. 가장 오래 지속되는 토큰의 경우 만료일을 '만료 없음'으로 유지하세요(기본값이며 어떤 종료일보다도 길게 지속됩니다). 이 토큰은 auth.json 또는 CLOUDFLARE_API_TOKEN에서 읽어옵니다.
모든 역할은 승인된 대상만을 테스트하며, 쓰기 작업보다는 읽기 작업을 수행하고, 무해한 페이로드(절대 파괴적인 것은 아님)로 발견 사항을 증명하며, 실제 비밀 정보를 절대 출력하지 않습니다. 확인된 모든 문제는 report_finding 도구를 사용하여 기록되며, 이 도구는 항상 동일한 형식으로 구성합니다: 심각도(severity), 위치(location), 재현 방법(reproduction), 영향(impact), 및 수정(fix). 별도의 security 감사는 코드를 테스트하는 것이 아니라 읽어들이는 security 기술군으로 남아 있습니다. 이는 출시 전에 자체 프로젝트와 같이 테스트할 권한이 있는 시스템을 평가하기 위함입니다.
enowx는 자체 MCP 서버 4개를 배포하며, 이를 enowx 바이너리(Node나 Python 불필요)가 제공합니다. 이 네 개 모두 기본적으로 /mcp에 나열되어 있으며, 비활성화 상태입니다. Tab을 사용하여 하나를 활성화하세요; 자격 증명이 없는 서버는 대신 구성 양식(config form)을 열고, 여기도 c로 접근할 수 있습니다. 변경 사항은 재시작 없이 실행 중인 세션에 적용됩니다.
| 서버 | 에이전트가 제공하는 기능 |
|---|---|
coolify | 애플리케이션, 서버, 데이터베이스, 서비스 및 프로젝트; 배포(deploy), 시작(start), 중지(stop), 재시작(restart); 로그; 배포 항목; 환경 변수 이름 |
dokploy | 애플리케이션이 포함된 프로젝트, compose 스택 및 데이터베이스; 배포, 재배포, 시작, 중지; 로그; 배포 항목; 서버; 컨테이너 |
vps | SSH를 통한 VPS: 명령 실행 또는 읽기 전용 상태(부하, 디스크, 메모리, Docker) 확인 |
rag | 작업 공간 전체에 대한 코드 검색: index, search, status, forget (설정 > RAG에서 설정) |
TUI에서 서버를 선택하거나(c 행), 에이전트가 대신 실행할 수 있는 CLI를 통해 서버를 구성할 수 있습니다. enowx는 자격 증명(credentials)을 받는 즉시 MCP를 새로 고치므로, 세션을 재시작할 필요가 없습니다.
enowx mcp set coolify --url https://coolify.example.com --token <token>
enowx mcp set dokploy --url https://dokploy.example.com --token <token>
enowx vps add prod --host 203.0.113.5 --user root --key ~/.ssh/id_ed25519
...
VPS는 ssh가 하는 방식대로 로그인합니다. 이때 다음을 순차적으로 시도합니다: 제공된 키 파일(OpenSSH, PEM 또는 PuTTY .ppk; 암호 구문(passphrase)이 있는 암호화된 경우 --passphrase로 요청하거나 제공), ssh-agent에 있는 키(Pageant 또는 Windows의 OpenSSH agent), ~/.ssh/config의 IdentityFile, 또는 기본값인 ~/.ssh/id_* 키, 비밀번호, 그리고 해당 비밀번호로 응답하는 키보드 인터랙티브 방식입니다. --host는 ~/.ssh/config의 별칭(alias)일 수 있으며, 이때 HostName, User, 및 Port가 사용됩니다. --user는 설정 파일의 기본값을 따릅니다. 일회용 코드를 요청하는 서버는 보고만 할 뿐 응답하지 않습니다: 해당 위치에 키를 사용하세요. TUI에서 vps 행의 c는 동일한 필드를 가집니다.
URL, 호스트 및 사용자 이름은 ~/.enx/builtin-mcp.json에 저장되며; 토큰과 VPS 비밀번호 및 키 암호 구문은 ~/.enx/auth.json(사용자 본인만 읽기 가능)에 저장되고, 대화 기록에는 절대 남지 않습니다. 에이전트에게 설정하도록 요청하면(
당신을 위해, 그러면 서버는 재시작 없이 라이브 상태가 됩니다. 도구가 반환하는 내용에서는 비밀번호처럼 보이는 필드와 환경 변수 값은 마스킹됩니다. VPS의 호스트 키는 첫 연결 시(~/.enx/vps_known_hosts) 기록되며, 나중에 다른 키가 사용되면 암호를 보내기 전에 거부됩니다. 당신이 같은 이름으로 선언한 서버(예: ~/.claude/mcp.json에서)는 그 이름을 유지합니다.
다른 MCP 클라이언트들도 이를 실행할 수 있습니다. 명령어는 enowx mcp serve coolify (또는 dokploy, vps, rag)를 stdio로 사용하는 것입니다.
rag는 작업 공간을 Postgres에 pgvector 확장 기능으로 인덱싱하여 에이전트가 의미로 검색할 수 있게 합니다. 설정(Settings)에도 자체 섹션이 있습니다(Ctrl+P, 그리고 RAG, 또는 /rag):
| 필드 | 선택지 | |
|---|---|---|
| 코드 검색 (RAG) | 켜기 또는 끄기 (기본값: 꺼짐) |
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기