
ChatGPT와 함께 사용하는 Codex의 기능
ChatGPT와 함께 사용하는 Codex는 ChatGPT 웹 앱을 Codex 코딩 세션의 계획 및 검토 계층으로 전환합니다. ChatGPT는 작업을 분석하고 계획을 세우며 완료된 작업을 검토합니다. Codex는 파일 편집, 명령 실행, 변경 사항 테스트 및 문제 수정 작업을 담당합니다.
이 프로젝트의 목표는 계획 및 검토 단계에 부족한 API 또는 Codex 토큰을 사용하는 대신, 기존 ChatGPT Plus 또는 Pro 웹 구독을 활용하는 것입니다. API 키가 필요하지 않으며 리버스 프록시도 사용하지 않습니다.
저장소 전체가 업로드되지는 않습니다. ChatGPT는 OAuth로 보호되는 읽기 전용 Model Context Protocol 브리지를 통해 필요한 워크스페이스 정보만 요청합니다. 이 프로젝트는 비공식 커뮤니티 프로젝트이며 OpenAI와 제휴하거나 OpenAI의 보증을 받지 않습니다.
워크플로 작동 방식
시스템은 통신을 컨트롤 플레인과 데이터 플레인으로 분리합니다.
- 컨트롤 플레인: Codex와 ChatGPT는 Computer Use를 통해 작은 구조화 상태 메시지를 주고받습니다. 워크플로는
INIT → PLAN → EXECUTED → REVIEW → DONE순서로 진행됩니다. 파일 본문, diff 및 로그는 이러한 메시지에 붙여 넣지 않습니다. - 데이터 플레인: ChatGPT는 읽기 전용 MCP 브리지를 통해 필요한 워크스페이스 데이터를 읽습니다.
- 실행: Codex가 셸 명령, 파일 변경, Git 작업, 테스트 및 수정을 담당합니다.
- 독립 검토: ChatGPT는 작업이 성공했다는 주장에만 의존하지 않고 실제 Git diff와 기록된 테스트 상태를 검토합니다.
브리지는 다음 8개의 읽기 전용 도구를 제공합니다.
workspace_infolist_directoryread_filesearch_workspacegit_statusgit_difftest_statusexecution_summary
주요 기능
- 읽기 전용 워크스페이스 액세스: 브리지에는 쓰기, 삭제, 셸 또는 커밋 도구가 없습니다.
- 워크스페이스 격리: 각 토큰은 하나의 워크스페이스에 연결됩니다. 정규 경로 검사를 통해 심볼릭 링크, 상위 디렉터리 및 절대 경로를 이용한 이탈을 차단합니다.
- 민감한 파일 보호:
.env변형 파일, 자격 증명, SSH 자료 및 키와 같은 파일은 기본적으로 거부됩니다..env.example은 허용됩니다. - 사용자 지정 제외:
.c2cignore파일을 사용해 프로젝트별 규칙을 추가할 수 있습니다. - 보호된 공개 엔드포인트: MCP 엔드포인트는 PKCE S256을 사용하는 OAuth 2.1, 동적 클라이언트 등록, 리프레시 토큰 순환 및 토큰 폐기를 지원합니다.
- 일회성 페어링: 브라우저에는 유효 기간 5분, 최대 5회 시도 제한, 속도 제한이 적용되며 사용 후 폐기되는 일회성 코드만 전달됩니다.
- 자동 터널 관리: 프로젝트는 공개 연결에 Cloudflare Quick Tunnel을 사용하며 로컬 HTTP 서버는 루프백 전용으로 유지합니다.
- 자동 Skill 업데이트: Codex Skill은 하루에 한 번 GitHub를 확인하고 새 릴리스가 있으면 자동으로 업데이트합니다.
사전 요구 사항
프로젝트에는 다음 소프트웨어가 필요합니다.
- Node.js 20 이상
- Git
- 공개 연결을 위한
cloudflared - 포함된 Skill을 설치하고 실행할 수 있는 Codex 환경
- ChatGPT 웹 앱 액세스 권한
자동 설정은 macOS에서 Homebrew를 사용하거나 Windows에서 winget을 사용해 누락된 종속 항목을 설치할 수 있습니다. ChatGPT 또는 Cloudflare 로그인, CAPTCHA 또는 2단계 인증 메시지가 표시되면 잠시 직접 작업을 인계받아야 할 수 있습니다.
옵션 1: Codex가 모든 항목을 설치하도록 하기
가장 간단한 방법은 Codex에 전체 설정을 수행하도록 요청하는 것입니다. 환경을 확인하고, 누락된 종속 항목을 설치하고, 저장소를 복제하고, 프로젝트를 빌드하고, Skill을 설치하고, 최초 연결 프로세스를 실행하도록 지시합니다.
기본 빌드 단계는 다음과 같습니다.
git clone https://github.com/XiaoDuoYa/codex-with-chatgpt ~/codex-with-chatgpt
cd ~/codex-with-chatgpt
corepack pnpm install
corepack pnpm build그런 다음 Codex는 skill/SKILL.md를 다음 위치에 복사해야 합니다.
~/.codex/skills/codex-with-chatgpt/SKILL.md복사한 파일에서 The codex-with-chatgpt checkout lives at:로 시작하는 줄을 실제 저장소 체크아웃 경로를 가리키도록 업데이트해야 합니다.
마지막으로 Codex는 c2c setup을 실행하고, 기본 제공 브라우저에서 ChatGPT 커넥터 설정을 열고, 생성된 페어링 코드를 입력합니다. 문서에 설명된 워크플로에 따르면 이 설정 중에는 타사 브라우저를 열지 않아야 합니다.
옵션 2: Skill 수동 설치
저장소를 이미 다운로드하고 빌드했다면 저장소의 skill/ 디렉터리를 Codex skills 디렉터리에 복사합니다.
~/.codex/skills/codex-with-chatgpt/그런 다음 Codex에 다음과 같이 요청합니다.
ChatGPT와 함께 사용하는 Codex를 설정해 줘.
Codex가 브리지, 터널, 페어링 프로세스 및 커넥터 설정을 처리합니다. 설정이 성공하면 다음과 비슷한 체크리스트가 표시됩니다.
Codex with ChatGPT
✓ 프로젝트 감지됨
✓ Workspace Bridge 시작됨
✓ 보안 연결 설정됨
✓ ChatGPT 연결됨
✓ 파일 읽기 테스트 통과
준비 완료.실제 작업을 시작하기 전에 파일 읽기 테스트가 통과했는지 확인합니다. 이를 통해 ChatGPT가 읽기 전용 브리지를 통해 현재 워크스페이스에 액세스할 수 있는지 검증합니다.
기본 사용법
설정이 완료되면 평소처럼 Codex를 계속 사용하되, 작업에 ChatGPT를 참여시키도록 명시적으로 요청합니다.
ChatGPT와 함께 사용하는 Codex로 XXX를 구현해 줘.
XXX를 구체적인 코딩 요청으로 바꿉니다. 예를 들면 다음과 같습니다.
Codex를 ChatGPT와 함께 사용하여 회원가입 양식의 입력 유효성 검사를 구현하고 관련 테스트를 실행하세요.
예상되는 워크플로는 다음과 같습니다.
- Codex가 활성 프로젝트를 감지하고 워크스페이스 브리지를 시작합니다.
- ChatGPT가 읽기 전용 MCP 도구를 통해 관련 파일을 검토합니다.
- ChatGPT가 계획을 작성합니다.
- Codex가 계획을 구현하고, 파일을 편집하며, 명령어나 테스트를 실행합니다.
- ChatGPT가 실제 Git diff와 테스트 기록을 읽습니다.
- ChatGPT가 결과를 검토하고 필요한 후속 작업을 파악합니다.
- 워크플로가
DONE에 도달할 때까지 Codex가 수정 사항을 적용합니다.
ChatGPT는 브리지를 통해 파일을 쓸 수 없으므로 모든 저장소 수정 작업은 Codex의 실행 제어하에 유지됩니다.
개발자 설치 및 명령어
프로젝트를 직접 빌드하거나 검사하려는 개발자는 pnpm을 사용할 수 있습니다.
pnpm install
pnpm build
pnpm test빌드하면 dist/가 생성되고 c2c 명령줄 실행 파일을 사용할 수 있게 됩니다. 테스트 스위트는 Vitest를 사용하며, 문서에 기록된 프로젝트 상태 기준으로 경로 보안, OAuth, 페어링 및 MCP 엔드투엔드 동작을 다루는 76개의 테스트가 포함되어 있습니다.
브리지, 터널 및 페어링 설정을 한 번에 실행하려면 다음을 사용하세요.
c2c setup기타 관리 명령어는 다음과 같습니다.
c2c status
c2c doctor
c2c pair
c2c unpair
c2c logs
c2c stopc2c status는 현재 서비스 상태를 확인합니다.c2c doctor는 기본 진단 명령어입니다.c2c pair와c2c unpair는 ChatGPT 페어링을 관리합니다.c2c logs는 진단 로그를 표시합니다.c2c stop은 실행 중인 서비스를 중지합니다.
프로젝트 구조 이해하기
저장소는 보안, 전송, 워크스페이스 및 사용자 경험 구성 요소를 분리합니다.
src/bridge/에는 루프백 HTTP 서버, 포트 복구 및 관리자 API가 포함되어 있습니다.src/mcp/는 상태 비저장 Streamable HTTP를 통해 8개의 읽기 전용 도구를 구현합니다.src/auth/에는 OAuth 2.1, PKCE, 동적 클라이언트 등록, 갱신 토큰 순환 및 폐기가 포함되어 있습니다.src/pairing/은 암호학적으로 안전한 일회성 페어링 코드, 만료 및 요청 속도 제한을 구현합니다.src/workspace/는 경로 포함 관계, 민감한 파일 정책, 검색 및 Git 액세스를 처리합니다.src/tunnel/은 터널 추상화와 Cloudflare Quick Tunnel 통합을 제공합니다.src/execution/에는 검토 중 사용되는 실행 기록이 저장됩니다.src/process/는 데몬 수명 주기를 관리합니다.src/cli/는c2cCLI를 구현합니다.skill/에는 주요 사용자 경험을 제공하는 Codex Skill이 포함되어 있습니다.tests/에는 단위 테스트와 통합 테스트가 포함되어 있습니다.docs/에는 아키텍처, 프로토콜, 보안 및 문제 해결 문서가 포함되어 있습니다.
고급 팁
추가 파일 제외하기
기본 제공 정책은 일반적인 비밀 정보를 차단하지만, 프로젝트별 기밀 파일은 다른 이름을 사용할 수 있습니다. 브리지가 읽기 전용 도구를 통해 해당 경로를 노출하지 않도록 .c2cignore에 일치 규칙을 추가하세요.
검증 가능한 결과를 위한 검토 루프 사용하기
ChatGPT가 실제 Git diff와 테스트 기록을 모두 검사할 수 있도록 작업의 일부로 테스트를 요청하세요. 이렇게 하면 실행 에이전트의 일반적인 텍스트 성공 메시지에 의존하지 않고 독립적인 검토 설계를 활용할 수 있습니다.
재구성하기 전에 진단하기
연결이 작동하지 않으면 먼저 c2c status와 c2c doctor를 실행하세요. 추가 진단 정보는 c2c logs를 사용해 확인할 수 있습니다. 페어링을 초기화해야 하는 경우에만 c2c unpair 다음에 c2c pair를 실행하여 다시 페어링하세요.
Skill 최신 상태 유지하기
Skill은 하루에 한 번 GitHub에서 새 릴리스를 확인합니다. 업데이트를 실행하고 싶을 때 Codex에 Codex와 ChatGPT를 업데이트해 달라고 직접 요청할 수도 있습니다.
보안 문서 검토하기
신뢰 경계와 보호 기능에 대한 자세한 설명은 저장소의 보안 문서를 참조하세요. 저장소에는 아키텍처, 프로토콜 세부 정보 및 문제 해결 전용 문서도 포함되어 있습니다.
기억해야 할 보안 경계
읽기 전용 액세스는 위험을 줄이지만, ChatGPT가 요청에 따라 허용된 소스 코드와 워크스페이스 메타데이터를 받을 수 있다는 점은 변하지 않습니다. 민감한 경로는 기본적으로 거부되며, 사용자 지정 제외 규칙을 추가하면 특정 저장소에 대해 이 경계를 더욱 강화할 수 있습니다.
공개 터널 URL을 알고 있는 것만으로는 액세스할 수 없습니다. 유효한 OAuth 토큰이 없는 요청은 인증되지 않음 응답을 받으며, 잘못된 워크스페이스에 사용된 토큰은 거부됩니다. 일회성 브라우저 페어링 코드는 짧은 시간 동안만 유효하며 장기 자격 증명이 아닙니다.
결론
Codex와 ChatGPT는 명확한 책임 분담을 만듭니다. ChatGPT는 계획을 세우고 검토하며, Codex는 실행합니다. 읽기 전용 MCP 브리지, OAuth 보호, 워크스페이스 격리, 민감한 파일 정책 및 독립적인 diff 검토는 이러한 협업을 통제 가능하고 검증 가능한 방식으로 운영하도록 설계되었습니다. 초기 Skill 설치와 페어링 과정을 완료하면 일반적인 Codex 요청으로 워크플로를 호출하고 c2c CLI를 통해 관리할 수 있습니다.
