지식 기반 섹션 ▾

내비게이션

▸ 여기서 시작하세요 역할별

카테고리

도구 52
용어집 12

도구

omp (Oh My Pi) + JoinGonka Gateway: 모델 역할을 갖춘 에이전트

omp (Oh My Pi)는 미니멀한 Pi의 포크 버전인 터미널 coding-에이전트입니다. 대규모 작업에 필요한 기능들(각 파일 엔트리에서의 언어 서버(LSP), 실제 디버거 제어, 격리된 작업 사본에서의 하위 에이전트, Python 및 JavaScript의 영구 셀)이 모두 추가되었습니다. 커널은 Rust로 작성되었으며 동일한 바이너리가 macOS, Linux 및 Windows에서 실행됩니다.

omp의 프로바이더는 선언적으로 기술됩니다. OpenAI Chat Completions을 지원하는 모든 endpoint는 ~/.omp/agent/models.yml에 몇 줄 추가하는 것만으로 연결됩니다. JoinGonka Gateway는 바로 그런 서비스이므로 연결은 설치 명령어 한 번 또는 두 개의 짧은 YAML 파일로 끝납니다. 이후 에이전트는 Gonka 분산 네트워크의 모델(DeepSeek V4 Flash, GLM-5.3 Flash 및 MiniMax M2.7)을 단일 요금으로 사용합니다: 입력 토큰 100만 개당 $0.0069.

omp가 원본과 다른 가장 큰 차이점은 모델 역할입니다. 일반적인 작업, 상세 분석, 계획 모드, 백그라운드 작업 등을 서로 다른 모델에 할당하고 보조 체인으로 백업할 수 있습니다. 아래에는 빠른 시작, 수동 설정, '어떤 역할에 어떤 모델을 쓸지'에 대한 표, 그리고 오류 해결 방법이 나와 있습니다. 명령어와 메시지는 2026년 9월 21일 기준, 게이트웨이를 통한 omp 18.2.8 실사용 환경에서 검증되었습니다. 주소 확인 후 계정에 3M의 무료 토큰이 지급되며, 이를 통해 이 모든 과정을 직접 실습할 수 있습니다.

빠른 시작: 설치 및 명령어 한 번

1단계: omp 설치하기.프로젝트 README의 공식 방법:

# macOS and Linux
curl -fsSL https://omp.sh/install | sh

# Homebrew
brew install can1357/tap/omp

# via Bun (requires Bun 1.3.14 or newer)
bun install -g @oh-my-pi/pi-coding-agent

# Windows (PowerShell)
irm https://omp.sh/install.ps1 | iex

2단계: 키 발급받기.gate.joingonka.ai/register에서 등록하고, 주소를 확인한 뒤 「API 키」 섹션에서 jg- 접두사가 붙은 키를 생성하세요. 하나의 키와 하나의 잔액이 네트워크의 모든 모델에 적용됩니다.

3단계: 설치 프로그램 실행하기.

npx @joingonka/setup --tool omp

설치 프로그램이 키를 물어봅니다 — 셸 히스토리에 남지 않도록 명령줄 인자로는 전달되지 않습니다 — 그리고 네 가지를 수행합니다:

  • ~/.omp/agent/models.yml에 프로바이더 joingonka를 기록합니다: 게이트웨이 주소, 프로토콜 openai-completions, 리터럴 키, 그리고 실제 컨텍스트 윈도우와 응답 상한을 가진 세 개의 네트워크 모델. 파일에는 600 권한이 부여됩니다.
  • 기본 모델 — ~/.omp/agent/config.yml의 modelRoles.default — 을 DeepSeek V4 Flash로 설정합니다. 단, 해당 역할이 비어 있거나 네트워크에서 제거된 모델을 가리키는 경우에만: 다른 사람의 선택을 가로채지 않고 전환 방법을 안내합니다.
  • 기록 전에 이전 파일을 백업하고, 나머지 프로바이더, 역할, 주석은 그대로 둡니다.
  • 마지막으로 게이트웨이에 실제 요청을 보내고 키, 주소, 모델이 수락되었는지 명확히 알려줍니다.

다른 기본 모델은 --model 플래그로 지정합니다. 축약형은 deepseek, glm, minimax — 명시적으로 지정된 모델은 항상 기록됩니다. 닷파일과 서버용으로 질문 없는 모드가 있으며, 그 모드에서는 키를 환경 변수에서 가져옵니다:

JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool omp --model glm --non-interactive

비표준 설정 위치도 설치 프로그램이 알아서 처리합니다: 명명된 프로필(OMP_PROFILE)과 이동된 에이전트 디렉터리(PI_CODING_AGENT_DIR). 상속된 models.json은 omp 자체가 했을 방식대로 models.yml로 이전합니다 — 기존 프로바이더는 사라지지 않습니다. 그리고 config.yml 없이 오래된 settings.json이 옆에 있으면, 설치 프로그램은 config.yml을 생성하지 않습니다. omp가 자체 설정 이전을 건너뛰지 않도록 하기 위해서입니다: 한 번 omp를 실행하고 명령을 다시 실행하라고 안내합니다.

수동 설정: 두 개의 YAML 파일

설치 프로그램이 하는 모든 일은 직접 손으로 작성할 수 있습니다. 파일은 두 개뿐이고, 각자 역할이 있습니다. models.yml은 프로바이더와 모델을 기술하고, config.yml은 설정을 보관합니다 — 어떤 모델이 어떤 역할에 배정되는지도 포함해서요.

# ~/.omp/agent/models.yml
providers:
  joingonka:
    baseUrl: https://gate.joingonka.ai/v1
    api: openai-completions
    apiKey: jg-your-key
    models:
      - id: deepseek-ai/DeepSeek-V4-Flash-0731
        name: DeepSeek V4 Flash (Gonka)
        input: [text]
        contextWindow: 380000
        maxTokens: 32768
        reasoning: true
      - id: zai-org/GLM-5.3-Flash
        name: GLM-5.3 Flash (Gonka)
        input: [text]
        contextWindow: 390000
        maxTokens: 8192
        reasoning: true
      - id: MiniMaxAI/MiniMax-M2.7
        name: MiniMax M2.7 (Gonka)
        input: [text]
        contextWindow: 200000
        maxTokens: 8192
# ~/.omp/agent/config.yml
modelRoles:
  default: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731
필드값중요한 점
baseUrlhttps://gate.joingonka.ai/v1끝의 /v1은 필수입니다. /chat/completions 경로는 omp가 알아서 붙입니다
apiopenai-completionsChat Completions 전송 방식 — 이 가이드 전체가 이걸로 검증되었습니다
apiKey당신의 키 jg-…omp는 먼저 같은 이름의 환경 변수를 찾고, 없으면 문자열을 그대로 키로 사용합니다. !로 시작하는 값은 명령어이며, 그 출력이 키가 됩니다
contextWindow, maxTokens위 모델 목록대로지정하지 않으면 omp가 128000과 16384를 넣는데, 네트워크의 모델에는 맞지 않습니다. 에이전트는 컨텍스트 윈도를 기준으로 대화 기록을 압축할 시점을 판단합니다
input[text]네트워크의 모델은 텍스트를 받습니다
reasoningtrue추론 모델 표시입니다. 설치 프로그램은 DeepSeek V4 Flash와 GLM-5.3 Flash에 이걸 설정하고, MiniMax M2.7 항목에는 없습니다

키를 리터럴로 쓰는 게 가장 문제 없는 방법입니다. omp는 어떤 환경에서든 실행되고, 파일은 chmod 600 ~/.omp/agent/models.yml 명령으로 잠그면 충분합니다. 키를 파일 밖에 두고 싶다면 apiKey에 환경 변수 이름(예: JOINGONKA_API_KEY)을 적고, omp를 실행하는 셸에서 export하세요 — 이 키 확인 순서는 프로젝트 문서에 설명된 그대로입니다.

선택 사항인 cost 필드(백만 토큰당 가격)는 omp UI에서 세션 비용을 추정하는 데만 필요합니다. 설치 프로그램은 설치 시점의 게이트웨이 실시간 가격을 기록합니다. 수동 설정에서는 이 필드를 생략해도 됩니다 — 이 추정치는 청구와 무관하고, 실제 사용량은 대시보드에서 확인할 수 있습니다.

모델 셀렉터는 provider/model-id로 작성합니다. 프로바이더 이름은 첫 번째 슬래시로 구분되므로, 자체 슬래시가 있는 네트워크 ID는 그대로 씁니다: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731. config.yml을 고치는 대신 세션 안에서 /model 명령어를 쓰거나 omp setup 마법사에서 역할을 지정할 수 있습니다.

모델 역할: 어떤 모델에 어떤 작업을 할당할 것인가

omp에서는 모든 작업에 단일 모델을 사용하는 것이 아니라 역할(롤)별로 모델을 선택하며, 이것이 설정의 핵심입니다. 내장된 대화용 역할: default, smol, slow, plan, commit, task, tiny, memory, advisor 및 vision. 모든 항목을 지정할 필요는 없습니다. 지정되지 않은 smol과 slow는 먼저 default 역할의 모델을 사용하며, task 역할이 없는 하위 에이전트는 현재 세션의 모델에서 실행되고, commit과 tiny는 smol을 따릅니다. default 한 줄만 설정해도 완벽하게 작동합니다.

네트워크 내의 모델 간에 역할을 나누는 것은 비용 절감 때문이 아니라(DeepSeek V4 Flash, GLM-5.3 Flash, MiniMax M2.7의 가격은 동일함), 동작과 용량을 위한 것입니다. 추론 모델은 계획 수립에 뛰어나고 긴 답변 모델은 글쓰기에 뛰어나므로, 백그라운드의 사소한 작업을 주요 작업과 같은 대기열에 넣을 필요가 없기 때문입니다.

역할실행 작업네트워크 모델이유
default일반 에이전트 작업: 읽기, 수정, 명령어DeepSeek V4 Flash컨텍스트 380K 및 응답 제한 32768로 도구를 사용하는 긴 세션을 위한 여유가 있으며, 설치 프로그램이 기본으로 설정합니다.
smol, task, commit빠른 하위 작업, 하위 에이전트, 커밋을 위한 변경 사항 분석지정하지 않음 - 상속을 통해 DeepSeek V4 Flash 적용모두 도구를 호출하지만, 가격이 같다면 별도의 '저렴한' 모델을 사용해도 비용이 절감되지 않습니다.
slow심층 분석: 복잡한 로직, 원인 추적GLM-5.3 Flash답변 전 추론 수행. 응답 제한은 8192이며 일부는 추론에 사용되므로, 긴 텍스트의 경우 DeepSeek V4 Flash로 변경하십시오.
plan계획 모드GLM-5.3 Flash계획은 짧은 텍스트이며, 분량보다는 사고 과정이 중요합니다.
tiny세션 제목 및 서비스 분류 - 도구를 사용하지 않는 짧은 요청MiniMax M2.7네트워크에서 용량이 가장 크며, 백그라운드 작업이 메인 작업의 슬롯을 방해하지 않습니다.
advisor메인 세션의 각 단계를 읽고 의견을 삽입하는 두 번째 모델GLM-5.3 Flash (선택)어드바이저는 실행자와 다른 모델인 것이 유용합니다. /advisor on 명령어로 활성화됩니다.
vision이미지 관련 작업지정하지 않음네트워크 모델은 텍스트 기반입니다. 역할은 vision 모델을 가진 공급자에게 맡기십시오.
# ~/.omp/agent/config.yml
modelRoles:
  default: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731
  slow: joingonka/zai-org/GLM-5.3-Flash
  plan: joingonka/zai-org/GLM-5.3-Flash
  tiny: joingonka/MiniMaxAI/MiniMax-M2.7

retry:
  fallbackChains:
    default:
      - joingonka/zai-org/GLM-5.3-Flash

retry.fallbackChains 블록은 피크 시간대의 보험입니다. 메인 모델이 429 에러를 지속적으로 반환하면, omp는 나머지 작업을 체인의 다음 항목으로 넘기고 잠시 후 메인 모델로 복귀합니다. 체인의 키에는 역할, 특정 모델 또는 전체 공급자(joingonka/*)를 지정할 수 있습니다.

실행 시 플래그를 사용하여 역할을 재정의할 수 있습니다. omp --model slow는 slow 역할 모델로 세션을 시작하며, --smol, --slow 및 --plan은 각 역할의 모델을 대체합니다. 세션 내에서 Ctrl+P로 역할 모델을 전환할 수 있고, /model로 선택 창을 열 수 있습니다. 같은 탭의 'Roles'에서 역할과 예비 모델을 설정할 수 있습니다.

역할 값에 추론 레벨(:low, :medium, :high)을 추가할 수 있습니다. 이는 omp의 문법이며, 특정 모델이 이 레벨을 어떻게 이해하는지는 모델 자체에 달려 있습니다. 예를 들어 GLM-5.3 Flash의 경우 이는 이진 스위치입니다. 자세한 내용은 모델 개요를 참조하십시오. 또 다른 유용한 기능으로, <repo>/.omp/config.yml 파일을 생성하고 동일한 modelRoles 블록을 포함하여 저장소별로 역할을 재정의할 수 있습니다. 공급자와 키는 홈 디렉토리에 유지되므로 키가 저장소에 포함되지 않습니다.

검증: 예상되는 결과

먼저 omp가 프로바이더를 인식하는지 확인하세요:

omp models joingonka

응답으로 models.yml의 컨텍스트 윈도우와 최대 출력 토큰을 천 단위로 반올림한 3행짜리 표가 돌아옵니다 (출력은 축약본입니다. omp에는 thinking과 images 컬럼도 있습니다):

joingonka (3)
model                                context  max-out
deepseek-ai/DeepSeek-V4-Flash-0731      380K      33K
MiniMaxAI/MiniMax-M2.7                  200K     8.2K
zai-org/GLM-5.3-Flash                   390K     8.2K

다음은 인터페이스 없이 단발로 실행하는 방법입니다. 빈 디렉터리에 명백한 버그가 있는 파일을 넣고 찾아달라고 요청하세요:

omp -p "Read calc.py and tell me in one sentence whether it has a bug."

에이전트는 스스로 읽기 도구를 호출하고, 오류가 있는 표현식을 짚어가며 본질적인 답변을 해야 합니다. 2026년 9월 21일 테스트에서 이 사이클(요청 → 도구 호출 → 결과 → 응답)을 DeepSeek V4 Flash와 GLM-5.3 Flash가 문제없이 통과했습니다. MiniMax M2.7에 대해서는 아래 표의 마지막 행을 참고하세요.

세 번째 검증은 게이트웨이 쪽에서 합니다. 대시보드의 "사용량" 섹션에서 요청이 "모델별" 분석에 나타나고, "키별" 블록에서 마지막 요청 시간이 갱신됩니다. 비어 있다면 omp가 다른 프로바이더로 연결되고 있는 것입니다. omp config get modelRoles 명령으로 역할에 무엇이 설정되어 있는지 확인하세요.

문제가 생겼을 때는 보통 오류 메시지에서 원인을 바로 읽을 수 있습니다:

표시 내용의미해결 방법
Bun runtime must be >= 1.3.14omp가 구버전 Bun을 통해 설치됨Bun을 업데이트(bun upgrade)하거나 사전 빌드된 바이너리를 설치: curl -fsSL https://omp.sh/install | sh -s — --binary
401 Invalid API key게이트웨이가 키를 거부함apiKey를 확인하세요: 키 전체를 공백이나 따옴표 오타 없이 입력해야 합니다. 변수 이름을 넣었다면 omp를 실행한 셸에서 해당 변수가 export되어 있어야 합니다
405 Not Allowed와 nginx HTML 페이지baseUrl에 접미사가 빠짐주소는 /v1로 끝나야 합니다
404 Invalid URL (POST /v1/v1/chat/completions)baseUrl에 불필요한 꼬리가 붙음정확히 https://gate.joingonka.ai/v1만 남기세요. 나머지는 omp가 알아서 붙입니다
400 Model … not found. Available: …모델 id에 오타가 있음게이트웨이가 사용 가능한 ID를 직접 나열합니다. 전체 목록은 GET https://gate.joingonka.ai/v1/models
Warning: models.yml validation failed — custom providers disabled, 이어서 No models matching "joingonka"파일이 검증을 통과하지 못함: 필수 필드 이름 오타 또는 손상된 YAML. omp는 내장 모델로 계속 작동합니다원인은 경고 아래 줄에 표시됩니다. 필드를 수정하고 omp models joingonka를 다시 실행하세요
429키의 분당 요청 한도를 초과했거나 피크 시간대에 모델 용량이 소진됨omp가 자동으로 간격을 늘려가며 재시도합니다. 오래 걸린다면 /model로 모델을 바꾸거나 retry.fallbackChains를 설정하세요. 네트워크 상태는 상태 페이지에서 확인할 수 있습니다
402잔액이 부족함"결제" 섹션에서 충전하세요. 키 자체는 정상입니다
실행은 끝났는데 보이는 응답이 없음 (-p 모드에서 빈 줄)2026년 9월 21일 MiniMax M2.7에서 도구 호출 이후 턴에 관찰됨: 응답이 추론 블록 안에 포함되어 omp가 이를 사고 과정으로 표시함도구를 쓰는 역할에는 DeepSeek V4 Flash 또는 GLM-5.3 Flash를 설정하고, MiniMax M2.7은 도구 없는 짧은 작업용으로 남겨두세요

비용 안내

에이전트 도구는 일반 채팅과 다르게 토큰을 소비합니다. omp는 사용자의 각 문장에 시스템 프롬프트와 도구 설명을 추가하며, 작업은 보통 여러 턴의 과정을 거치기 때문입니다. 저희가 테스트했을 때, 읽기 도구 하나만 켜두어도 턴당 약 3,500개의 입력 토큰이 발생했으며, 전체 도구를 사용하면 훨씬 더 늘어납니다. 따라서 여기서 토큰 비용이 매우 중요합니다.

JoinGonka Gateway를 통하면 토큰 가격은 입력 100만 토큰당 $0.0069, 출력 100만 토큰당 $0.021입니다. 이 가격은 네트워크의 모든 모델에 동일하게 적용되며, 이 페이지에서 실시간 소스를 통해 불러옵니다.

시나리오소비량Gateway 이용 시 비용
단일 작업: 파일 읽기 및 오류 찾기7K 토큰 이상센트 미만
활발한 작업 일3-7M 토큰몇 센트
활발한 개발 월~150M 토큰약 1달러

오른쪽 열의 추정치는 2026년 9월 가격 기준입니다. 참고로, omp에서 모델 비용을 지불하는 방법은 다음과 같습니다:

방법결제 모델제한 사항
코딩 플랜 구독 (/login 로그인)월 고정 금액벤더사의 할당량 및 제한 갱신 주기
직접 벤더 키 사용벤더 가격에 따른 토큰 결제세션 길이에 따라 비용 증가; 모델별 가격 상이
JoinGonka Gateway토큰 기반, 선불 잔액계정에서 사용량 확인 가능; 구독이나 월간 할당량 없음

omp 상태 표시줄에는 세션 예상 비용이 표시됩니다. 이는 models.yml의 cost 필드를 기준으로 계산됩니다. 설치 프로그램이 설치 시점의 게이트웨이 가격을 입력하지만, 네트워크의 달러 가격은 GNK 환율에 따라 변동되므로 대략적인 지표로 보아야 합니다. 정확한 소비량과 잔액은 계정의 '사용량(Usage)' 및 '결제(Billing)' 섹션에서 확인하십시오. 기본값으로 DeepSeek V4 Flash가 선택된 이유는 모델 리뷰에서 자세히 다루고 있습니다.

작업 시 고려 사항

승인 모드. 기본적으로 omp는 yolo 모드로 동작합니다. 읽기, 쓰기, 명령 실행을 스스로 승인합니다. 자기 프로젝트에서는 편리하지만, 남의 코드에서는 모드를 강화하거나 컨테이너로 피해야 할 이유가 됩니다:

omp config set tools.approvalMode write

write 모드에서 에이전트는 명령 실행에 대해서만 권한을 묻고, always-ask에서는 쓰기에 대해서도 묻습니다. 한 번의 실행에 대해서는 --approval-mode 플래그로도 같은 설정을 지정할 수 있습니다. 이는 omp 자체의 속성이며 모델 제공자와는 무관합니다.

Pi와 omp는 설정이 다른 사촌. 한 도구의 설정은 다른 쪽에 전달되지 않습니다. 디렉터리, 포맷, 필드 이름이 각자 다릅니다.

Piomp
설정 디렉터리~/.pi/agent~/.omp/agent
제공자models.jsonmodels.yml
기본 모델settings.json: defaultProvider 및 defaultModelconfig.yml: modelRoles.default
작업별 모델 선택세션 내 /modelmodelRoles 역할과 retry.fallbackChains 체인
확인pi --list-modelsomp models joingonka
설치 프로그램--tool pi--tool omp

여러 환경. 이름 있는 프로필(omp --profile work 또는 OMP_PROFILE 변수)은 모든 설정을 ~/.omp/profiles/<name>/agent로 옮깁니다. 업무용과 개인용 키를 분리하기에 편리합니다. 현재 에이전트 디렉터리는 omp config path로 출력됩니다.

에디터에서 에이전트가 필요하다면. omp는 ACP 프로토콜을 통해 Zed 안에서 동작할 수 있습니다. 동일한 설정의 같은 에이전트이므로 제공자와 역할을 다시 설정할 필요가 없습니다.

omp는 한 줄의 명령어 npx @joingonka/setup --tool omp 또는 두 개의 파일로 JoinGonka Gateway에 연결할 수 있습니다. ~/.omp/agent/models.yml의 joingonka 공급자(/v1이 포함된 baseUrl, api: openai-completions, jg-… 키, 정확한 contextWindow와 maxTokens 설정)와 config.yml의 modelRoles.default를 사용합니다. 그 후에는 omp의 핵심인 '역할' 기능이 작동합니다. 일반적인 작업에는 DeepSeek V4 Flash, 분석 및 계획에는 GLM-5.3 Flash, 배경 작업에는 MiniMax M2.7, 피크 타임에는 fallbackChains 체인이 사용됩니다. 확인은 omp models joingonka 명령어와 계정의 '사용량' 섹션에서 가능합니다. 네트워크 내 모든 모델의 가격이 동일하므로, 예산이 아닌 동작 방식에 따라 역할을 선택하십시오.

더 자세히 알고 싶으세요?

다른 섹션을 탐색하거나 지금 GNK를 얻기 시작하세요.

키 및 무료 토큰 받기 →