Grok Build가 오픈 소스로 공개됨

3 hours ago 2
  • SpaceXAI의 터미널 기반 AI 코딩 에이전트 Grok Build를 구성하는 Rust 소스와 에이전트 런타임이 공개됐으며, 저장소는 SpaceXAI 모노레포에서 주기적으로 동기화됨
  • 전체 화면 TUI에서 코드베이스 이해, 파일 수정, 셸 명령 실행, 웹 검색, 장기 작업 관리를 지원하고 대화형·헤드리스·Agent Client Protocol(ACP) 연동 방식으로 실행할 수 있음
  • macOS·Linux·Windows용 사전 빌드 바이너리를 제공하며, 소스 빌드는 Rust와 protoc가 필요하고 macOS·Linux만 정식 빌드 호스트로 지원함
  • 코드는 TUI, 에이전트 런타임, 도구 구현, 호스트 파일 시스템·VCS·실행·체크포인트를 각각 담당하는 Rust 크레이트로 나뉨
  • 자체 코드는 Apache License 2.0으로 배포되지만 외부 기여는 받지 않으며, 서드파티 및 벤더링 코드는 기존 라이선스를 유지함

Grok Build의 역할과 실행 방식

  • Grok Build는 SpaceXAI의 터미널 기반 AI 코딩 에이전트이며, 명령어 이름은 grok임
  • 전체 화면 TUI로 동작하며 다음 작업을 수행함
    • 코드베이스 이해
    • 파일 편집
    • 셸 명령 실행
    • 웹 검색
    • 장기 실행 작업 관리
  • 실행 방식은 세 가지를 지원함
    • 터미널에서 대화형으로 사용
    • 스크립트나 CI에서 헤드리스 모드로 실행
    • Agent Client Protocol(ACP)을 통해 편집기에 내장
  • 저장소에는 grok CLI/TUI와 에이전트 런타임의 Rust 소스가 들어 있으며, SpaceXAI 모노레포에서 주기적으로 동기화됨
  • 제품 정보는 x.ai/cli, 전체 문서는 docs.x.ai/build/overview에서 확인할 수 있음

바이너리 설치와 인증

  • 사전 빌드 바이너리는 macOS, Linux, Windows용으로 배포됨
curl -fsSL https://x.ai/cli/install.sh | bash # macOS / Linux / Git Bash irm https://x.ai/cli/install.ps1 | iex # Windows PowerShell grok --version
  • 릴리스별 수정 사항과 기능 개선은 changelog에 정리됨
  • 소스 빌드 결과물 이름은 xai-grok-pager이며, 공식 설치판에서는 이를 grok 이라는 이름으로 제공함
  • 첫 실행 시 브라우저를 열어 인증을 진행함

소스 빌드 조건

  • 빌드에는 Rust와 protoc이 필요함
    • Rust 도구 체인 버전은 rust-toolchain.toml에 고정되며, 첫 빌드 때 rustup이 자동 설치함
    • 프로토콜 버퍼 코드 생성은 bin/protoc의 dotslash 런처를 먼저 사용하고, 없으면 PATH 또는 $PROTOC에 있는 protoc으로 대체함
  • macOS와 Linux는 지원되는 빌드 호스트임
  • Windows 소스 빌드는 최선 노력 방식(best-effort) 으로만 제공되며, 현재 이 소스 트리에서 테스트되지 않음
cargo run -p xai-grok-pager-bin cargo build -p xai-grok-pager-bin --release cargo check -p xai-grok-pager-bin
  • cargo run은 TUI를 빌드하고 실행함
  • 릴리스 빌드는 target/release/xai-grok-pager 바이너리를 생성함
  • cargo check는 빠른 검증에 사용함

저장소 구조

  • crates/codegen/xai-grok-pager-bin
    • 구성 루트 패키지이며 xai-grok-pager 바이너리를 빌드함
  • crates/codegen/xai-grok-pager
    • 스크롤백, 프롬프트, 모달, 렌더링을 포함한 TUI를 담당함
  • crates/codegen/xai-grok-shell
    • 에이전트 런타임과 leader·stdio·헤드리스 진입점을 제공함
  • crates/codegen/xai-grok-tools
    • 터미널, 파일 편집, 검색 등 도구 구현을 포함함
  • crates/codegen/xai-grok-workspace
    • 호스트 파일 시스템, 버전 관리 시스템, 명령 실행, 체크포인트를 담당함
  • 나머지 crates/codegen/...
    • 설정, MCP, Markdown, 샌드박스 등 CLI에 필요한 크레이트를 포함함
  • crates/common/, crates/build/, prod/mc/
    • 의존성 폐쇄에 포함된 소규모 공유 리프 크레이트임
  • third_party/
    • Mermaid 다이어그램 스택의 벤더링된 업스트림 소스를 포함함
  • 루트 Cargo.toml은 워크스페이스 구성원, 의존성 버전, 린트, 프로필을 바탕으로 생성되는 파일이므로 읽기 전용으로 취급해야 함
    • 변경할 때는 각 크레이트의 Cargo.toml을 수정하는 방식이 권장됨

문서 범위

  • 사용자 가이드는 crates/codegen/xai-grok-pager/docs/user-guide/에 포함됨
  • 문서는 다음 주제를 다룸
    • 시작하기
    • 키보드 단축키
    • 슬래시 명령
    • 설정과 테마
    • MCP 서버

      • 스킬과 플러그인
      • 훅(hook)
      • 헤드리스 모드
      • 샌드박싱

개발 워크플로

  • 전체 워크스페이스 빌드는 느리므로 항상 개별 크레이트를 지정해 검사하는 방식이 권장됨
cargo check -p <crate> cargo test -p xai-grok-config cargo clippy -p <crate> cargo fmt --all
  • 테스트와 Clippy도 크레이트 단위로 실행함
  • Clippy 설정은 저장소 루트의 clippy.toml, Rust 포매팅 설정은 rustfmt.toml에 있음

기여와 라이선스

  • 저장소는 외부 기여를 받지 않음
  • 저장소의 자체 코드는 Apache License 2.0으로 배포됨
  • 서드파티 및 벤더링 코드는 각 원본 라이선스를 유지함
  • THIRD-PARTY-NOTICES에는 crates.io·Git 의존성, 번들 UI 테마, 소스 트리 내부 포트의 고지 사항이 포함됨
    • 내부 포트에는 openai/codex와 sst/opencode의 도구 구현이 포함됨
  • crates/codegen/xai-grok-tools/THIRD_PARTY_NOTICES.md에는 Codex·OpenCode 포트의 라이선스 본문과 Apache §4(b) 변경 고지가 들어 있음
  • third_party/NOTICE는 벤더링된 Mermaid 스택의 고지 인덱스를 제공함
Read Entire Article