클라이언트/pi
pi에서 Wokey API 사용하기
Wokey API 키를 발급받고 pi의 Base URL을 Wokey로 지정한 뒤 curl 요청 한 번으로 연결을 확인하세요.
업데이트
API 키와 Base URL 준비link
모든 클라이언트는 같은 Wokey API 키와 같은 Base URL을 사용합니다.
Wokey Base URL 사용
클라이언트의 Base URL에 게이트웨이 도메인을 입력하세요. /v1을 붙일지는 아래 설정을 참고하세요.
클라이언트 설정link
pi는 models.json에서 사용자 지정 공급자를 읽습니다. 아래 설정은 Anthropic Messages로 Claude 모델을 호출합니다. GPT, DeepSeek 등 다른 모델은 api를 openai-completions로 하고 baseUrl이 /v1로 끝나는 두 번째 공급자를 추가하세요.
- 1
API 키 export
pi를 실행할 터미널에서 export WOKEY_API_KEY="YOUR_API_KEY"를 실행하거나 ~/.zshrc에 추가하세요.
- 2
models.json 작성
아래 내용을 ~/.pi/agent/models.json에 저장하세요. 파일에 이미 다른 공급자가 있다면 providers 아래에 wokey 항목만 추가하세요.
- 3
모델 선택
pi를 시작하고 /model을 입력한 뒤 wokey 아래의 모델을 고르세요.
{
"providers": {
"wokey": {
"baseUrl": "https://api.wokey.ai",
"api": "anthropic-messages",
"apiKey": "$WOKEY_API_KEY",
"models": [
{ "id": "claude-opus-5-5", "reasoning": true, "input": ["text", "image"] }
]
}
}
}API 형식과 Base URLlink
같은 클라이언트라도 API 형식을 바꾸면 Base URL 끝에 /v1을 붙일지가 달라질 수 있습니다.
| 형식 | Base URL | 용도 |
|---|---|---|
| Anthropic Messages | https://api.wokey.ai | Claude 모델 |
| OpenAI Chat Completions | https://api.wokey.ai/v1 | DeepSeek, GLM, Kimi 등 기타 모델 |
| OpenAI Responses | https://api.wokey.ai/v1 | GPT 모델 |
설정 위치: ~/.pi/agent/models.json
curl로 확인link
클라이언트에서 오류가 나면 먼저 curl로 API 키와 Base URL 문제가 아닌지 확인하세요.
pi는 기본적으로 Anthropic Messages 형식을 사용합니다. 이 요청이 200을 반환하면 API 키와 Base URL이 올바른 것입니다. 보내기 전에 YOUR_API_KEY를 내 키로 바꾸세요.
curl https://api.wokey.ai/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5",
"max_tokens": 1024,
"messages": [
{ "role": "user", "content": "Hello" }
]
}'오류 및 문제 해결link
먼저 인증, 잔액, 속도 제한, 모델 사용 가능 여부, 업스트림 타임아웃 중 어느 경우인지 구분하세요.
invalid api key
키가 없거나, 잘못 입력되었거나, 삭제되었거나, Authorization과 x-api-key 헤더가 서로 다릅니다.
insufficient balance
계정 잔액이 부족합니다. 요청을 더 보내기 전에 충전하세요.
model_denylisted / account_restricted
반복된 위반으로 해당 모델 또는 계정의 모든 모델에 대한 호출이 일시 중지되었습니다. 위반 처리 수수료 및 제한을 참고하세요.
request_blocked
이 요청은 업스트림에 도달하기 전에 차단되었으며 과금되지 않습니다. 예를 들어 모델이 방금 거부한 요청을 그대로 다시 보냈거나, 일시 중지된 최종 사용자(X-End-User-Id)인 경우입니다. 오류 메시지에 무엇이 차단되었는지 나와 있으니 안내에 따라 요청을 수정하거나 나중에 다시 시도하세요. 다른 요청에는 영향이 없습니다.
rate limited
요청이 너무 잦습니다. 나중에 다시 시도하거나 동시 실행 수를 줄이세요. 특정 모델 하나 또는 특정 최종 사용자(X-End-User-Id) 하나만 계속 429를 반환한다면 위반 후의 일시적인 제한일 수 있습니다.
client disconnected
응답이 끝나기 전에 클라이언트가 연결을 닫았습니다(코드 downstream_aborted). 기본적으로 무료입니다. 계정에서 지난 24시간 동안 클라이언트 연결 끊김이 50회 이상 발생하고 그것이 요청의 10% 이상을 차지하면, 이후 연결이 끊긴 요청은 업스트림이 보고한 사용량으로 과금됩니다. 대상은 캐시 읽기와 쓰기를 포함한 처리된 입력, 그리고 업스트림이 집계한 경우에만 출력입니다. 업스트림이 사용량을 보고하기 전에 끊긴 경우는 계속 무료입니다. 과금이 시작되면 계정에 알림이 가며, 연결 끊김 비율이 정상으로 돌아오면 1시간 안에 과금이 자동으로 중지됩니다. 흔한 원인은 클라이언트나 프록시의 타임아웃이 너무 짧거나, 프로그램이 완료 전에 요청을 취소하는 경우입니다.
upstream unavailable
업스트림 모델 서비스를 일시적으로 사용할 수 없습니다. 모델을 바꾸거나 나중에 다시 시도하세요.
upstream timeout
업스트림 응답 시간이 초과되었습니다. 컨텍스트를 줄이거나 max_tokens를 낮추거나 다시 시도하세요.
upstream overloaded
업스트림 모델이 일시적으로 과부하 상태이며, Wokey는 이미 다른 경로로 재시도했습니다(코드 upstream_overloaded). 잔액과는 관계가 없습니다. 잠시 후 다시 시도하거나 모델을 바꾸세요.
자주 묻는 질문link
- pi의 baseUrl은 /v1로 끝나야 하나요?
- api 필드에 따라 다릅니다. anthropic-messages이면 /v1 없이 https://api.wokey.ai를, openai-completions 또는 openai-responses이면 https://api.wokey.ai/v1을 사용하세요.
- /model에 Wokey 모델이 보이지 않는 이유는 무엇인가요?
- pi는 API 키를 확인할 수 없으면 사용자 지정 모델을 표시하지 않습니다. apiKey가 $WOKEY_API_KEY라면 pi를 시작하는 같은 터미널에서 export WOKEY_API_KEY를 실행한 뒤 models.json이 올바른 JSON인지 확인하세요. /model은 열 때마다 이 파일을 다시 읽습니다.
- pi에서 Wokey 모델에 이미지를 보내려면 어떻게 하나요?
- pi의 사용자 지정 모델은 기본적으로 텍스트 입력만 선언합니다. 이미지를 지원하는 모델에 "input": ["text", "image"]를 추가해 이미지 입력을 받는다고 선언하세요.
- 컨텍스트 윈도우와 최대 출력을 바꿔야 하나요?
- 지정하지 않으면 pi는 contextWindow 128000, maxTokens 16384로 간주합니다. 모델의 윈도우가 더 크면 모델 항목의 contextWindow와 maxTokens를 모델 페이지의 값으로 설정하세요.
- API 키를 파일에 넣지 않을 수 있나요?
- 네. apiKey는 $NAME 형식의 환경 변수와, 명령 출력에서 키를 읽는 !command 형식을 지원합니다.