에이전트 연동 개요
API 키 하나로 터미널, 코딩 에이전트, GitHub Actions에서 XenoCI macOS 러너에 잡을 보내는 방법
콘솔에서 만든 API 키 하나로 터미널(xenocast CLI), 코딩 에이전트(MCP 서버), GitHub Actions(Xeno-CI/build 액션) 어디서든 같은 macOS 러너를 씁니다
무엇이 되나
| 하는 일 | 쓰는 것 |
|---|---|
| 셸에서 잡을 보내고 로그를 바로 본다 | xenocast build --script ./ci.sh |
| Claude Code, Codex, Cursor가 빌드와 테스트를 돌린다 | MCP 서버 xenocast mcp의 도구 build, status, cancel, logs, whoami, credits, usage |
| 기존 워크플로에서 macOS 잡만 XenoCI로 보낸다 | Xeno-CI/build@v1 액션에 api-key와 script를 넘긴다 |
| 브라우저에서 스크립트 한 번 돌려 본다 | 콘솔 빌드 → 플레이그라운드 |
| 잔액과 쓴 금액을 확인한다 | xenocast credits, xenocast usage, 콘솔 분석 → 사용량 |
세 경로 모두 같은 REST API(https://xenoci.com/api/runner/v1)를 부르고, 잡은 모두 같은 규칙으로 돌고 과금됩니다
잡이 도는 방식
- 잡마다 새 macOS VM(Mac mini M4, vCPU 4, 메모리 7GB)을 만듭니다
- 소스(올린 폴더 또는 공개 git 저장소)를 작업 폴더에 두고 스크립트를 실행합니다
- 스크립트가 끝나면
artifacts에 적은 경로를 결과물로 모으고 VM을 지웁니다 - 실행한 시간을 분 단위로 올림해 조직의 선불 크레딧(USD)에서 차감합니다
| 항목 | 값 |
|---|---|
| 러너 | macOS M4 표준(macos-m4), Apple M4, vCPU 4, 메모리 7GB |
| 과금 단위 | 시작한 분마다 1분, billed_minutes = ceil(run_seconds / 60) |
| 과금 시작 | VM 준비가 끝나고 스크립트가 시작된 시각(started_at)부터 |
| 제한 시간 | timeout_minutes 1~360, 기본 60 |
| 크레딧 | 선불 USD, 충전 건마다 1년 뒤 만료, 결제는 콘솔에서 로그인한 사람이 |
| 잔액 0 | 새 잡은 insufficient_credit로 거절, 실행 중인 잡은 분 경계에서 credit_exhausted로 중단 |
분당 요금은 요금제 페이지와 xenocast credits의 분당 줄에서 확인합니다. 요금은 부가세 포함이고 잡이 시작할 때 고정됩니다
인증
- 웹 콘솔 로그인은 Google 또는 이메일(매직 링크와 코드)입니다
- CLI, MCP 서버, GitHub Actions는 API 키로만 인증합니다. 키 형식은
xci_live_…이고 콘솔 API 키 화면에서 발급합니다 - 키는 워크스페이스 하나에 묶이고 권한은
run(실행과 조회) 또는read(조회만)입니다 - 키로는 결제, 충전, 키 발급, 멤버 관리를 할 수 없습니다. 그 일은 콘솔에서만 합니다
- 요청 헤더는
Authorization: Bearer xci_live_…입니다
참고 GitHub 로그인, 하루권 Mac 임대,
runs-on: xenoci-macos라벨은 제공하지 않습니다. 워크플로에서는ubuntu-latest러너가Xeno-CI/build액션으로 잡을 보내는 방식입니다
다음 단계
- 빠른 시작: 설치 한 번으로 CLI와 MCP 서버를 함께 받고 첫 잡을 돌립니다
- xenocast CLI 레퍼런스: 명령, 옵션, 종료 코드 전체
- MCP 서버: 도구 7개와 Claude Code, Codex, Cursor 등록
- GitHub Actions: 액션 입력과 예시 워크플로