TL;DR

  • Full-Duplex Code는 Claude Code 또는 Codex를 실행하면서 음성으로 질문하고 요청을 전달할 수 있는 코딩 에이전트용 음성 동반 도구임.
  • 에이전트의 메시지, 편집, 명령, 도구 결과를 브라우저의 GPT Live 1 동반자가 따라가며, 이를 바탕으로 답변하고 에이전트에 요청을 전달함.
  • macOS, Node.js 22.18 이상, Chrome, 마이크, 로그인된 Claude Code 또는 Codex 0.155 이상, OpenAI API 키가 필요함.
  • fdc 명령으로 에이전트를 실행하며, fdc --public과 cloudflared를 이용하면 휴대전화에서도 연결할 수 있음.
  • 음성 연결은 분당 약 0.05달러의 비용이 들며, 음성을 종료해도 에이전트 작업은 계속되고 상용 이용은 허용되지 않음.

Full-Duplex Code

  • 사용 중인 코딩 에이전트와 대화하면서 에이전트가 작업을 계속 수행하도록 하는 음성 동반 도구임.
  • 에이전트는 평소처럼 터미널에서 실행되고 입력도 그대로 유지됨. 브라우저의 GPT Live 1 기반 동반자는 에이전트의 메시지, 편집, 명령, 도구 결과를 따라가며, 이를 바탕으로 질문에 답하고 작업 도중에도 요청을 에이전트에 전달함.
  • 책상을 떠나 다른 일을 하면서도 에이전트에 작업을 맡기고, 진행 상황을 확인하거나 요청을 바꾸고 완료 알림을 들을 수 있음.
  • [작동 영상: Claude Code를 보지 않고 샤워 중 코딩한 경험](I Coded From the Shower Without Looking at Claude Code)

빠른 시작

  • 필요한 환경은 테스트된 설정인 macOS, Node.js 22.18 이상, Chrome, 마이크, 설치 및 로그인된 Claude Code 또는 Codex 0.155 이상, GPT Live 1에 접근 가능한 OpenAI API 키임.
  • 설치 절차는 저장소를 복제하고 의존성을 설치한 뒤 fdc 명령을 경로에 연결하는 방식임.
  • 저장소: https://github.com/CakeCrusher/full_duplex_code.git
  • .env 파일에 OPENAI_API_KEY=your-key-here를 추가하고 fdc doctor를 실행하면 설정을 확인하며 API 비용은 발생하지 않음.
  • 프로젝트 폴더에서 평소 실행하는 에이전트 명령 앞에 fdc를 붙임. 에이전트 이름 뒤의 인자는 변경 없이 에이전트에 전달됨.
  • fdc claude 또는 fdc claude --dangerously-skip-permissions
  • fdc codex 또는 fdc codex --model gpt-5.5
  • 연결 및 대화 절차는 다음과 같음.
  • fdc가 출력한 링크를 Chrome에서 열고, 터미널에서 Enter를 눌러 에이전트를 시작함.
  • Claude Code에서 개발 채널 확인을 요청하면 I am using this for local development를 선택함.
  • Start voice를 누르고 마이크 접근을 허용한 뒤 음성으로 요청하거나 질문함. 예를 들어 어두운 모드를 추가해 달라고 하거나 현재 작업을 물을 수 있으며, SQLite를 사용하도록 요청을 변경할 수도 있음.
  • 에이전트에 계속 타이핑할 수 있으며, 동반자에게 방금 전달한 내용을 물어볼 수도 있음.
  • 중지 방법은 음성 연결 종료와 에이전트 종료로 구분됨.
  • End voice는 음성 연결과 이에 따른 비용 청구를 종료하며, 에이전트 작업은 계속됨. 비용은 분당 약 0.05달러임.
  • 에이전트를 종료하면 모든 작업이 중단됨. Claude Code에서는 /exit, Codex에서는 Ctrl-C를 두 번 입력함.

휴대전화에서 사용하기

  • cloudflared를 한 번 설치한 뒤 --public 옵션을 추가해 실행함. 설치 명령은 brew install cloudflared이며 실행 예시는 fdc --public claude임.
  • 연결이 작동하면 실행기가 휴대전화용 링크와 QR 코드를 출력함. 컴퓨터와 휴대전화에서 페이지를 어느 순서로든 열 수 있음.
  • 음성은 두 기기 중 하나에서 실행되며, Move voice here를 누르면 다른 기기로 옮길 수 있음.
  • 링크를 가진 누구나 에이전트에 지시할 수 있으므로 링크를 비공개로 유지해야 함.

자주 쓰는 명령

  • fdc claude --resume SESSION_ID: Claude Code 대화 재개
  • fdc codex resume SESSION_ID: Codex 세션 재개
  • fdc --public codex: 휴대전화에서도 동반자에 접속
  • fdc --voice cedar claude: GPT Live 음성 선택. 기본 음성은 marin임.
  • fdc doctor: API 비용 없이 설정 확인
  • fdc usage: 기록된 음성 사용량과 비용 표시
  • fdc --help: 전체 옵션 표시

작동 방식

  • fdc는 이 컴퓨터에서 작은 브리지를 시작한 다음 터미널에서 에이전트 자체 명령을 실행함.
  • 에이전트의 훅이 작업 내용을 보고하면 브리지가 이를 GPT Live의 문맥으로 변환함.
  • 음성은 브라우저에서 OpenAI로 직접 전달됨. 요청은 Claude Code의 채널 또는 Codex의 앱 서버를 통해 에이전트에 도달하며, 에이전트가 작업 중인 경우에도 전달됨.

더 알아보기

  • 사용자 가이드: 페이지와 타임라인, 동반자가 따라가는 내용, 세션 재개, 비용, 문제 해결
  • 기여 안내: 다른 코딩 에이전트 지원 방법과 변경 사항 검토 방식

라이선스

  • PolyForm Noncommercial 1.0.0 라이선스에 따라 비상업적 이용은 무료이며 상업적 이용은 허용되지 않음.
  • Sebastian Sosa (Noemica)가 제작함.