mehdihadeli/AIAssist
요약
AIAssist는 문맥 인식(Context Aware) 기능을 갖춘 AI 코딩 어시스턴트로, 코드 개발, 설명, 리팩터링, 버그 수정 등 다양한 작업을 돕습니다. OpenAI, Azure AI Services, Anthropic, Gemini 등 여러 온라인 API와 Ollama를 통한 로컬 모델을 지원하며, 터미널 환경에서 작동합니다. 다양한 프로그래밍 언어(C#, Java, go 등)를 지원하고, RAG 기반의 애플리케이션 문맥 요약 및 다양한 결과 형식을 제공하는 것이 특징입니다. 또한, 토큰 사용량과 가격 추적 기능까지 갖추고 있어 개발 워크플로우에 통합하기 용이합니다.
핵심 포인트
- 문맥 인식(Context Aware) 기능을 통해 RAG 기반의 애플리케이션 문맥을 요약하고 AI가 이해하도록 돕습니다.
- OpenAI, Azure AI Services, Anthropic, Gemini 등 다양한 온라인 API와 Ollama를 통한 로컬 모델 사용이 가능합니다.
- 코드 개발, 리팩터링, 버그 수정 및 설명 등 광범위한 코딩 작업을 지원하는 터미널 기반 어시스턴트입니다.
- 다양한 프로그래밍 언어(C#, Java, go 등)와 결과 형식(Unified Diff Format 등)을 지원하며, 토큰 사용량과 가격 추적 기능이 포함되어 있습니다.
- 터미널에서 `dotnet tool install` 명령어로 설치 및 환경 변수 설정을 통해 쉽게 사용할 수 있습니다.
Context Aware (문맥 인식)
코드 개발, 코드 설명, 코드 리팩터링 (refactor) 및 리뷰, 버그 수정(bug fix)을 돕고 로컬 및 온라인 언어 모델을 지원하며 터미널 내에서 작동하는 AI 코딩 어시스턴트 (AI coding assistant)
AIAssist는
다음의 AI 서비스들과 호환됩니다:
- API를 통한 OpenAI
- API를 통한 Azure AI Services
- Ollama를 사용하여 로컬에서 Ollama 모델 사용
- API를 통한 Anthropic
- API를 통한 OpenRouter
- API를 통한 Grok
- API를 통한 Gemini
- API를 통한 DeepSeek
- API를 통한 Qwen
Tip
Ollama와 deepseek-v2.5 또는 qwen2.5-coder와 같이 코드에 더 적합한 모델을 로컬에서 사용할 수 있습니다. 로컬 모델을 사용하려면 먼저 Ollama 프로세스를 실행해야 합니다. Ollama를 실행하기 위해 Ollama Docker 컨테이너를 사용할 수 있습니다.
Note
vscode 및 jetbrains 플러그인 (plugins) 개발이 계획되어 있으며 곧 추가할 예정입니다.
- ✅
Context Aware(문맥 인식)
Retrieval Augmented Generation (RAG) 또는 tree-sitter 애플리케이션 요약(application summarization)을 기반으로 한 AI 임베딩 (AI embeddings)을 통해 애플리케이션 문맥을 요약하고 AI가 이해하도록 하는 AI 코드 어시스턴트입니다. - ✅ Unified Diff Format, Code Block Format, Search-Replace Format과 같은 다양한 결과 형식을 지원합니다.
- ✅ 새로운 기능을 개발하고, 버그를 찾으며, 기존 코드 베이스를 리팩터링 (refactor) 및 리뷰하기 위한 코드 어시스턴트입니다.
- ✅ 터미널을 통해 다양한 로컬 및 온라인 AI 모델과 대화할 수 있는 채팅 모드 (Chat mode)를 제공합니다.
- ✅ 로컬 Ollama 모델과 OpenAI 및 Azure AI Service 모델을 지원합니다.
- ✅ C#, Java, go,... 등 다양한 프로그래밍 언어를 지원합니다.
- ✅ 코드 블록을 보여주기 위한 구문 강조 (Syntax highlighting)를 지원하며, dracula 테마나 vscode light 테마와 같이
theme 변경 (changing theme)이 가능한md format을 AI 결과에 사용합니다. - ✅ 코드 어시스트 프로세스에서 제외하고 싶은 파일과 폴더를 제외하여 최종 토큰 크기를 줄일 수 있도록.aiassistignore파일을 통해 AIAssist 전용 무시 파일을 정의합니다. - ✅aiassist가 실행되는 디렉토리의aiassist-config.json을 생성하여설정 (configuration)을 사용자 정의할 수 있습니다.
및 미리 정의된 aiassist-config.json과 같은 형식을 사용합니다. - ✅ 각 모델에 따른 토큰 사용량 및 계산된 가격 표시
input token (입력 토큰)
및 output token (출력 토큰)
가격. - ✅ aiassist-config.json 내의 ModelsInformationOptions 섹션을 통해 사용자 정의 모델 정보를 생성하여 모델 정보를 사용자 정의할 수 있으며, 이는 미리 정의된 모델 정보와 같은 형식을 따릅니다. - ✅ aiassist-config.json 내의 ModelsOptions 섹션을 통해 모델 옵션을 사용자 정의할 수 있으며, 이는 미리 정의된 모델 옵션과 같은 형식을 따릅니다. - ✅ aiassist code, aiassist chat, aiassist explain과 같은 터미널 메인 명령어를 제공하며, :clear, :add-file, :clear-history, :token 등과 같은 일부 내부 명령어를 지원합니다.
AIAssist는 기본적으로 Azure AI Services 또는 OpenAI API를 사용합니다. OpenAI 또는 Azure AI API를 사용하려면 ApiKey (API 키)가 필요합니다.
dotnet tool에 접근하려면 먼저 최신 .NET SDK를 설치해야 합니다. -dotnet tool install및 아래 명령어를 사용하여aiassist를 설치합니다:
dotnet tool install --global AIAssist
- OpenAI의 경우, API 키가 없다면 OpenAI에 가입하여 API 키를 받을 수 있습니다.
- Azure AI 서비스의 경우, Azure 계정에 가입하여 AI 모델 API 키를 받을 수 있습니다.
- API 키를 받은 후에는 환경 변수 (environment variable) 또는 명령 옵션 (command options)을 통해 채팅 및 임베딩 (embedding) 모델에 대한 API 키를 설정해야 합니다.
- 이제 터미널에서
cd명령어를 사용하여project directory(프로젝트 디렉토리)로 이동하여aiassist를 실행하고 API 키를 설정합니다.
# 프로젝트 디렉토리로 이동
cd /to/project/directory
environment variable(환경 변수)를 통해Api Key를 설정합니다:
Linux 터미널:
export CHAT_MODEL_API_KEY=your-chat-api-key-here
export EMBEDDINGS_MODEL_API_KEY=your-embedding-api-key-here
Windows Powershell 터미널:
$env:CHAT_MODEL_API_KEY=your-chat-api-key-here
$env:EMBEDDINGS_MODEL_API_KEY=your-embedding-api-key-here
- 또는
command option(명령 옵션)을 통해Api Key를 설정합니다:
aiassist code --chat-api-key your-chat-api-key-here --embeddings-api-key your-embedding-api-key-here
-
Azure AI Service 모델과 같이
ApiVersion,DeploymentId,BaseAddress가 필요한 AI 모델을 사용하는 경우, 환경 변수 (environment variable) 또는 명령 옵션 (command options)을 통해 설정할 수 있습니다. -
environment variable을 통해ApiVersion,DeploymentId,BaseAddress를 설정하는 방법:
Linux 터미널:
export CHAT_BASE_ADDRESS=your-chat-base-address-here
export CHAT_API_VERSION=your-chat-api-version-here
export CHAT_DEPLOYMENT_ID=your-chat-deployment-id-here
...
Windows Powershell 터미널:
$env:CHAT_BASE_ADDRESS=your-chat-base-address-here
$env:CHAT_API_VERSION=your-chat-api-version-here
$env:CHAT_DEPLOYMENT_ID=your-chat-deployment-id-here
...
- 또는
command option을 통해ApiVersion,DeploymentId,BaseAddress를 설정하는 방법:
aiassist code --chat-base-address your-chat-base-address-here --chat-api-version your-chat-api-version-here --chat-deployment-id your-chat-deployment-id-here --embeddings-base-address your-embeddings-base-address-here --embeddings-api-version your-embeddings-api-version-here --embeddings-deployment-id your-embeddings-deployment-id-here
- 이제
aiassist명령어로 AI 어시스턴트를 실행하세요.
# code assistant 모드로 aiassist를 실행합니다.
aiassist code
마음에 드신다면 자유롭게 이 저장소(repository)에 ⭐를 눌러주세요. 큰 도움이 됩니다 :)
저를 지원해 주셔서 정말 감사합니다!
이 애플리케이션은 개발 단계에 있습니다. 버그나 제안 사항이 있다면 자유롭게 풀 리퀘스트 (pull request)를 제출하거나 이슈 (issue)를 생성해 주세요.
이 프로젝트는 Apache-2.0 라이선스 하에 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기