VSCode 기반 코드 어시스턴트 플러그인 (LLM 및 LM 지원)
- 멀티모델 AI 지원:
- Gemini 2.5 Pro Flash: Google의 고급 LLM으로 지능형 코드 생성 및 분석
- Ollama 통합: 오프라인 AI 처리를 위한 로컬 Ollama 서버 통합
- Gemma3:27b: 128K 토큰 제한으로 코드 생성 및 분석
- DeepSeek R1:70B: 200K 토큰 제한으로 한국어 최적화
- CodeLlama 7B: 8K 토큰 제한으로 코드 생성에 최적화
- itc-gpt-oss:120b: 외부 서버 모델 지원 (자동 API URL 설정)
- 로컬 모델 자동 감지:
ollama list명령으로 설치된 모델 자동 목록화
- 동적 모델 선택: 설정에서 클라우드와 로컬 AI 모델 간 전환 가능
- 듀얼 모드 인터페이스:
- CODE 탭: 코드 생성, 수정, 프로젝트 작업에 특화
- ASK 탭: 일반 Q&A 및 실시간 정보 질의
- 맥락 인식 응답: 프로젝트 구조와 기존 코드를 분석하여 관련성 높은 제안 제공
- 자연어 처리: 복잡한 요청도 자연어로 이해
- 로컬 AI 처리: Ollama 통합으로 완전한 오프라인 기능 제공
- 자동 파일 컨텍스트 시스템: 소스 경로 수동 선택을 제거하고 LLM이 자동으로 관련 파일을 발견
- package.json 기반 프로젝트 인식: 프로젝트 타입을 파악하여 관련 기본 파일들을 자동 선정
- 두 단계 LLM 컨텍스트 계획: 파일 선정 → 내용 수집의 지능적인 접근 방식
- 휴리스틱 폴백: LLM 기반 접근이 실패할 경우 기존 휴리스틱 방식으로 폴백
- 프로젝트 타입별 핵심 설정 파일 자동 포함:
- Node.js/React/Vue/Angular:
package.json,tsconfig.json,webpack.config.js등 항상 포함 - Spring 프로젝트:
pom.xml,build.gradle,application.properties등 항상 포함 - Python 프로젝트:
requirements.txt,pyproject.toml,setup.py등 항상 포함 - Java 프로젝트:
pom.xml,build.gradle,gradle.properties등 항상 포함 - Go 프로젝트:
go.mod,go.sum,Gopkg.toml등 항상 포함 - Rust 프로젝트:
Cargo.toml,Cargo.lock등 항상 포함 - C# 프로젝트:
*.csproj,*.sln,packages.config등 항상 포함
- Node.js/React/Vue/Angular:
- 3단계 우선순위 파일 수집: 설정 파일(최고) → src 파일(높음) → 기타 파일(키워드 기반)
- 스마트 파일 선택: @ 버튼으로 특정 파일을 선택해 맥락에 포함
- CODE 탭: 맥락 인식 코드 생성 및 수정을 위한 전체 파일 작업 기능
- ASK 탭: 맥락 인식 질의를 위한 파일 선택 (읽기 전용, 파일 작업 없음)
- 지속적 파일 컨텍스트: 선택한 파일이 여러 대화에서 유지됨
- 다중 파일 작업: 여러 파일을 동시에 생성, 수정, 삭제 지원
- 프로젝트 루트 설정: 정확한 파일 작업을 위한 루트 경로 설정 가능
- 자동 파일 업데이트: AI 제안에 따라 파일 자동 생성/수정 옵션 제공
- 파일 태그 관리: 개별 제거 및 전체 삭제 기능이 있는 시각적 파일 태그
- 이미지 지원: 코드 분석 및 디버깅을 위한 이미지 업로드 가능
- 드래그&드롭 인터페이스: 클립보드 붙여넣기로 이미지 첨부 가능
- 시각적 맥락: AI가 스크린샷, 다이어그램, 코드 이미지를 분석
- 수동 명령어 실행: AI 응답의 bash callout에 "Run" 버튼 제공
- 보안 강화: 자동 실행 제거로 사용자가 명시적으로 명령어 실행 결정
- 주석 필터링:
#주석이 포함된 라인은 자동으로 제외 - 순차 실행: 여러 명령어를 순차적으로 실행하여 안정성 확보
- 전용 터미널: CodePilot 전용 터미널에서 명령어 실행
- 실행 피드백: 명령어 실행 상태 및 결과를 사용자에게 알림
- 날씨 정보: 기상청 API 연동
- 현재 날씨 및 예보
- 7일 예측
- 위치별 날씨 데이터
- 뉴스 업데이트: NewsAPI 연동
- 주제별 뉴스 검색
- 실시간 뉴스 집계
- 출처 및 타임스탬프 표시
- 주식 시장 데이터: Alpha Vantage API 연동
- 실시간 주가 및 변동
- 주요 주식(AAPL, GOOGL, MSFT, TSLA, AMZN) 추적
- 변동률 계산
- 입력 토큰 계산: Gemini와 Ollama 모델 모두에 대한 자동 토큰 카운팅
- 모델별 제한:
- Gemini 2.5 Flash: 1,000,000 입력 토큰, 500,000 출력 토큰
- Gemma3:27b: 128,000 입력/출력 토큰
- DeepSeek R1:70B: 200,000 입력/출력 토큰
- CodeLlama 7B: 8,192 입력/출력 토큰
- 토큰 제한 경고: 입력 토큰이 모델 제한을 초과할 때 자동 감지 및 사용자 경고
- 사용량 모니터링: 실시간 토큰 사용량 로깅 및 백분율 추적
- 멀티모델 AI 설정:
- AI 모델 선택: Gemini 2.5 Pro Flash와 Ollama 중 선택
- Ollama 모델 선택: 로컬 설치된 모델 자동 목록화 및 선택
- 로컬 모델:
ollama list명령으로 자동 감지된 모델들 - 외부 서버 모델: itc-gpt-oss:120b 등 외부 서버 모델 지원
- 자동 API URL 설정: 특정 모델 선택 시 API URL 자동 설정
- 로컬 모델:
- Ollama 서버 설정: Ollama API URL 및 엔드포인트 선택 설정
- 로컬 Ollama:
http://localhost:11434+/api/generate - 외부 서버:
http://10.202.251.21:11434(itc-gpt-oss:120b 자동 설정) - 사용자 정의 서버:
https://your-server.com+/api/chat
- 로컬 Ollama:
- 동적 설정: 선택된 모델에 따라 관련 설정 자동 활성화/비활성화
- API 키 관리: 여러 외부 API 키를 안전하게 저장
- Gemini API 키 설정
- 날씨 API 키 설정
- 뉴스 API 자격증명(Client ID & Secret)
- 주식 API 키 관리
- Banya 라이센스 관리:
- AES-256-CBC 암호화로 라이센스 시리얼 저장
- Firebase Firestore 검증 시스템
- 저장된 라이센스 읽기 전용 표시
- 라이센스 삭제 및 재검증 기능
- 자동 파일 컨텍스트: LLM이 자동으로 관련 파일을 발견하여 맥락에 포함
- 자동 업데이트 설정: 자동 파일 작업 on/off 토글
- 프로젝트 루트 설정: 유연한 프로젝트 디렉토리 지정
- 코드 블록 표시: 언어 감지 및 하이라이트된 코드 블록
- 복사 버튼: 원클릭 코드 복사 기능
- 파일 작업 추적: 파일 생성, 수정, 삭제에 대한 실시간 피드백
- Diff 보기: 원본과 AI 제안 코드의 나란히 비교
- 에러 처리: 포괄적 에러 리포팅 및 사용자 피드백
- API 키 안전 저장: 민감한 API 키를 VS Code SecretStorage에 저장
- 암호화된 라이센스 저장: Banya 라이센스 시리얼을 AES-256-CBC로 암호화
- 라이센스 보호: CODE 및 ASK 탭은 유효한 Banya 라이센스가 필요
- 로컬 처리: 핵심 기능은 인터넷 없이도 동작
- 개인정보 우선: 외부 전송 없이 로컬 코드 분석
- VS Code 통합: 네이티브 테마 및 스타일 적용
- 반응형 디자인: 다양한 화면 크기와 테마에 적응
- 직관적 네비게이션: CODE/ASK 모드 간 손쉬운 전환
- 로딩 인디케이터: AI 처리 중 시각적 피드백
- 메시지 히스토리: 명확한 대화 흐름과 기록
- 다국어 지원: 7개 언어 완전 지원 (한국어, 영어, 일본어, 독일어, 스페인어, 프랑스어, 중국어)
- 라이센스 상태 표시: 라이센스 검증 상태 및 읽기 전용 라이센스 필드 시각적 표시
- 요청 중단: AI 요청 취소 가능
- 맥락 최적화: 최적의 성능을 위한 스마트 맥락 길이 관리
- 파일 타입 필터링: 바이너리/비코드 파일 자동 제외
- 메모리 관리: 대용량 코드베이스 효율적 처리
- 네트워크 안정성: 로컬 네트워크 연결을 위한 Node.js HTTP 모듈 사용
- 웹뷰 안전성: disposed 웹뷰 에러 방지를 위한 보호된 메시지 처리
- 대화 히스토리 파일 추적: 생성/수정/삭제된 파일 목록을 대화 히스토리에 저장하여 이전 작업 이력을 컨텍스트에 포함
- Banya 라이센스 검증:
- Firebase Firestore 기반 라이센스 검증 시스템
- 하이픈 포함 16자리 시리얼 번호 형식
- 클라우드 데이터베이스와의 실시간 라이센스 검증
- 암호화 저장:
- 라이센스 시리얼 번호를 AES-256-CBC로 암호화
- VS Code SecretStorage에 안전하게 저장
- SHA-256 키 해싱으로 자동 암호화/복호화
- 접근 제어:
- CODE 및 ASK 탭은 유효한 라이센스가 필요
- 다국어 지원 오류 처리
- 라이센스 상태 표시 및 읽기 전용 표시
- 라이센스 관리:
- 라이센스 시리얼 입력 및 검증
- 라이센스 삭제 및 재검증
- 라이센스 작업에 대한 시각적 피드백
- 코드 생성: "React 사용자 인증 컴포넌트 생성해줘"
- 코드 수정: "이 함수에 에러 핸들링 추가해줘"
- 실시간 정보: "서울 날씨 알려줘" 또는 "최신 IT 뉴스 보여줘"
- 주식 질의: "현재 주요 주식 시세 알려줘"
- 파일 작업: "날짜 포맷 유틸리티 파일 생성해줘"
- 파일 선택: @ 버튼으로 특정 파일을 선택하여 맥락에 포함
- CODE 탭 작업: "이 코드를 분석하고 리팩토링해줘" (전체 파일 작업)
- ASK 탭 질의: "이 코드의 성능을 분석해줘" (읽기 전용 분석)
- 토큰 관리: 자동 토큰 사용량 모니터링 및 제한 경고
- nvm 0.39.1
- node v21.7.1
- npm install
-
Node.js 환경 설정
# nvm (Node Version Manager) 설치 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash # Node.js v21.7.1 설치 nvm install 21.7.1 nvm use 21.7.1
-
VS Code 확장 개발 도구
# VS Code 확장 생성기 설치 npm install -g yo generator-code
-
저장소 클론 및 의존성 설치
git clone https://github.com/DAIOSFoundation/codepilot.git cd codepilot npm install -
확장 빌드
# 개발 빌드 (감시 모드) npm run watch # 프로덕션 빌드 npm run package
-
개발 모드에서 실행
# VS Code에서 F5를 눌러 확장 호스트 실행 # 또는 명령 팔레트: "Developer: Reload Window"
-
AI 모델 설정
- VS Code 명령 팔레트 열기 (
Ctrl+Shift+P/Cmd+Shift+P) - "CodePilot: Open Settings Panel" 실행
- Gemini 사용 시: Gemini API 키 입력 (Google AI Studio에서 획득)
- Ollama 사용 시: Ollama 설치 후 API URL 설정 (기본값: http://localhost:11434)
- VS Code 명령 팔레트 열기 (
-
Ollama 설정 (선택사항)
# Ollama 설치 curl -fsSL https://ollama.ai/install.sh | sh # Ollama 서버 시작 ollama serve # 모델 다운로드 ollama pull gemma3:27b ollama pull deepseek-r1:70b ollama pull codellama:7b
-
선택적 외부 API
- 날씨 API: 기상청 API Hub에서 API 키 획득
- 뉴스 API: 네이버 개발자센터에서 Client ID & Secret 획득
- 주식 API: Alpha Vantage에서 API 키 획득
# 모든 테스트 실행
npm test
# 감시 모드에서 테스트 실행
npm run watch-tests
# 린팅 실행
npm run lint-
확장 활성화
- VS Code 열기
- 확장 뷰로 이동 (
Ctrl+Shift+X) - 활동 표시줄에서 "CodePilot" 찾기
- CODE와 ASK 탭이 모두 보이는지 확인
-
CODE 탭 테스트
# 코드 생성 테스트 - CODE 탭 열기 - 입력: "간단한 React 컴포넌트 생성해줘" - 코드 블록이 포함된 AI 응답 확인 # 파일 작업 테스트 - @ 버튼으로 파일 선택 - 파일 수정 요청 - 파일 생성/수정 확인
-
ASK 탭 테스트
# 일반 Q&A 테스트 - ASK 탭 열기 - 질문: "TypeScript란 무엇인가요?" - 유익한 응답 확인 # 실시간 정보 테스트 - 질문: "서울 날씨 알려줘" - 질문: "최신 IT 뉴스 보여줘" - 질문: "현재 주식 시세 알려줘"
-
설정 테스트
# API 키 관리 테스트 - 설정 패널 열기 - API 키 추가/업데이트 - 안전한 저장 확인 # 언어 전환 테스트 - 언어 설정 변경 - UI 즉시 업데이트 확인
-
파일 컨텍스트 테스트
- 여러 파일이 있는 테스트 프로젝트 생성
- @ 버튼으로 특정 파일 선택
- AI 응답에 컨텍스트가 포함되는지 확인
-
이미지 분석 테스트
- 코드 스크린샷이나 다이어그램 업로드
- 코드 분석 요청
- AI가 시각적 내용을 이해하는지 확인
-
다국어 테스트
- 지원되는 모든 언어 테스트
- 적절한 현지화 확인
- 언어 설정 지속성 테스트
-
대용량 코드베이스 테스트
- 100개 이상 파일이 있는 프로젝트로 테스트
- 메모리 사용량 모니터링
- 응답 시간 확인
-
API 속도 제한 테스트
- 여러 빠른 요청 테스트
- 적절한 에러 처리 확인
- 중단 기능 확인
# 디버그 로깅 활성화
# VS Code settings.json에 추가:
{
"codepilot.debug": true
}
# 확장 로그 보기
# VS Code: 도움말 > 개발자 도구 토글 > 콘솔알려진 이슈를 명시하면 중복 이슈 등록을 줄일 수 있습니다.
릴리즈 노트는 RELEASE.ko.md를 참조하세요.
- Version 2.7.0 (2025/01/15): 다운로드
- 자동 파일 컨텍스트 시스템: LLM이 자동으로 관련 파일을 발견
- package.json 기반 프로젝트 인식 및 관련 파일 자동 선정
- 대화 히스토리 파일 추적: 생성/수정/삭제된 파일 목록 저장
- 두 단계 LLM 컨텍스트 계획: 파일 선정 → 내용 수집
- 소스 경로 수동 선택 UI 제거로 사용자 경험 개선
- Version 2.5.9 (2025/09/15): 다운로드
- Ollama 통합을 통한 CodeLlama 7B 지원 추가
- 통합 인터페이스로 개선된 Ollama 모델 관리
- 향상된 다국어 지원 (7개 언어)
- 코드 생성 작업을 위한 최적화된 토큰 관리
이 소스코드의 발전에 함께할 분을 찾고 있습니다. 문의: [email protected]
즐겁게 사용하세요!