Euphony는 OpenAI의 Harmony 대화 형식과 Codex CLI 세션 로그를 브라우저에서 시각화하는 오픈소스 도구다. 훈련·평가·에이전트 워크플로우에서 생성되는 구조화된 채팅 데이터를 직관적으로 검사할 수 있으며, React·Svelte·Vue 등 어느 프레임워크에도 삽입 가능한 Web Component로 제공된다.
주요 기능
| 기능 | 설명 |
|---|---|
| Harmony 대화 뷰어 | 다양한 메시지 타입과 메타데이터를 지원하는 대화 렌더러 |
| Codex 세션 뷰어 | Codex 세션 JSONL 파일을 자동 감지해 대화 타임라인으로 변환 |
| 유연한 로딩 | 클립보드 붙여넣기, 로컬 .json/.jsonl, 공개 HTTP(S) URL 지원 |
| 마크다운 렌더링 | 수식, HTML 블록 포함 마크다운 렌더링 |
| JMESPath 필터링 | 데이터셋에서 특정 조건의 메시지만 추출 |
| 격자/에디터 모드 | 데이터셋 훑기에 최적화된 격자 뷰 + JSONL 직접 편집 모드 |
| 메타데이터 검사 | 대화 수준·메시지 수준 메타데이터 UI 노출 |
| 번역 | 비영어 텍스트를 영어로 번역 (OpenAI API 키 필요) |
| Harmony 토큰 렌더링 | 토큰 ID, 디코딩 결과, 렌더 문자열을 직접 확인 |
데이터 자동 감지
Euphony는 입력 데이터 형식을 자동으로 판별한다:
- JSONL이 대화 목록이면 → 전체 대화 렌더링
- JSONL이 Codex 세션 파일이면 → 구조화된 Codex 세션 타임라인으로 렌더링
- 최상위 필드에 대화가 있으면 → 다른 필드는 대화별 메타데이터로 처리
웹앱 사용
별도 설치 없이 openai.github.io/euphony에서 바로 사용할 수 있다:
- Harmony JSON/JSONL을 클립보드에서 붙여넣기
- 로컬 파일 선택
- 공개 URL 입력 (HuggingFace 데이터셋 등)
내 앱에 임베드하기
pnpm install
pnpm run build:library<!-- React, Svelte, Vue 어디서나 사용 가능 -->
<euphony-conversation
conversation-string="HARMONY_CONVERSATION_JSON_STRING">
</euphony-conversation>누구에게 유용한가
- LLM 연구자: 훈련 데이터·평가 결과 대화를 시각적으로 검토할 때
- Codex 사용자: 에이전트 세션 로그를 디버깅하거나 공유할 때
- 평가 엔지니어: 대규모 데이터셋에서 문제 사례를 빠르게 찾아낼 때
라이선스
Apache 2.0
관련 문서
- awesome-codex-subagents — Codex용 전문 서브에이전트 컬렉션
- claude-code — Claude Code 터미널 AI 코딩 에이전트