macOS용 GLM Coding Plan 을 Claude Code 에서 사용하기 위한 격리 환경 유틸리티
glmctl은 Claude Code를 Docker 컨테이너 내에서 실행하여 격리된 개발 환경을 제공합니다. GLM API를 사용하여 Claude Code 를 저렴하게 활용이 가능하며 평소에 무서웠던 --dangerously-skip-permissions 를 사용해봅시다.
2025년 10월 현재 GLM Coding Lite - (레퍼럴링크포함) 를 이용할때 Claude Pro 플랜의 5배 정도 사용량을 기준으로 첫 결제 할인 및 레퍼럴포함 1년 선결제시에 1년에 32.4 USD 정도입니다.
- 🐳 Docker 기반 격리 환경
- 🔒 호스트 시스템과 분리된 안전한 코딩 환경
- 🚀 Claude Code CLI 사전 설치
- 🛠️ 필수 개발 도구 포함 (Git, Node.js, Python, Rust, Docker CLI 등)
- 📦 간편한 설치 및 업데이트
- macOS (현재 macOS 전용)
- Docker 환경: 다음 중 하나 설치 필요
- OrbStack (권장)
- Docker Desktop
- 저장소 클론:
git clone <repository-url>
cd glmctl- 설치 스크립트 실행:
./install.sh설치 과정에서 다음 작업이 수행됩니다:
- Docker 환경 확인
~/.glmenv디렉토리 생성- 환경 설정 파일 생성 (
~/.glmenv/env) - Docker 이미지 빌드
glm-code명령어를~/.local/bin에 링크
- PATH 설정 (필요한 경우):
설치 후 ~/.local/bin이 PATH에 없다면, 쉘 설정 파일에 다음 라인을 추가하세요:
export PATH="$HOME/.local/bin:$PATH"- bash:
~/.bashrc또는~/.bash_profile - zsh:
~/.zshrc
- 환경 설정:
~/.glmenv/env 파일을 편집하여 GLM API 키와 모델을 설정하세요:
nano ~/.glmenv/env주요 설정 항목:
ANTHROPIC_BASE_URL: GLM API 엔드포인트ANTHROPIC_AUTH_TOKEN: GLM API 키ANTHROPIC_DEFAULT_HAIKU_MODEL: Haiku 모델 이름ANTHROPIC_DEFAULT_SONNET_MODEL: Sonnet 모델 이름ANTHROPIC_DEFAULT_OPUS_MODEL: Opus 모델 이름IS_SANDBOX: docker 에서 root 로 사용하기 위한 설정값
코딩하려는 프로젝트 디렉토리로 이동한 후 glm-code 명령어를 실행하세요:
cd /path/to/your/project
glm-code
# docker 실행후
# mcp 설정, 다른 쉘작업 진행
# claude code 수행
claude --dangerously-skip-permissions다른 프로젝트를 readonly로 마운트하여 참조할 수 있습니다:
# 여러 프로젝트를 함께 마운트
cd /path/to/your/project
glm-code --with ../backend --with ../frontend
# 컨테이너 내부 구조
# /workspace/project (현재 디렉토리, read-write)
# /workspace/backend (readonly)
# /workspace/frontend (readonly)사용 예시:
- 다른 프로젝트의 코드를 참조하면서 작업할 때
- 여러 마이크로서비스를 함께 분석할 때
- 공통 라이브러리를 참조하면서 개발할 때
주의사항:
- 추가 프로젝트는 readonly로 마운트되어 수정할 수 없습니다
- 디렉토리 이름이 중복되면 에러가 발생합니다
- 도움말 보기:
glm-code --help
- 현재 디렉토리:
/workspace/<디렉토리명>에 자동으로 마운트됩니다 - Claude 설정:
~/.glmenv/claude에 저장됩니다 - Git 설정: 호스트의
~/.gitconfig를 공유합니다 - Docker 소켓: Docker-in-Docker를 위해 마운트됩니다
예시:
# 호스트에서
cd ~/myproject
glm-code
# 컨테이너 내에서는 /workspace/myproject 경로에서 작업컨테이너 내에서 Claude Code를 실행하거나 일반 bash 명령어를 사용할 수 있습니다:
# Claude Code 실행
claude
# 또는 일반적인 개발 작업
git status
npm install
python script.py종료하려면 exit를 입력하거나 Ctrl+D를 누르세요.
Claude Code CLI 및 Docker 이미지 내 패키지를 최신 버전으로 업데이트하려면:
cd glmctl
./update.sh이 명령은 Docker 이미지를 재빌드하여 모든 도구를 최신 버전으로 업데이트합니다.
Docker 이미지에는 다음 도구들이 사전 설치되어 있습니다:
- Claude Code CLI: AI 코딩 어시스턴트
- Node.js 22.x (nvm)
- Python 3 + pip + venv
- Rust (rustup + cargo)
- uv: 빠른 Python 패키지 설치 도구
- Git + GitHub CLI (gh) + git-delta
- Docker CLI: Docker-in-Docker 지원
- 기타: tmux, vim, nano, jq, fzf 등
❌ Error: Docker is not running.
해결 방법: OrbStack 또는 Docker Desktop을 실행하세요.
command not found: glm-code
해결 방법:
~/.local/bin이 PATH에 있는지 확인- 없다면 쉘 설정 파일에 다음 추가:
export PATH="$HOME/.local/bin:$PATH"
- 새 터미널을 열거나
source ~/.zshrc(또는~/.bashrc) 실행
❌ Error: Configuration file not found
해결 방법:
~/.glmenv/env파일이 존재하는지 확인- 없다면
./install.sh를 다시 실행
~/.glmenv/
├── env # 환경 변수 설정 파일 (API 키 등)
└── claude/ # Claude Code 설정 및 데이터
이 프로젝트는 MIT 라이선스 하에 배포됩니다.