OpenAI Codex를 TypeScript(Node.js) 앱에 통합하는 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
TypeScript/Node.js 개발자, AI 코드 어시스턴트 도구를 활용하고자 하는 프로그래머
핵심 요약
- Codex CLI는 로컬에서 실행되는 AI 기반 터미널 에이전트로,
npm install
을 통해 설치 가능 - JS SDK는 Codex CLI와의 상호작용을 단순화하며,
CodexSDK
를 통해stdin/stdout
관리 및 이벤트 처리 가능 - 사용 예시:
codex "write unit tests for utils/date.ts"
로 단일 명령어로 테스트 생성 및 실행 가능 - 지원 기능: 이미지 처리, Git 통합, 모델 제공자 변경(예: Gemini, Anthropic)
섹션별 세부 요약
1. Codex CLI 개요
- 기능:
- 텍스트, 스크린샷, 다이어그램 입력 지원
- 프로젝트 구조 및 의존성 분석
- Git 커밋, PR 생성, 테스트 실행 가능
- 여러 모델 제공자(Gemini, Groq 등) 지원
- 장점: 로컬 실행으로 보안 강화, 자동화된 코드 수정 및 테스트
2. JS SDK 설치 및 구성
- 설치 명령어:
```bash
npm i -g @openai/codex@native
npm install codex-js-sdk
```
- SDK 초기화 예시:
```typescript
import { CodexSDK, LogLevel } from 'codex-js-sdk';
const sdk = new CodexSDK({
cwd: './my-project',
logLevel: LogLevel.DEBUG,
codexPath: './node_modules/.bin/codex',
env: { OPENAI_API_KEY: 'sk-proj-...' }
});
```
- 필수 구성 요소:
cwd
,logLevel
,codexPath
,env
3. 이벤트 처리 및 명령어 전송
- 이벤트 핸들러 설정:
```typescript
sdk.onResponse((response: CodexResponse) => {
if (response.msg.type === 'task_complete') {
sdk.stop();
process.exit(0);
}
});
```
- 사용자 요청 전송:
```typescript
const requestId = sdk.sendUserMessage([
{ type: 'text', text: 'What is in this picture?' },
{ type: 'image', image_url: 'data:image/png;base64,...' }
]);
```
4. 명령 실행 및 변경 확인
- 명령 실행 승인:
```typescript
sdk.handleCommand(requestId, true); // 승인
sdk.handleCommand(requestId, false); // 거부
```
- 파일 변경 승인:
```typescript
sdk.handlePatch(requestId, true); // 승인
```
5. 설치 및 실행 제한 사항
- 필수 의존성:
- ripgrep
설치(맥OS, Ubuntu, Rust)
- 버전 주의사항:
- Native(Rust) 버전만 JS SDK와 호환 가능
- API 프로토콜이 빠르게 변경될 수 있음
결론
OpenAI Codex CLI와 JS SDK를 활용하면 로컬에서 AI 기반 코드 수정, 테스트 실행, Git 통합 등을 간단한 명령어로 수행할 수 있으며, assistant-ui
또는 copilotkit
을 통해 챗 인터페이스 기반의 코딩 어시스턴트 서비스를 빠르게 구축할 수 있습니다.