실제 개발 작업을 위해 무료 웹 기반 AI 챗봇을 사용하는 CLI를 구축했습니다 — API 키도, 확장 프로그램도 필요 없음
요약
웹 기반 AI 챗봇(Claude, Gemini 등)과 로컬 코드베이스를 연결하여 개발 작업을 돕는 CLI 도구인 AI Bridge를 소개합니다. API 비용 없이 무료 티어를 활용하면서도 코드베이스를 효율적으로 컨텍스트로 전달할 수 있습니다.
핵심 포인트
- API 키나 유료 확장 프로그램 없이 무료 웹 챗봇 활용 가능
- 특정 모델에 종속되지 않는 유연한 모델 전환 지원
- 대규모 프로젝트를 위한 인덱싱 기반의 고급 모드 제공
- 다양한 언어(Node.js, Python, Go, Rust 등) 에코시스템 지원
저는 Claude, Gemini, ChatGPT, Qwen와 같은 웹 기반 AI 챗봇을 단순한 질의응답(Q&A) 용도가 아닌 실제 개발 작업에 사용하고 싶었습니다. 무료 티어(Free tier)는 관대하며, 저는 단일 코딩 에이전트(Coding agent)에 종속되거나 코드를 다룰 어시스턴트를 얻기 위해 API 액세스 비용을 지불하고 싶지 않았습니다. 하지만 웹 채팅을 실제 개발 작업에 사용하려고 하는 순간, 매번 똑같은 벽에 부딪히게 됩니다. 매 세션마다 코드베이스 전체를 수동으로 붙여넣거나, 아니면 포기하고 API 키가 뒤에 숨겨진 유료 확장 프로그램(Extension)을 사용하게 됩니다.
그래서 저는 **AI Bridge**를 구축했습니다. 이는 로컬 코드베이스와 브라우저 기반의 모든 AI 챗봇을 연결하는 CLI 도구입니다. API 키도 필요 없고, 백그라운드에서 실행되는 확장 프로그램도 없으며, 특정 벤더에 종속(Vendor lock-in)되지도 않습니다. 코드를 패키징하여 사용 중인 AI 채팅에 붙여넣기만 하면, 명령어를 통해 변경 사항을 다시 적용할 수 있습니다.
왜 Copilot, Cursor 또는 API 키를 사용하지 않나요?
코딩 에이전트 앱과 API 기반 도구들도 작동하지만, 제가 피하고 싶었던 트레이드오프(Tradeoffs)가 있습니다:
- 웹 기반 AI 채팅 플랜은 보통 API 사용보다 무료 티어에서 더 관대합니다.
- 특정 제공업체에 종속되지 않습니다 — 어떤 모델이 작업을 더 잘 처리하는지에 따라 프로젝트 중간에 모델을 전환할 수 있습니다.
- 백그라운드 에이전트나 확장 프로그램이 없습니다 — 그저 CLI와 이미 열려 있는 채팅 탭만 있으면 됩니다.
트레이드오프는 브라우저 채팅이 파일 시스템에 직접 접근할 수 없다는 점입니다. AI Bridge는 완전한 수동 복사-붙여넣기로 변하지 않으면서 그 간극을 메워줍니다.
작동 방식
프로젝트 규모에 따라 두 가지 모드가 있습니다.
Simple Mode는 단일 프롬프트(Prompt)에 들어갈 정도로 작은 프로젝트를 위한 모드입니다. 코드베이스를 패키징하고 몇 가지 프롬프트 템플릿과 함께 업로드한 다음, AI의 응답을 파일에 다시 적용합니다:
dotnet tool install --global Tools.AIBridge
cd /path/to/your-project
ai-bridge init
...
**Advanced Mode (고급 모드)**는 매번 모든 것을 업로드하여 토큰을 소모하고 노이즈를 추가하게 되는 대규모 코드베이스를 위한 모드입니다. 대신, 프로젝트의 일회성 index.xml 맵을 생성합니다. 그 이후부터 AI는 주어진 작업에 필요한 특정 파일만을 요청하며, AI Bridge는 컨텍스트 (context)로 오직 해당 파일들만 수집하고 묶어서 전달합니다. 따라서 매 프롬프트마다 전체 저장소 (repo)를 다시 업로드할 필요가 없습니다.
이 모드는 .gitignore를 자동으로 준수하며 (git ls-files를 통해), AI가 볼 필요가 없는 테스트 픽스처 (test fixtures)나 생성된 코드 등을 제외하기 위한 .aiignore 파일도 지원합니다.
또한 특정하게 .NET에만 국한되지 않습니다. 사용자의 에코시스템 (.csproj, package.json, pyproject.toml, go.mod, Cargo.toml)을 감지하고 그에 따라 컨텍스트 파일을 그룹화하므로, Node.js, Python, Go, Rust 프로젝트에서도 작동합니다.
변경 사항을 다시 적용하는 방식은 모드와 상관없이 동일합니다. AI의 XML 응답을 복사한 뒤 ai-bridge apply --paste를 실행하면 됩니다. 이 명령은 Windows, macOS, Linux (X11/Wayland)의 클립보드에서 직접 읽어오며, 헤드리스 (headless) 또는 SSH 환경을 위한 stdin 폴백 (fallback) 기능도 제공합니다.
빠른 데모
.사용해 보기
dotnet tool install --global Tools.AIBridge
.NET 10 SDK와 PATH에 설정된 Git이 필요합니다. 전체 설정 및 명령어 참조는 저장소 (repo)에서 확인할 수 있습니다.
저는 주로 제 자신의 워크플로우 마찰을 해결하기 위해 이것을 만들었지만, 그 외의 환경에서도 유용할지 궁금합니다. 만약 사용해 보신다면, 여러분의 작업 방식에 잘 맞는지, 혹은 어디에서 문제가 발생하는지 진심으로 알고 싶습니다. MIT 라이선스로 배포되므로, 이슈 (issue)와 PR (Pull Request) 모두 환영합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기