haseeb-heaven/code-interpreter
요약
Code-Interpreter는 OpenAI, Gemini, Claude, DeepSeek 등 다양한 LLM을 활용하여 자연어 지침을 실행 가능한 코드로 변환하는 오픈 소스 도구입니다. 파일 작업, 이미지 편집, 데이터 분석 등 다양한 작업을 지원하며, 별도의 복잡한 설정 없이 간편하게 사용할 수 있는 것이 특징입니다.
핵심 포인트
- OpenAI, Anthropic, Google Gemini, Groq 등 다양한 모델 지원
- 코드 실행, 이미지 처리, 비디오 처리 및 데이터 분석 기능 제공
- Windows, MacOS, Linux 환경에서 작동하는 크로스 플랫폼 지원
- pip를 통한 간편한 설치 및 .env 파일을 통한 API 키 관리 방식
Code-Interpreter 🎉에 오신 것을 환영합니다. 이 도구는 OpenAI, Gemini, Groq, Claude, DeepSeek, NVIDIA, Z AI, Browser Use, 그리고 HuggingFace 모델을 사용하여 자연어 지침을 실행 가능한 코드로 변환하는 오픈 소스 (open-source) 도구입니다. 코드를 안전하게 실행하며, 이미지 처리를 위한 비전 모델 (vision models)을 지원합니다.
파일 작업, 이미지 편집, 비디오 처리, 데이터 분석 등의 작업을 지원합니다. Windows, MacOS, Linux에서 작동합니다.
**무료 (free)**이며 **간편함 (simple)**을 지향합니다 - 다운로드나 번거로운 설정이 필요하지 않습니다. Windows, Linux, macOS에서 작동합니다.
- 주요 기능 (Features)
- 설치 (Installation)
- 사용법 (Usage)
- 예시 (Examples)
- TUI 스크린샷 (TUI Screenshots)
- 설정 (Settings)
- 기여하기 (Contributing)
- 버전 관리 (Versioning)
- 변경 이력 (Changelog)
- 라이선스 (License)
- 감사 (Acknowledgments)
Code-Interpreter를 설치하려면 다음 명령어를 실행하세요:
pip install open-code-interpreter
Python으로 인터프리터 (interpreter)를 실행하려면:
python interpreter.py -m 'z-ai-glm-5' -md 'code'
인터프리터를 실행하기 전에 필요한 패키지 (packages)를 설치하고 .env 파일에 API 키 (API keys)가 설정되어 있는지 확인하십시오.
Code-Interpreter를 시작하려면 다음 단계를 따르세요:
- 저장소 (repository) 복제:
git clone https://github.com/haseeb-heaven/code-interpreter.git
cd code-interpreter
- 필요한 패키지 설치:
pip install -r requirements.txt
- 예시 환경 파일 (environment file)을 복사하고 사용할 키를 추가하세요:
copy .env.example .env
각 서비스에 대한 API 키를 얻고 설정하려면 아래 단계를 따르세요:
-
API 키 얻기:
-
HuggingFace: HuggingFace Tokens를 방문하여 Access Token을 받으세요.
-
Google Gemini: Google AI Studio를 방문하여 Create API Key 버튼을 클릭하세요.
-
OpenAI: OpenAI Dashboard를 방문하여 가입하거나 로그인한 후, 계정 대시보드의 API 섹션으로 이동하여 Create New Key 버튼을 클릭하세요.
-
Groq AI: Groq AI Console을 방문하여 가입하거나 로그인한 후, Create API Key 버튼을 클릭하세요.
-
Anthropic AI: Anthropic AI Console을 방문하여 가입하거나 로그인한 후, Create Key 버튼을 클릭하세요.
-
NVIDIA API Catalog: NVIDIA Build를 방문하여 키를 생성하고
NVIDIA_API_KEY를 사용하세요. -
Z AI: Z AI Docs를 방문하여
Z_AI_API_KEY를 사용하세요. -
OpenRouter: OpenRouter Keys를 방문하여
OPENROUTER_API_KEY를 사용하세요. -
Browser Use: Browser Use Docs를 방문하여
BROWSER_USE_API_KEY를 사용하세요.
API 키 저장하기:
프로젝트 루트 디렉토리에 .env 파일을 생성하고 다음 줄을 추가하세요:
export HUGGINGFACE_API_KEY="Your HuggingFace API Key"
export GEMINI_API_KEY="Your Google Gemini API Key"
export OPENAI_API_KEY="Your OpenAI API Key"
...
이 인터프리터(Interpreter)는 LM Studio 및 Ollama를 통해 오프라인 모델을 지원합니다. 아래 단계를 따르세요:
- LM Studio에서 Phi-2, Code-Llama, Mistral과 같은 모델을 다운로드하세요.
- 앱에서 Local Server 옵션으로 이동하여 모델을 선택하세요.
- 서버를 시작하고 URL(LM Studio에서 URL을 제공합니다)을 복사하세요.
ollama serve명령어를 실행하고 URL(Ollama에서 URL을 제공합니다)을 복사하세요.- 설정 파일
configs/local-model.json을 열고api_base필드에 URL을 붙여넣으세요. - 모델 이름을
local-model로 설정하고 인터프리터를 실행하세요.
python interpreter.py -md 'code' -m 'local-model'
- 🚀 지시사항으로부터 생성된 코드 실행
- 💾 고급 에디터를 통한 코드 저장 및 편집
- 📡 LM Studio 및 Ollama를 통한 오프라인 모델 지원
- 📜 명령어 히스토리 및 모드 선택
- 🧠 다양한 모델 및 언어 (Python/JavaScript) 지원
- 👀 실행 전 코드 리뷰
- 🛡️ 타임아웃 및 보안 기능이 포함된 안전한 샌드박스 (Sandbox) 실행
- 🔁 실행 실패 시 자체 복구 (Self-repair)
- 💻 크로스 플랫폼 지원 (Windows/macOS/Linux)
- 🤝 HuggingFace, OpenAI, Gemini, Groq, Claude, DeepSeek, NVIDIA, Z AI, OpenRouter, Browser Use와 통합
- 🎯 다재다능한 작업: 파일 작업, 이미지/비디오 편집, 데이터 분석
인터프리터는 세션 배너에 현재 안전 모드를 표시합니다:
[SAFE MODE] - 안전 제한이 활성화된 기본 모드 (녹색)
[UNSAFE MODE] - 제한이 없는 모드 (경고 이모지가 포함된 빨간색) ⚠️
인터프리터는 위험한 작업에 대해 단일 확인 프롬프트를 통해 처리합니다:
SAFE MODE (안전 모드):
-
위험한 작업은 완전히 차단됩니다 (확인 프롬프트가 나타나지 않음) - 다음과 같은 메시지가 표시됩니다:
❌ Dangerous operation blocked in SAFE MODE. -
파일 삭제 또는 수정 작업은 허용되지 않습니다.
UNSAFE MODE (비안전 모드):
-
모든 작업(안전하거나 위험한 작업 모두)에 대해 단일 프롬프트가 표시됩니다.
-
안전한 작업:
Execute the code? (Y/N): -
위험한 작업:
⚠️ Dangerous operation. Continue? (Y/N): -
Y로 확인해야만 작업이 실행됩니다.
비안전 모드를 활성화하려면:
python interpreter.py --unsafe
안전 모드를 활성화하려면:
python interpreter.py --sandbox
경고: 비안전 모드는 주의해서 사용하십시오. 위험한 작업은 파일을 삭제하거나 수정할 수 있습니다.
Code-Interpreter를 사용하려면 다음 명령 옵션을 사용하십시오:
-
모든 프로그래밍 언어 (programming languages) 목록:
python- Python 프로그래밍 언어.
javascript- JavaScript 프로그래밍 언어. -
모든 모드 (modes) 목록:
code- 지시사항으로부터 코드를 생성합니다.
script- 지시사항으로부터 쉘 스크립트 (shell scripts)를 생성합니다.
command- 지시사항으로부터 단일 행 명령어를 생성합니다.
vision- 이미지 또는 비디오에 대한 설명을 생성합니다.
chat- 채팅 모드. -
파일 및 데이터와 채팅합니다.
지원되는 전체 모델 목록은 Models.MD를 참조하세요.
python interpreter.py
python interpreter.py
실제 터미널에서 TUI (Text User Interface)를 열고 화살표 키 내비게이션을 사용합니다. stdin (표준 입력)이 파이프(pipe)로 연결되거나 터미널에 연결되어 있지 않은 경우, TUI는 일반 텍스트 프롬프트로 전환됩니다.
python interpreter.py --cli
python interpreter.py --cli
-m 옵션을 전달하지 않으면 .env 파일에서 가장 잘 구성된 모델을 자동으로 선택합니다.
.
python interpreter.py --tui --sandbox
python interpreter.py --cli --no-sandbox
python interpreter.py --upgrade
python scripts/validate_models_cli.py --providers gemini,groq --tier stable --mode chat
python scripts/validate_models_cli.py --providers openai,anthropic,deepseek,huggingface --tier stable --mode chat
python scripts/validate_models_cli.py --providers nvidia,z-ai,browser-use,openrouter --tier stable --mode chat
python interpreter.py -m 'nvidia-nemotron' -md 'chat' -dc
python interpreter.py -m 'z-ai-glm-5' -md 'chat' -dc
python interpreter.py -m 'openrouter-free' -md 'chat' -dc
...
마지막으로 검증된 모델 기준: 2026년 4월 5일.
새로운 TUI 흐름은 키보드 우선(keyboard-first)의 빠른 설정을 위해 설계되었습니다. python interpreter.py 또는 python interpreter.py --tui를 실행하여 선택 UI를 실행한 다음, 화살표 키를 사용하여 모드, 모델, 언어 및 런타임(runtime) 옵션을 선택하세요.
세션이 시작되기 전에 code, chat, script, command, vision 중에서 선택하십시오.
긴 별칭(alias)을 수동으로 입력할 필요 없이 터미널에서 직접 제공자(provider)와 모델을 선택할 수 있습니다.
세션에 진입한 후에는 생성된 코드와 실행 결과가 CLI에서 사용되는 것과 동일한 안전한 런타임 동작과 함께 터미널 흐름 내에 유지됩니다.
터미널 세션에서 샌드박스(sandbox) 모드를 직접 활성화하거나 비활성화할 수 있습니다. 이를 통해 필요할 때 안전한 격리된 런타임과 제한 없는 실행 사이를 쉽게 전환할 수 있습니다.
샌드박스 (Sandbox) 모드가 활성화되면, 명령 및 생성된 코드는 CLI에서 사용하는 것과 동일한 안전한 실행 제약 조건 하에 실행됩니다.
샌드박스 (Sandbox) 모드가 비활성화되면, 실행은 샌드박스 제한이 없는 안전하지 않은 모드 (Unsafe mode)로 실행되며, 이는 신뢰할 수 있는 로컬 워크플로 (Local workflows)를 위해서만 의도되었습니다.
사용 가능한 명령어는 다음과 같습니다:
-
📝
/save -
마지막으로 생성된 코드를 저장합니다. - ✏️
/edit -
마지막으로 생성된 코드를 편집합니다. ▶️
/execute -
마지막으로 생성된 코드를 실행합니다. - 🔄
/mode -
인터프리터 (Interpreter)의 모드를 변경합니다. - 🔄
/model -
인터프리터 (Interpreter)의 모델을 변경합니다. - 📦
/install -
npm 또는 pip에서 패키지를 설치합니다. - 🌐
/language -
인터프리터 (Interpreter)의 언어를 변경합니다. - 🧹
/clear -
화면을 지웁니다. - 🆘
/help -
이 도움말 메시지를 표시합니다. - 🚪
/list -
사용 가능한 모든 모델/모드/언어를 나열합니다. - 📝
/version -
인터프리터 (Interpreter)의 버전을 표시합니다. - 🚪
/exit -
인터프리터 (Interpreter)를 종료합니다. - 🐞
/fix -
생성된 코드의 오류를 수정합니다. - ⚙️
/settings -
--tui옵션과 함께 실행할 때 대화형 TUI 설정을 엽니다. - 📜
/log -
다양한 로깅 (Logging) 모드를 전환합니다. - ⏫
/upgrade -
인터프리터 (Interpreter)를 업그레이드합니다. - 📁
/prompt -
프롬프트 (Prompt) 모드를 파일 (File) 또는 입력 (Input) 모드로 전환합니다. - 🐞
/debug -
디버깅을 위한 디버그 (Debug) 모드를 전환합니다. - 📦
/sandbox -
보안 샌드박스 (Sandbox) 시스템을 전환합니다.
.json 파일을 통해 현재 모델의 설정을 사용자 정의할 수 있습니다. 이 파일에는 temperature, max_tokens 등 필요한 모든 파라미터 (Parameters)가 포함되어 있습니다.
기본 서버 대신 OpenAI를 위한 자체 API 서버를 통합하려면 다음 단계를 따르세요:
Configs디렉토리로 이동합니다. - 수정하려는 모델의 설정 파일(gpt-3.5-turbo.json또는gpt-4.json)을 엽니다. - JSON 객체에 다음 키-값 쌍을 추가합니다: "api_base": "https://my-custom-base.com"- 파일을 저장하고 닫습니다.
이제 해당 모델을 선택할 때마다 시스템이 자동으로 사용자의 커스텀 서버를 사용하게 됩니다.
-
.json파일을 복사하고 이름을configs/hf-model-new.json으로 변경합니다. -
start_sep,end_sep와 같은 모델 파라미터(parameters)를 수정합니다. -
Hugging Face에서 모델 이름을 설정합니다: `
이 프로젝트는 MIT License 하에 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.
다음의 추가 라이선스 세부 사항에 유의하시기 바랍니다: 이 프로젝트는 클라이언트 인터페이스 (client interface) 전용입니다. 모든 모델은 각 해당 제3자 제공업체 (third-party providers)에 의해 제공되며, 각자의 서비스 약관 (terms of service)을 따릅니다.
- 모델을 제공해 주신 HuggingFace, Google, META, OpenAI, GroqAI, AnthropicAI에 감사의 마음을 전합니다.
- 오픈 소스 커뮤니티에 특별한 감사를 표합니다. 여러분의 지속적인 지원과 기여는 저희에게 매우 소중합니다.
이 프로젝트는 Haseeb-Heaven에 의해 생성 및 유지 관리됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기