본문으로 건너뛰기
문서

CodeSpace

CodeSpace는 외부 코딩 에이전트가 작업 공간의 파일을 읽고 수정하며 명령을 실행할 수 있게 하는 MCP(Model Context Protocol) 서버입니다. 에이전트가 작업을 계획하고 결과를 해석하면, CodeSpace는 접근 권한을 확인하고 작업을 실행하며 실행 상태를 관리합니다. 자체적으로 모델을 호출하거나 에이전트 루프를 실행하지 않습니다.

작업 공간을 등록하고 시작하기

설치와 첫 연결에서 서버·패치 도우미 빌드, 프로젝트 디렉터리 등록, stdio 또는 Streamable HTTP 연결 순서를 확인하세요. 작업 공간을 등록하지 않고 서버만 시작하면 접근할 수 있는 프로젝트가 없습니다.

이후 Agent Loop 연동 가이드에 따라 읽기 → 수정 → 실행 → 결과 확인 흐름을 구성하세요. 취소와 결과가 불확실한 경우의 처리도 설명합니다. 상세 문서는 문서 안내에서 찾을 수 있습니다.

제공하는 도구

목적도구
실행 환경과 파일 확인workspace_info, find, read
패치 적용과 기록된 상태 조회apply_patch, operation_status
프로세스 실행과 제어exec_command, read_process, process_status, process_resize, write_stdin, terminate_process
작업과 사용자 추가 지시 관리work_open, steer_status, steer_claim_next, steer_complete, work_finish

두 전송 방식에서 같은 도구를 사용할 수 있습니다. HTTP /inbox API는 사용자용 클라이언트가 지시 초안을 관리하는 JSON API입니다. 브라우저에서 사용하는 받은 편지함 화면은 제공하지 않습니다.

실행 방식과 현재 제약

기본 러너는 서버 호스트에서 실행합니다. 선택적으로 Unix 소켓을 사용하는 별도 프로세스에 실행을 맡길 수 있지만, 실행 위치는 같은 호스트입니다. Linux에서는 샌드박스 도우미의 사용 가능 검사가 성공하면 명령 격리와 네트워크 정책이 적용됩니다. UDS 사용과 샌드박스 활성화는 별개입니다. 자세한 조건은 러너 격리를 참고하세요.

패치, 터미널 세션, 파일 시스템 접근, Linux 샌드박스에는 특정 버전에 고정한 Codex 실행 라이브러리를 사용합니다. Codex 재사용 범위에서 실제 연결된 구성 요소와 CodeSpace가 담당하는 책임을 설명합니다.

에이전트를 연동할 때는 다음 제약을 반영해야 합니다.

  • 프로세스 종료는 process_status로 판정하세요. read_process의 EOF는 성공이 아닙니다.
  • 프로세스 출력의 보관 크기가 제한되어 있습니다. output_lost가 참이면 보관 창이 전체 로그가 아닙니다.
  • 실행 중인 PTY 크기는 process_resize로 바꿉니다. spawn 크기는 24×80이며 tty_sizeexec_command 인자가 아닙니다.
  • 명령이 실행 중이면 같은 작업 공간에서 다른 명령이나 패치를 실행할 수 없습니다. 개발 서버를 켜 둔 채 같은 작업 공간을 수정하는 흐름에는 제약이 있습니다.
  • 서버를 재시작하면 프로세스 핸들이 사라집니다. HTTP/MCP 클라이언트 끊김은 프로세스를 죽이지 않습니다. UDS worker 손실과 게이트웨이 종료는 죽입니다. 패치 작업 기록은 데이터베이스 경로를 설정한 경우에만 유지됩니다.
  • 컨테이너 실행과 완전한 OAuth 서버는 구현되어 있지 않습니다. 실제 ChatGPT 계정 연결도 아직 검증되지 않았습니다.

라이선스

Apache License 2.0을 따릅니다. LICENSE의존성 출처 고지를 확인하세요.