본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 20. 01:31

브라우저 자동화 및 세션 재생 검증을 통한 Telegram 기반 OpenAI Codex SDK 원격 접속 도구

요약

Telegram을 인터페이스로 사용하여 OpenAI Codex SDK에 원격으로 접속할 수 있는 도구를 소개합니다. 브라우저 자동화와 세션 재생 기능을 통해 코드 변경 사항을 실시간으로 검증하고, Docker를 통해 간편하게 배포할 수 있는 환경을 제공합니다.

핵심 포인트

  • Telegram 봇을 통한 모바일 및 다양한 클라이언트에서의 원격 코딩 지원
  • Stagehand MCP를 활용한 브라우저 자동화 및 프론트엔드 테스트 검증 기능
  • 사용자별 격리된 세션 관리 및 작업 디렉토리 기반의 스레드 전략
  • Docker Compose를 이용한 손쉬운 배포 및 세션 지속성 보장
  • 세션 재생 URL을 통해 Codex의 작업 과정을 비디오로 확인 가능

브라우저 자동화(Browser automation) 및 세션 재생(Session replay) 검증을 통해 Telegram으로 OpenAI Codex SDK에 원격 접속할 수 있습니다.

이 Telegram 봇은 OpenAI Codex에 대한 대화형 인터페이스를 제공하여, 어떤 기기에서든 어디서나 코딩할 수 있게 해줍니다. 주요 기능은 다음과 같습니다:

원격 코딩 (Remote Coding): 휴대폰이나 모든 Telegram 클라이언트에서 Codex에 접속
사용자별 세션 (Per-User Sessions): 각 사용자를 위한 격리된 대화 스레드
작업 디렉토리 관리 (Working Directory Management): 프로젝트 간의 원활한 전환
브라우저 자동화 (Browser Automation): Stagehand MCP를 통한 자동 프론트엔드 검증
세션 재생 URL (Session Replay URLs): Codex가 변경 사항을 테스트하는 비디오 재생 시청
실시간 스트리밍 (Real-Time Streaming): Codex의 응답이 생성되는 과정을 실시간으로 확인
Docker 지원 (Docker Ready): docker-compose를 이용한 간편한 배포

전체 Codex SDK 통합 (Full Codex SDK Integration)

  • 작업 디렉토리별 스레드 전략 (Thread-per-working-directory strategy)
  • 실시간 업데이트가 포함된 스트리밍 응답 (Streaming responses)
  • 재시작 시에도 유지되는 지속적인 세션 (Persistent sessions)
  • 자동 승인(설정 가능)을 포함한 전체 쓰기 권한 (Full write permissions)

Stagehand MCP 지원 (선택 사항)

  • 브라우저 탐색 및 상호작용
  • 자동화된 프론트엔드 테스트 및 검증
  • Codex가 변경 사항을 검증하는 모습을 시청할 수 있는 세션 재생 URL
  • 미사용 시에도 정상 작동하지만, 자동 검증 기능은 사용할 수 없음

스마트 세션 관리 (Smart Session Management)

  • JSON 기반 사용자 세션
  • 디렉토리 변경 시 자동 스레드 생성
  • 세션 지속성 (Session persistence)

Telegram 명령어 (Telegram Commands)

/start

  • 환영 인사 및 빠른 시작
    /help
  • 명령어 참조
    /setcwd
  • 작업 디렉토리 설정
    /getcwd
  • 현재 디렉토리 표시
    /searchcwd
  • 디렉토리 찾기
    /reset
  • 대화 초기화 (디렉토리는 유지)

전체 권한 (기본값)

workspace-write 모드 - Codex가 작업 디렉토리 내 파일을 생성/편집할 수 있음
never 승인 - 중단 없이 완전히 자동화됨

  • 워크스페이스 격리 - 시스템 파일 보호

Docker & Docker Compose (필수)
Telegram Bot Token (@BotFather로부터 발급)
Codex 인증 (codex login을 통해 발급)

)
GitHub Personal Access Token (저장소 작업을 위한 토큰)
Browserbase Account (선택 사항, 자동화된 프론트엔드 검증용)

# Telegram에서 @BotFather에게 메시지 전송
/newbot
# 안내에 따라 봇 토큰을 발급받으세요
# Codex로 인증
codex login
# auth.json 확인
...

다음 값들을 복사하세요:

tokens.id_token

tokens.access_token

tokens.refresh_token

tokens.account_id

이 단계는 건너뛸 수 있습니다! 봇은 Browserbase 없이도 완벽하게 작동합니다. 다만 세션 재생 (Session Replay) URL을 통한 자동화된 프론트엔드 검증 기능은 사용할 수 없습니다.

Codex가 프론트엔드 변경 사항을 자동으로 검증하도록 설정하려면:

  • browserbase.com 방문
  • 프로젝트 생성
  • API 키와 Project ID 복사
  • .env 파일에 추가

건너뛰는 경우: .env 파일에서 해당 변수들을 주석 처리된 상태로 두세요.

cd codex-telegram-bot
cp .env.example .env
# 본인의 자격 증명으로 .env 수정

필수 변수:

TELEGRAM_BOT_TOKEN

  • @BotFather로부터 발급

CODEX_ID_TOKEN

  • ~/.codex/auth.json로부터 발급

CODEX_ACCESS_TOKEN

  • ~/.codex/auth.json로부터 발급

CODEX_REFRESH_TOKEN

  • ~/.codex/auth.json로부터 발급

CODEX_ACCOUNT_ID

  • ~/.codex/auth.json로부터 발급

GH_TOKEN

  • GitHub Personal Access Token (repo + workflow 권한 필요)

선택 변수 (Stagehand용):

BROWSERBASE_API_KEY

BROWSERBASE_PROJECT_ID

OPENAI_API_KEY

# 빌드 및 시작
docker-compose up --build -d
# 로그 확인
...

다음 내용이 포함된 .env 파일을 생성하세요:

# 필수 - 핵심 봇
TELEGRAM_BOT_TOKEN=your_bot_token
CODEX_ID_TOKEN=your_id_token
...
# 로그 확인
docker-compose logs -f codex-telegram-bot
# 다음과 같이 표시되어야 합니다:
...

./workspace:/workspace

  • 사용자의 코드 프로젝트

./telegram_sessions:/app/telegram_sessions

  • 사용자 세션

codex_sessions:/root/.codex/sessions

  • Codex 스레드 데이터
사용자: 피보나치 수를 계산하는 Python 함수를 만들어줘
봇: [구현 코드가 포함된 fibonacci.py 생성]
사용자: 헤더에 다크 모드 토글을 추가해줘
봇:
✅ 변경 사항이 구현되었으며 스테이징(staging) 환경에 배포되었습니다!
...

사용자: /setcwd /workspace/my-react-app
봇: ✅ 작업 디렉터리(Working directory)가 다음으로 설정되었습니다: /workspace/my-react-app
사용자: 로그인 폼 컴포넌트를 추가해줘
...

봇은 두 개의 MCP (Model Context Protocol) 서버를 사용합니다:

복잡한 작업을 위한 단계별 추론(step-by-step reasoning)을 가능하게 합니다.

프론트엔드 검증을 위한 브라우저 자동화(browser automation)를 제공합니다:

  • 스테이징(staging)/프로덕션(production) URL로 이동
  • 요소를 클릭하고 기능과 상호작용
  • 변경 사항을 보여주기 위해 스크롤
  • 기능 시연

Codex가 사용자의 변경 사항을 테스트하는 모습을 보여주는 세션 재생(session replays)을 생성합니다.

codex_config/config.toml.template에서의 설정:

[mcp_servers.stagehand]
command = "npx"
args = ["-y", "@browserbasehq/mcp-server-browserbase"]
...

Codex에게 프론트엔드 변경 사항을 검증하도록 요청할 때:

스테이징에 배포(Deploy to Staging): 봇이 PR(Pull Request)을 생성하고, 머지(merge)하며, 배포를 트리거합니다.
배포 대기(Wait for Deployment): Render가 빌드하는 데 2~3분이 소요됩니다.
검증 요청(Verify Request): 사용자가 "스테이징의 변경 사항을 검증해줘"라고 요청합니다.
이동 및 테스트(Navigate & Test): 봇이 Stagehand를 사용하여 다음을 수행합니다:

  • 스테이징 URL로 이동
  • 변경 사항을 보여주기 위해 스크롤
  • 기능을 테스트하기 위해 새 버튼을 클릭
  • 새로운 기능과 상호작용

세션 URL 전송(Send Session URL): 봇이 Browserbase 세션 재생 링크를 제공합니다.
재생 시청(Watch Replay): 사용자는 Codex가 변경 사항을 테스트하는 영상을 시청합니다.

세션 URL은 정적 스크린샷이 아닌 비디오 재생을 보여줍니다.

각 사용자는 JSON 파일로 저장되는 격리된 세션을 할당받습니다:

{
"user_id": 12345,
"cwd": "/workspace/project",
...
}

/setcwd로 작업 디렉터리를 변경할 때:

  • 현재 thread_id가 삭제됩니다 - 새로운 작업 디렉터리로 새로운 스레드가 생성됩니다.
  • 신선한 대화 문맥(conversation context)이 제공됩니다.
  • 이전 스레드들은 보존되지만 활성화되지는 않습니다.
사용자 메시지 → Telegram
↓
세션 로드/생성
...
codex-telegram-bot/
├── src/
│ ├── bot/
...

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0