Codex 때문에 Mac이 이륙 준비를 하는 것처럼 들리지 않게 합니다.
언어: English | 简体中文 | 日本語 | 한국어
Codex를 좋아하지만, 긴 세션 중에 Mac이 갑자기 이륙 준비를 하는 것처럼 소리를 내기 시작하는 이상한 상황을 겪었습니다.
처음에는 메모리 압박, WindowServer, 디스플레이 스케일링, 다른 Electron 앱, 백그라운드 도구 등 여러 원인을 의심했습니다. 며칠 동안 확인해 보니, 제 환경에서는 Codex를 Chromium의 reduced-motion 플래그와 함께 실행하는 workaround가 실제로 도움이 되었습니다.
그래서 이 프로젝트는 의도적으로 작게 만들었습니다. Codex를 패치하거나, Codex를 대체하거나, 성능 수정 도구인 척하지 않습니다. 그저 Codex를 더 차분한 모드로 실행하는 작은 런처를 만들 뿐입니다.
Chill Codex는 Chill Codex.app 런처를 만드는 작은 macOS 설치 스크립트입니다. Codex가 포함된 새 ChatGPT 데스크톱 앱을 reduced-motion Chromium 플래그와 함께 실행해 긴 작업 중 UI 모션과 렌더링 부담을 줄입니다. 기존 독립형 Codex 앱도 계속 지원합니다.
공식 Codex 앱을 수정하거나, 바이너리를 교체하거나, 자동 업데이트를 끄거나, 시스템 설정을 바꾸지 않습니다. 생성되는 wrapper app은 실행 시 다음 명령을 사용합니다.
open -na /Applications/ChatGPT.app --args --force-prefers-reduced-motion| 하는 일 | 하지 않는 일 |
|---|---|
| 작은 런처 app을 만듭니다 | Codex를 패치하지 않습니다 |
| Chromium 플래그 하나를 전달합니다 | 바이너리를 교체하지 않습니다 |
기본적으로 ~/Applications에 설치합니다 |
sudo를 요구하지 않습니다 |
| 가능하면 대상 app 아이콘을 복사합니다 | 공식 app 자동 업데이트를 끄지 않습니다 |
sh -c "$(curl -fsSL https://raw.githubusercontent.com/cpiz/chill-codex/main/install.sh)"설치 후:
- ChatGPT/Codex가 이미 실행 중이면 종료합니다.
~/Applications/Chill Codex.app을 엽니다.- 기본 실행 방식으로 쓰고 싶다면
Chill Codex.app을 Dock에 고정합니다.
Chill Codex.app으로 앱을 실행한 뒤 다음을 실행합니다.
ps axww -o command | grep -E '(ChatGPT|Codex).app/Contents/MacOS/(ChatGPT|Codex)'Codex 메인 프로세스에 다음 인자가 보이면 적용된 것입니다.
/Applications/ChatGPT.app/Contents/MacOS/ChatGPT --force-prefers-reduced-motion
원격 스크립트를 바로 실행하고 싶지 않다면, 먼저 다운로드하고 확인한 뒤 실행할 수 있습니다.
curl -fsSLO https://raw.githubusercontent.com/cpiz/chill-codex/main/install.sh
less install.sh
sh install.sh가장 간단한 방법은 다음 항목을 삭제하는 것입니다.
~/Applications/Chill Codex.app
제거 스크립트를 사용할 수도 있습니다.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/cpiz/chill-codex/main/uninstall.sh)"제거 스크립트는 chill-codex.generated 마커가 있는 app bundle만 삭제하므로, 같은 이름의 다른 앱은 삭제하지 않습니다.
기본적으로 새 앱을 먼저 찾고, 없으면 기존 앱으로 대체합니다.
/Applications/ChatGPT.app
/Applications/Codex.app
런처는 다음 위치에 설치됩니다.
~/Applications/Chill Codex.app
옵션으로 값을 바꿀 수 있습니다.
sh install.sh \
--target-app "/Applications/ChatGPT.app" \
--install-dir "$HOME/Applications" \
--app-name "Chill Codex"환경 변수로도 바꿀 수 있습니다.
CHILL_CODEX_TARGET_APP_PATH="/Applications/ChatGPT.app" \
CHILL_CODEX_INSTALL_DIR="$HOME/Applications" \
CHILL_CODEX_APP_NAME="Chill Codex" \
sh install.shCodex의 모델 추론은 원격에서 실행되지만, 데스크톱 앱은 로컬 Electron/Chromium UI, 로컬 서비스, 도구 호출, 창 렌더링을 계속 실행합니다. 긴 세션에서는 잦은 애니메이션, 새로고침, 합성이 macOS GPU와 WindowServer에 추가 부담을 줄 수 있습니다.
Chromium/Electron은 --force-prefers-reduced-motion 플래그를 지원합니다. Chill Codex가 생성한 런처는 전체 ChatGPT 데스크톱 앱을 이 플래그로 실행해 Chat, Work, Codex가 reduced-motion 동작을 더 선호하도록 합니다.
이 프로젝트는 팬이 절대 돌지 않는다고 보장하지 않습니다. 목표는 한 가지 제한적인 workaround입니다. Codex의 긴 작업 중 UI 모션과 렌더링으로 생기는 추가 로컬 부하를 줄이는 것입니다.
Chill Codex는 자신이 시작한 실행 명령만 제어할 수 있습니다. ChatGPT가 공식 앱 안에서 업데이트된 뒤 스스로 다시 실행되면, 다시 실행된 프로세스에는 --force-prefers-reduced-motion이 유지되지 않을 수 있습니다.
이 경우 ChatGPT를 완전히 종료한 뒤 ~/Applications/Chill Codex.app을 다시 여세요. 동작 확인의 명령으로 플래그가 붙어 있는지 확인할 수 있습니다.
소셜 프리뷰 에셋은 assets/에 있습니다. GitHub 저장소 Social preview 이미지로는 assets/social-preview.png를 사용합니다.
테스트 실행:
sh test/install-test.sh스크립트 문법 확인:
sh -n install.sh
sh -n uninstall.sh
sh -n test/install-test.sh- 시스템: macOS
- 기본 대상 경로:
/Applications/ChatGPT.app, 기존 앱은/Applications/Codex.app으로 대체 - 기본 설치 위치:
~/Applications/Chill Codex.app
Chill Codex는 OpenAI 공식 프로젝트가 아닙니다. ChatGPT 또는 Codex 앱을 수정하거나, 패치하거나, 크랙하거나, 재배포하지 않습니다. 향후 릴리스에서 Chromium/Electron 시작 플래그 동작이 바뀌면 이 workaround는 조정이 필요할 수 있습니다.
MIT