Copilot CLI에 Ollama를 연결하면 외부 통신도 끊길까?
Copilot CLI에서 Ollama 모델을 골랐는데도 CLI의 네트워크 활동은 계속 남는다. 내 프롬프트와 사용 통계는 지금 어디로 가고 있을까?

- Copilot CLI에서 로컬 모델을 고르는 일과 오프라인 모드를 켜는 일은 별개다.
- 1.0.94-0부터 /model에서 실행 중인 Ollama의 지원 모델을 찾아 현재 세션에 추가할 수 있다.
- COPILOT_OFFLINE=true여도 공급자 주소가 원격이면 프롬프트와 코드 문맥은 그 서버로 전송된다.
모델을 로컬로 바꿔도 사용 통계는 자동으로 꺼지지 않는다
Ollama 모델을 선택하는 것만으로 Copilot CLI의 외부 통신이 모두 끊기지는 않는다. GitHub의 데이터 처리 안내는 자체 모델 공급자를 사용할 때도 오프라인 모드를 켜지 않으면 GitHub로 사용 메타데이터를 보낸다고 설명한다. 이 통계에는 프롬프트나 코드가 포함되지 않는다.
프롬프트와 코드 문맥은 설정한 모델 공급자로 직접 간다. 따라서 확인할 대상은 두 가지다. 모델 요청이 어디로 가는지, GitHub 통계 전송이 켜져 있는지다.
| CLI 구성 | 모델 요청 목적지 | GitHub 통계 전송 |
|---|---|---|
| 로컬 Ollama, 오프라인 모드 끔 | 로컬 모델 서버 | 계속된다. |
| 로컬 Ollama, 오프라인 모드 켬 | 로컬 모델 서버 | 꺼진다. |
| 원격 공급자, 오프라인 모드 켬 | 원격 모델 서버 | 꺼지지만 모델 요청은 네트워크로 나간다. |
/model은 설치된 모델을 찾아 추가하는 화면이다
GitHub는 10월 7일 업데이트에서 CLI 1.0.94-0부터 로컬 Ollama 모델 발견 기능을 제공한다고 밝혔다. 실행 중인 Ollama의 지원 모델을 /model에서 기존 모델과 함께 볼 수 있다.
- Ollama와 사용할 모델을 미리 설치하고 로컬 인스턴스를 실행한다.
- Copilot CLI에서
/model을 열고 발견된 모델을 선택한다. - 공급자와 연결 주소를 읽은 뒤 현재 세션에서 사용할지, 추가만 할지 선택한다.
Add and use for this session은 추가 후 현재 세션에 적용하고, Add without switching은 모델만 추가한다. 이 전환에는 CLI 재시작이 필요하지 않다. 발견 기능이 모델 파일을 내려받거나 Ollama를 설치해 주지는 않는다.
모델은 도구 호출과 스트리밍을 모두 지원해야 한다. 연결 실패가 선택기에 표시되면 서버 주소와 실행 상태부터 살펴야 한다. 목록에 모델이 보이는 것과 실제 에이전트 작업을 수행할 조건을 갖춘 것은 다르다.
오프라인 모드는 공급자를 정한 뒤 실행 전에 켠다
공식 오프라인 설정은 모델 공급자를 구성한 다음 COPILOT_OFFLINE=true로 CLI를 시작하는 방식이다. 아래 Bash·zsh 예시는 로컬 Ollama가 이미 실행 중이고 지원 모델도 받아 둔 경우다.
export COPILOT_PROVIDER_BASE_URL=http://localhost:11434
export COPILOT_MODEL=YOUR-MODEL-NAME
export COPILOT_OFFLINE=true
copilot YOUR-MODEL-NAME은 실제로 설치한 모델명으로 바꾼다. 모델 선택기에서 재시작 없이 모델을 바꾸는 절차와, 실행 전에 오프라인 환경변수를 설정하는 절차를 구분해야 한다.
오프라인 모드는 GitHub 서버와의 통신을 막지만 지정한 공급자와는 통신한다. COPILOT_PROVIDER_BASE_URL이 외부 서버를 가리키면 프롬프트와 코드 문맥은 그 서버로 전송된다. 외부 모델 서버를 쓰면서 환경변수 이름만 보고 로컬 추론이라고 판단할 수는 없다.
GitHub 연결 기능까지 그대로 남는 것은 아니다
자체 공급자는 GitHub 인증 없이도 사용할 수 있다. 다만 미인증 상태에서는 서버 측 작업을 넘기는 /delegate, GitHub MCP 서버, GitHub Code Search를 사용할 수 없다. 오프라인 모드에서는 web_fetch 같은 웹 기반 도구도 꺼진다.
잘못된 공급자 설정을 넣었을 때는 오류로 종료하며 GitHub 호스팅 모델로 자동 대체하지 않는다는 것이 공식 설명이다. 연결 거부나 모델 없음 오류가 뜨면 해당 공급자의 주소·모델 설정을 바로잡아야 한다.
코드를 로컬 모델로 처리하려는 목적이라면 모델 이름보다 실제 서버 주소와 오프라인 설정을 함께 확인해야 한다. 그 상태에서 필요한 웹 검색이나 GitHub 연동을 사용할 수 있는지도 작업 시작 전에 결정하는 편이 좋다.