# Ollama와 오프라인 글쓰기

로컬 모델을 연결하고, 네트워크 연결 없이 쓸 수 있는 글쓰기 작업 흐름을 준비합니다.

Ollama는 내려받은 모델을 내 컴퓨터에서 실행합니다. Oleafly에 연결하면 원고 옆에서 로컬 AI를 쓸 수 있습니다. 연결되어 있는 동안 모델과 문서 의존성을 준비한 다음, 오프라인으로 쓸 작업 흐름을 시험해 보세요.

## Ollama 설치와 시작

[공식 다운로드 페이지](https://ollama.com/download)에서 Ollama를 설치하세요. Ollama를 열거나 터미널에서 로컬 서버를 시작합니다.

```sh
ollama serve
```

Ollama가 이미 실행 중이라면 그 서버를 쓰세요. 컴퓨터에 맞는 모델을 내려받으세요. 예를 들면 다음과 같습니다.

```sh
ollama pull qwen3:8b
ollama list
```

첫 번째 명령은 모델을 내려받고, 두 번째 명령은 로컬 모델을 나열합니다. 모델 크기, 사용 가능한 메모리, 컨텍스트 길이가 속도에 영향을 줍니다. 지원하는 모델과 시스템 설정은 Ollama의 [문서](https://docs.ollama.com/)에 설명되어 있습니다.

## Ollama 확인

![설정 → AI 어시스턴트 → 제공자와 키. 제공자 목록 맨 아래에서 Ollama(로컬)를 펼쳐 서버를 확인하고 모델을 고릅니다.](https://cdn.oleafly.com/images/screenshots/desktop/docs/settings-providers-dark-window-v2.png#view=519,89,883,902)

1. **설정 → AI 어시스턴트 → 제공자와 키**를 엽니다.
2. **Ollama**를 펼칩니다.
3. **Ollama 확인**을 선택합니다.
4. 상태와 설치된 모델 목록을 확인합니다.

앱이 설치는 되어 있지만 멈춰 있는 Ollama를 찾으면 **Ollama 시작**으로 시작할 수 있습니다. 서버가 시작된 뒤나 다른 모델을 내려받은 뒤에는 **다시 확인**을 선택하세요.

## 로컬 모델 고르기

감지된 목록에서 모델을 선택하고 카드의 동작으로 적용하세요. 메시지를 보내기 전에 어시스턴트를 열어 로컬 모델이 선택되어 있는지 확인합니다.

연습용 문서로 다음을 해 보세요.

> 이 문서의 구조를 설명해 주세요. 파일은 바꾸지 말고 섹션만 나열해 주세요.

편집이나 컴파일에는 Oleafly가 필요로 하는 도구 동작을 지원하는 모델을 쓰세요. 모델의 기능 결과를 확인하세요. 채팅이 가능한 모델이 신뢰할 수 있는 도구 작업 흐름까지 자동으로 실행할 수 있는 것은 아닙니다.

## 호스트 변경

Ollama 서버 주소를 편집하려면 **호스트 변경(고급)** 항목을 선택하세요. 일반적인 로컬 호스트는 `http://127.0.0.1:11434`입니다. 내장 Ollama 카드에는 서버 호스트를 쓰세요. `/v1` 접미사는 OpenAI 호환 엔드포인트 설정에 속합니다.

다른 컴퓨터에서 실행 중인 서버는 네트워크 연결입니다. 처리가 이 컴퓨터에 머물게 하려면 로컬 루프백 주소를 쓰세요.

## 대신 호환되는 제공자 사용

사용자 지정 OpenAI 호환 연결에는 Ollama의 엔드포인트 `http://localhost:11434/v1/`를 쓰세요. Ollama는 호환 클라이언트가 요구하는 API 키 필드를 클라우드 자격 증명으로 취급하지 않고 받아들입니다. [Ollama의 호환성 가이드](https://docs.ollama.com/api/openai-compatibility)와 [사용자 지정 제공자](/docs/ai-setup/#add-a-custom-endpoint)를 참고하세요.

## 오프라인 컴파일 준비

연결된 상태에서 문서를 열고 성공적으로 컴파일하세요. Tectonic은 없는 TeX 패키지를 필요할 때 내려받아 캐시하고, Typst도 Typst Universe의 패키지에 대해 같은 일을 합니다. 그런 다음 **설정 → 일반 → 오프라인 모드**를 켜고 다시 컴파일해서 캐시가 충분한지 확인하세요. 오프라인 모드는 LaTeX와 Typst를 다룹니다.

Typst 프로젝트는 자체 패키지를 보관할 수도 있습니다. Typst 도구 모음에서 **Typst 패키지**를 열고 **패키지를 프로젝트에 포함**을 선택하세요. Oleafly가 프로젝트가 가져오는 패키지를 `typst-packages` 폴더에 복사하므로, 프로젝트는 오프라인에서도 다른 컴퓨터에서도 컴파일됩니다.

시스템 TeX 엔진이라면 연결을 끊기 전에 필요한 배포판과 패키지를 설치하세요. 이미지, 참고문헌 파일, 포함된 섹션, 필요한 글꼴을 로컬에 두세요.

## 네트워크 연결 없이 시험

1. 사용할 프로젝트를 엽니다.
2. 내려받은 모델이 선택된 상태로 Ollama가 실행 중인지 확인합니다.
3. 네트워크 연결을 끊습니다.
4. 문서를 컴파일합니다.
5. 로컬 모델에게 한 문단을 설명해 달라고 요청합니다.
6. 필요한 구체적인 편집이나 도구 작업 흐름을 시험해 보고 결과를 확인합니다.

글쓰기, 로컬 파일, 캐시된 컴파일, 로컬 모델 요청은 계속할 수 있습니다. 온라인 자료 탐색, GitHub 동기화, 클라우드 모델, 네트워크 MCP 서비스에는 각자의 연결이 필요합니다. Oleafly의 오프라인 모드는 캐시된 컴파일과 인용 조회를 제어할 뿐, 시스템 전체의 네트워크 방화벽은 아닙니다.

## Ollama 연결 해제

제공자 카드의 **연결 해제**를 사용하면 Oleafly에 저장된 연결이 제거됩니다. Ollama에 설치된 모델은 삭제되지 않습니다.

## 문제 해결

### 실행 중이 아님

Ollama를 시작하고, 호스트와 포트를 확인한 다음 다시 확인하세요. 서버가 포트가 이미 사용 중이라고 알려 주면, 다른 인스턴스를 시작하기 전에 기존 인스턴스를 확인하세요.

### 설치된 모델 없음

`ollama list`를 실행하세요. 모델을 내려받고, 다운로드가 끝나기를 기다린 다음 Oleafly에서 다시 확인하세요.

### 모델이 답은 하지만 도구를 쓰지 않음

모델의 기능 상태를 확인하고 도구를 지원하는 모델을 써 보세요. 긴 편집과 컴파일 순서를 요청하기 전에, 프로젝트를 읽는 작은 요청으로 시작하세요.

### 답변이 질문과 상관없음

모델의 컨텍스트가 너무 작을 가능성이 큽니다. Oleafly의 프로젝트 지침과 도구가 메시지보다 먼저 자리를 차지하므로, 4,096토큰 컨텍스트는 짧은 요청도 잘라 낼 수 있습니다. Ollama 서버를 컨텍스트 16,384토큰 이상으로 시작하세요. 예를 들면 다음과 같습니다.

```sh
OLLAMA_CONTEXT_LENGTH=16384 ollama serve
```

Windows PowerShell에서는 `$env:OLLAMA_CONTEXT_LENGTH = "16384"`를 실행한 다음 `ollama serve`를 실행하세요. 실행 중인 Ollama가 있다면 먼저 종료하세요. 이 설정은 Oleafly가 아니라 Ollama 서버에 속합니다. 더 긴 대화와 더 큰 프로젝트에는 컨텍스트가 더 필요하고, 컨텍스트가 늘면 메모리도 더 씁니다. 자세한 내용은 Ollama의 [컨텍스트 길이 가이드](https://docs.ollama.com/context-length)에 있습니다.

### 로컬 응답이 느림

더 작은 모델이나 더 짧고 초점이 분명한 요청을 써 보세요. 논문 전체 검토를 한꺼번에 요청하지 말고 관련 파일이나 섹션을 첨부하세요.
