Skip to main content
omp (oh-my-pi)는 필요한 모든 기능이 포함된 오픈소스 터미널 코딩 에이전트로, Pi의 포크입니다. LSP 통합, DAP 기반 디버깅, 서브에이전트 오케스트레이션, 그리고 40개 이상의 프로바이더에 걸친 역할별 모델 라우팅을 추가합니다. Pi와 마찬가지로 구성 파일에서 프로바이더를 읽으므로, Tokios를 사용자 지정 프로바이더로 추가하고 baseUrl를 https://api.tokios.com/v1로 지정하여 커넥터 뒤에 있는 어떤 모델이든 해당 모델의 포트가 전혀 노출되지 않은 채로 접근할 수 있습니다.

사전 요구 사항

배포 이름을 찾으세요.

omp는 콘솔에 등록한 공개 이름인 배포 이름을 보내며, 로컬 백엔드가 사용하는 업스트림 모델 ID는 보내지 않습니다. 2들은 종종 서로 다른 문자열이며, 이를 혼동하는 것이 404의 가장 흔한 원인입니다. API 키가 도달할 수 있는 배포를 나열하십시오.
응답의 모든 id는 models.yml에서 사용할 수 있는 값입니다.
모델이 이미 Playground로 응답하더라도 이 작업을 실행하세요. Playground는 로그인된 브라우저 세션으로 인증하므로, 거기서 테스트가 성공해도 sk-tok-… 키가 유효하거나 해당 배포에 범위가 지정되었음을 입증하지는 않습니다. GET /v1/models가 키 자체를 실제로 사용하는 첫 번째 호출입니다.

omp가 설정을 저장하는 위치

omp는 2 파일을 홈 폴더에 있는 점 접두사가 붙은 .omp 디렉터리에서 읽습니다.
디렉터리와 파일이 아직 없으면 생성하세요.
디렉터리는 선행 점이 있는 .omp입니다. omp는 omp/agent/models.yml에 생성된 파일을 읽지 않습니다. 정상적으로 시작되며, 프로바이더는 /model에 전혀 나타나지 않습니다.

사용자 지정 프로바이더 구성

이것을 models.yml에 붙여넣고 2 자리 표시자 값을 바꾸세요. 이는 조각이 아니라 완전한 파일입니다.
models.yml
하나의 provider 블록으로 계정의 모든 배포를 제공할 수 있습니다. 각각에 대해 models 아래에 항목을 추가하세요.
models.yml
Replace gemma-tunnel with a deployment name from GET /v1/models — not the upstream model id your backend (Ollama, llama.cpp, vLLM, or LM Studio) serves, and not the Routes[].Model value in your connector config, which is the upstream id. Replace sk-tok-YOUR_KEY with your own key, and avoid committing models.yml with a real key into version control.
baseUrl에는 /v1가 포함되어야 하며, 끝에 슬래시가 없어야 합니다. omp의 openai-completions provider는 이 URL을 기준으로 요청 경로를 생성하므로 https://api.tokios.com는 Tokios API 표면을 놓치고 https://api.tokios.com/v1/는 중복 구분자를 만들 수 있습니다.
omp의 구성 스키마는 릴리스마다 달라질 수 있으므로 설치된 버전에서 정확한 키 이름을 확인하세요 (omp.sh/docs 참조). 위의 최소 블록으로 시작하세요. omp가 /model 아래에 모델을 나열하면 아래의 선택적 필드를 추가하세요.

역할을 모델로 라우팅합니다(선택 사항)

omp는 명명된 역할을 모델에 매핑하며, 각 모델에는 선택적 폴백 체인이 있습니다. settings.yml에서 provider/model 구문을 사용하여 역할을 Tokios 프로바이더에 지정하세요.
settings.yml
그렇지 않으면, /model 명령을 omp의 TUI 내에서 사용하여 런타임에 공급자와 모델을 선택하세요.
역할은 provider/model로 작성되므로, 짧고 소문자이며 하이픈으로 연결된 배포 이름은 이 줄을 모호하지 않게 만듭니다 — 모델 등록에서 권장하는 것과 동일한 명명 방식입니다. 배포가 그 자체에 /를 포함하는 이름으로 등록된 경우, 역할에 고정하기보다는 /model로 선택하는 것이 좋습니다.

컨텍스트 창 일치 (선택 사항)

omp는 모델의 컨텍스트 창을 기준으로 프롬프트 크기를 결정합니다. Ollama, llama.cpp, LM Studio 및 vLLM은 각각 모델이 로드된 컨텍스트 길이를 제공하며, 모델의 이론적 최대값이 아닙니다. 따라서 omp에 실제 숫자를 알려 주세요.
너무 높게 설정하면 omp가 로컬 서버가 거부하는 프롬프트를 패킹하게 되는데, 이 오류는 Tokios를 통해 도착하지만 실제로는 사용자 자신의 머신에서 비롯됩니다. 짧은 프롬프트는 그 불일치를 숨기므로, 일반적으로 omp가 전체 파일을 보내기 시작할 때만 나타납니다.

Anthropic 인터페이스를 선호하시나요? (선택 사항)

omp는 또한 Anthropic messages 프로토콜을 지원합니다. Tokios의 Anthropic 인터페이스를 통해 라우팅하려면 api을 anthropic-messages로 설정하고 /v1을 baseUrl에서 제거하십시오 — Anthropic 스타일 클라이언트는 루트 베이스를 사용합니다.

도구를 사용할 수 있는 모델을 선택하세요.

omp의 에이전트는 파일 읽기, 명령 실행, 코드 편집을 위해 도구 호출에 의존합니다. 모든 로컬 모델이 도구 호출을 안정적으로 처리하는 것은 아닙니다. omp에 실제 편집을 맡기기 전에 강력한 도구 호출 지원을 갖춘 모델이 뒷받침하는 배포를 선택하세요. 모델을 에이전트 코딩 작업에 맞추는 방법에 대한 지침은 작업에 따른 모델 선택을 참조하세요.

문제 해결

omp가 파일을 읽지 못하고 있습니다. 파일이 ~/.omp/agent/models.yml에 있는지 확인하세요. 디렉터리는 .omp이며, 앞에 점이 있고, Windows에서는 C:\Users\<you>\.omp\agent\models.yml로 확인됩니다. 또한 파일이 유효한 YAML인지 확인하세요. providers는 공급자 이름을 키로 하는 매핑이고, models는 목록입니다.
omp가 보낸 API 키가 없거나 형식이 잘못되었거나 폐기되었습니다. apiKey에 전체 sk-tok-… 키가 추가 공백 없이 포함되어 있는지 확인하고, Keys 탭에서 상태를 확인하세요. Playground 세션이 정상 작동해도 이 문제를 배제할 수는 없습니다. Playground는 사용자의 API 키를 사용하지 않기 때문입니다.
모델 id은 models 아래에서 등록된 배포와 일치하지 않습니다. GET /v1/models를 실행하고 응답에서 id를 정확히 복사하세요. 흔한 실수는 커넥터의 Routes[].Model에 있는 업스트림 모델 ID를 배포 이름 대신 사용하는 것입니다.
키는 존재하지만 구성한 배포에 범위가 지정되지 않았거나 계정이 정지되었습니다. Keys 탭에서 키의 모델 패턴을 확인하세요.
해당 배포의 커넥터가 오프라인이거나 동시 실행 한도에 도달했습니다. Connectors 탭을 확인하세요. 커넥터가 Online로 표시되어야 하며, 이를 실행하는 머신이 계속 켜져 있고 연결 가능해야 합니다.
omp가 백엔드가 로드한 것보다 더 많은 컨텍스트를 보내고 있습니다. 모델 항목의 contextWindow를 서버가 실제로 제공하는 컨텍스트 길이로 설정하고, Ollama, llama.cpp, LM Studio 또는 vLLM의 로드 시 설정을 확인하세요.

다음 단계

Pi

omp는 Pi의 포크입니다. 업스트림 에이전트는 같은 방식으로 Tokios에 연결됩니다.

작업별로 모델 선택

로컬 모델을 omp에 적용하기 전에 에이전트 코딩 작업에 맞추세요.