메인 콘텐츠로 건너뛰기

CLI 명령 레퍼런스

정식 출시된 @evolinkai/cli 0.14.1 기준입니다. 설치된 버전에 대해서는 evolink —help 또는 evolink COMMAND —help —json을 사용하세요. 비즈니스 명령은 —json을 지원합니다. MODEL_ID, QUOTE_ID, TASK_ID, UPLOAD_ID는 실제로 반환된 값으로 바꾸세요.

인증, 진단, 스킬

설치를 참고하세요. agent 값: all/codex/claude-code/cursor/gemini/opencode/copilot/openclaw/hermes. 기본값은 all입니다. 스킬 인식 여부는 여전히 어시스턴트가 검증해야 합니다. setup, doctor, auth login의 출력에는 update(status, update_available, latest_version, command)가 포함됩니다. 다른 명령은 더 새로운 릴리스가 있을 때 하루에 한 번까지만 stderr로 알림을 출력합니다. 확인을 끄려면 EVOLINK_CLI_UPDATE_CHECK=0을 설정하세요. 새 버전이 나왔는지 확인하는 방법을 참고하세요.

모델, 입력, 문서

docs search는 번들로 포함된 공식 모델 레퍼런스 색인을 사용하며, 웹사이트를 실시간으로 크롤링하지 않습니다. 추천은 문서화된 입력, 키워드, 플랫폼의 편집상 선호를 바탕으로 하며 인기 순위가 아닙니다. 단가는 작업 견적이 아닙니다.

견적과 생성

모델의 실제 매개변수로 input.json을 만든 뒤 무료 견적을 받으세요:
견적이 성공하면 quote_id를 반환하고, 예상 비용을 산정한 시점부터 24시간 동안 유효하며(expires_at), 로그인, 백엔드, 모델, 정확한 입력에 묶입니다. 생성 단계에서는 제출하기 전에 가격 규칙을 다시 읽습니다. 같은 입력이 승인된 가격 이하이면 제출하며, 이후에 규칙이 바뀐 경우에도 마찬가지입니다. 가격이 올랐으면 price_changed, 입력이 바뀌었으면 quote_input_changed, 견적이 만료되었으면 quote_expired로 실패합니다. 이런 경우에는 아무것도 보내지 않으며, 새 견적과 승인이 필요합니다. 실패했거나 상한 때문에 거부된 예상 비용 산정 결과는 사용할 수 있는 견적이 아닙니다. 과금 사용량이 빠진 예상 비용 산정은 빠진 값과 그 값을 제공하는 옵션을 하나씩 알려 주며 실패하고, 견적을 저장하지 않습니다. 사양, 범위, 경고를 보여 주고 명시적인 승인을 기다린 뒤 알맞은 명령을 선택하세요:
이들은 서로 별개의 예시입니다. 견적 하나는 유형 하나/작업 하나에 적용됩니다. 생성 단계에서는 모델이나 입력을 바꿀 수 없습니다. 변경 사항이 있으면 견적을 다시 받고 승인받으세요. —confirm은 승인을 받았음을 선언할 뿐, 스스로 사용자에게 물어볼 수는 없습니다. 제출하지 않은 견적을 갱신하려면(예: 견적이 만료되었거나 가격이 오른 뒤) 견적을 새로 고치세요:
새로 고친 견적은 새 quote_id를 가지며, 원래 요청 ID를 유지하고 이전 견적을 대체합니다. 사용자에게 보여 주고 다시 승인을 받은 뒤 가장 최신 견적만 제출하세요. 대체된 견적을 제출하거나 재개하면 quote_superseded로 실패하며, 이 오류는 현재 견적 또는 그 작업을 알려 줍니다. 제출이 이미 시작된 견적은 새로 고칠 수 없습니다(submission_already_started). 대신 해당 작업을 복구하세요. 다른 새로 고침이 같은 견적을 대체하는 도중에 실행된 새로 고침은 quote_refresh_conflict를 반환합니다. --inputs-file로 만든 견적은 배치 전체에 적용됩니다. generate --quote QUOTE_ID --confirm은 모든 입력을 한꺼번에 제출하고(동시에 최대 10개씩), 기다리지 않고 입력별 작업 ID 또는 오류를 반환합니다. --wait는 작업 하나에만 사용합니다. 결과는 tasks batch --ids로 수집하세요. 사용자가 예상 비용 산정이나 확인을 하지 말라고 명시적으로 말한 경우에만 사용하세요:
--skip-estimate는 견적 없이 제출하며, --inputs-file과도 함께 쓸 수 있습니다. 가격을 확인하지 않고, 작업 요금은 실제 사용량에 따라 부과되며, 결과에 그 사실이 표시됩니다(estimate_skipped). 유효하지 않은 입력은 여전히 거부되며, 명시적인 --max-cost-usd도 그대로 적용됩니다. 이 값을 넘는 요청이나, 가격을 이 값과 대조해 확인할 수 없는 요청은 제출되지 않습니다. --skip-estimate는 --quote 또는 --confirm과 함께 쓸 수 없습니다. 이 명령은 자체 요청 ID가 담긴 기록을 저장하고 tasks resume에 쓸 quote_id를 반환합니다. —wait는 기존 작업을 기다립니다. timeout은 1–86400초이고 기본값은 1800입니다. 시간 초과나 Ctrl-C로는 서버의 작업이 취소되지 않습니다. timeout에는 모든 읽기, 재시도, 일시 정지 시간이 포함됩니다. 제한에 도달하면 wait_timeout이 마지막으로 검증된 상태와 그 read_at을 보고하며, 최신 상태를 읽지 못한 경우에는 status_check: unverified를 보고합니다. 완전한 예상 비용은 제출 검사에 기본적으로 견적의 최댓값을 사용합니다. 예산의 한계를 참고하세요.

작업, 배치, 복구

시간 필터는 선택한 페이지에만 적용됩니다. 기록은 이 채팅뿐 아니라 계정 전체를 포함합니다. 빈 페이지가 제출이 없었다는 증거는 될 수 없습니다. total은 로컬 시간 필터를 적용하기 전의 값입니다. 배치 ID는 쉼표로 구분한 값 1–50개입니다. 작업 ID가 있으면 get/wait를 사용하세요. 제출 응답을 받지 못했다면 원래 요청 ID와 로그인을 유지한 채 원래 견적을 재개하세요. 배치의 경우 tasks resume --quote QUOTE_ID가 제출되지 않은 입력을 마저 제출하며, 이미 접수된 입력은 새로 과금되지 않고 원래 작업을 반환합니다. tasks resume은 첫 제출 후 23시간 이내에만 요청 ID로 다시 요청을 보냅니다(EvoLink는 요청 ID를 24시간 동안 보관합니다). 그 이후에는 recovery_window_passed로 거부합니다. 견적 규칙도 그대로 따릅니다. 견적이 만료되었거나(quote_expired) 가격이 올랐으면(price_changed) 아무것도 보내지 않습니다. 어느 경우든 tasks batch 또는 tasks list로 무엇이 접수되었는지 확인하고, 나머지만 새 생성 또는 새 배치로 예상 비용을 산정하세요. 기록이 없어졌거나 만료되었거나 계정이 바뀌었다면, 다시 유료 요청을 하기 전에 기록/콘솔을 확인하세요. CLI에는 취소 명령이 없습니다.

잔액과 작업 사용량

balance는 계정 잔액과 적용되는 한도를 반환합니다. usage는 model/type/생성 시간을 받습니다. since의 기본값은 30d, max-pages는 1–20이고 기본값은 5이며, 페이지당 작업 50개입니다. 누락된 비용, 조회 범위, 잘림 여부를 확인하세요. usage는 계정 전체의 보관된 기록 중 제한된 범위에서 보고된 완료 작업 비용이며, 청구서, 환불 원장, CLI/MCP만의 사용량, 최종 예산이 아닙니다.

업로드와 원본 다운로드

CLI는 1바이트에서 95 MiB까지의 일반 파일을 받으며, 먼저 업로드 ID를 저장합니다. uploads get은 원래 접수 확인을 읽기만 합니다. 호환되는 백엔드 지원이 없으면 다시 보내지 않고 알 수 없음으로 보고할 수 있습니다. 참조 파일은 보통 72시간 동안 유지됩니다. 다운로드 index는 1부터 시작하며 기본값은 1, 범위는 1–50입니다. 상위 디렉토리가 있어야 하며, 기존 파일은 덮어쓰지 않습니다. 결과 하나는 최대 1 GiB입니다. 유형/내용 검사를 통해 미디어로 위장한 HTML 오류 페이지를 거부합니다. 배치 모드인 —all —output-dir DIR은 —template NAME과 —resume을 지원합니다. 재개할 때는 원래 배치 기록을 사용하며, 이름만 같은 임의의 파일은 신뢰하지 않습니다. 자세한 내용은 작업 결과 전달에 있습니다.

JSON, 종료 코드, 설정

—json은 schema_version:1과 ok가 포함된 JSON 한 줄을 stdout에 씁니다. 진행 상황은 stderr로 출력됩니다. 오류는 ok:false/error와 0이 아닌 종료 코드로 나타나며, Ctrl-C는 보통 코드 130으로 종료합니다. 작업의 status:failed는 조회 명령 호출 실패와 다릅니다. 먼저 명령의 ok를 확인한 다음 작업 상태를 확인하세요. 로컬 기록은 ~/.evolink-media에 남으며, 자격 증명은 OS 보안 저장소를 사용합니다. 로그인을 옮기려고 이 디렉토리를 복사하거나, 불확실한 제출을 해결하려고 견적/복구 기록을 삭제하지 마세요. 고급 옵션 —server는 OAuth 리소스/신원 바인딩을 선택합니다. 기본값: https://mcp.evolink.ai/mcp. 이 옵션은 REST 실행 방식을 바꾸지 않습니다. —api-url/—files-url은 프로덕션 기본값을 유지하세요. 임의의 외부 URL은 거부됩니다. —token-stdin은 명령 한 번에만 쓰는 OAuth 액세스 토큰이며, 플랫폼 API Key가 아니고 setup용도 아닙니다. 토큰을 명령 인수나 로그에 넣지 마세요. 범용 run, 텍스트 채팅, 취소, 충전, 키 관리, 사용자 지정 별칭 파일을 위한 명령은 제공하지 않습니다. 필요하면 해당 콘솔/API를 사용하세요.

CLI 실행 경로와 API

CLI 0.8.0부터 미디어 요청은 터미널 또는 에이전트 → EvoLink CLI → 플랫폼 REST API 경로를 사용합니다. 입력 검사, 모델 레퍼런스 조회, 예상 비용 산정, 결과 정리는 로컬에서 실행되며, 비즈니스 실행은 원격 MCP의 tools/call을 호출하지 않습니다.

명령과 백엔드 동작

CLI의 quote_id, —confirm, 복구 파일은 클라이언트 측 작업 흐름을 구현한 것이며, 새로운 백엔드 필드가 아닙니다. 정식 출시된 CLI 0.14.1은 공개 가격 규칙으로 예상 비용을 산정합니다(참고 가격, 계정 할인 미포함). —max-cost-usd는 최종 정산 금액의 상한이 아닙니다.

요청, 복구, 자동화

제출하기 전에 견적과 요청 ID를 영구 저장하세요. REST는 기존 Idempotency-Key / X-Evo-Run-Id 식별자를 사용합니다. 응답을 받지 못했다면 원래 견적으로 복구하세요. 신원, 입력, 식별자를 바꿔서 다시 제출하지 마세요. 클라이언트 기록만으로는 모든 프로덕션 노드에서 백엔드 멱등성이 동일하게 보장된다고 증명할 수 없습니다. 스크립트는 ok를 확인한 다음 작업 status, 그다음 결과와 비용 필드를 확인해야 합니다. 터미널의 마지막 줄에 의존하지 말고 quote_id, task_id, 다운로드 매니페스트를 저장하세요. 조회 오류, 작업 실패, 다운로드 실패는 각각 다르게 처리해야 합니다. 유료 제출을 무조건 재시도하지 마세요. CLI 세션과 네이티브 MCP 세션은 따로 관리되지만, 현재 계정 OAuth는 EvoLink MCP (OAuth)의 권한, 한도, 일시 중지 상태를 공유합니다. 네이티브 연결은 별도의 MCP 문서를 이용하세요.