Wangnov/codex-threadripper
Keep Codex thread history aligned to one provider bucket.
codex‑threadripper – 모델 프로바이더를 전환해도 모든 Codex 채팅 스레드를 시각화
기능 설명
- Codex(OpenAI 스타일 채팅용 데스크톱 앱)는 각 대화("스레드")를 SQLite DB와 롤아웃 JSONL 로그에 저장합니다. 각 스레드의
model_provider필드는 해당 스레드가 어떤 프로바이더의 UI 목록에 표시되는지를 결정합니다. - Codex에서
model_provider를 변경하면, 이전 프로바이더에서 생성된 스레드는 UI에서 사라지지만, 데이터는 여전히 디스크에 남아 있습니다. codex‑threadripper는 이러한model_provider항목을 재작성하여 모든 스레드를 현재 활성화된 프로바이더와 연결시켜, 전체 기록을 다시 시각화합니다.
누가 사용해야 할까
- 단일 Codex 설치를 사용하면서 자주 다른 모델 프로바이더(예: OpenAI, Anthropic, Azure 등)를 전환하는 사용자.
- 대화 기록이 자동으로 이동되기를 원하고, 프로바이더 전환 후 기록이 숨겨지는 것을 피하고 싶은 사용자.
- 수동으로 데이터베이스를 편집하는 대신 자동화된 백그라운드 서비스를 선호하는 사용자.
작동 방식
- SQLite 동기화 –
state_5.sqlite(Codex 상태 DB)의model_provider열을 업데이트합니다. 변경 전에 타임스탬프가 붙은 백업이backups/폴더에 생성됩니다. - 롤아웃 JSONL 패치 – 변경이 줄 길이를 늘리지 않는 경우에만 각 롤아웃 로그 파일의 첫 번째 줄을 대상 프로바이더와 일치하도록 수정합니다(코드가 여전히 쓰고 있는 파일을 손상시키지 않기 위해). 원래 파일 타임스탬프를 복원하여 UI의 "최근 스레드" 순서에 영향을 주지 않습니다.
- 워치 모드 –
config.toml을 지속적으로 감시하고, 새로 생성된 스레드를 주기적으로 재정렬합니다. - 백그라운드 서비스 – macOS에서는
launchd, Linux에서는systemd --user, Windows에서는 시작 폴더에 숨겨진 VBS 런처를 사용하여 로그인 시 자동으로 워치 루프를 실행하는 플랫폼별 데몬을 설치합니다.
주요 명령어
| 명령어 | 목적 |
|---|---|
status |
현재 활성화된 프로바이더, SQLite DB에서의 각 프로바이더별 스레드 수, 백그라운드 서비스 실행 여부를 표시합니다. |
sync |
한 번만 실행되는 재정렬(백업 + SQLite + JSONL 패치)을 수행합니다. |
bucket switch <provider> |
모든 기록을 지정된 프로바이더 버킷으로 강제로 이동합니다. |
bucket prepare |
롤아웃 파일이 인플레이스 패치에 충분한 여유 공간을 갖는지 확인합니다. 줄 길이가 늘어나야 하는 파일은 건너뜁니다. |
watch |
포어그라운드에서 실행되며, config.toml을(기본 500ms마다) 폴링하고 새로 나타나는 스레드를 재정렬합니다. |
install-service / uninstall-service |
플랫폼별 백그라운드 데몬을 설치하거나 제거합니다. |
print-service-config |
설치하지 않고도 생성된 launchd plist, systemd 유닛, 또는 VBS 런처를 출력합니다. |
레거시 별칭(print-plist, install-launchd, uninstall-launchd)도 여전히 지원됩니다.
설치 옵션
- Homebrew:
brew tap wangnov/tap && brew install codex-threadripper - npm (전역):
npm i -g codex-threadripper - Cargo:
cargo install codex-threadripper또는cargo binstall codex-threadripper - 직접 바이너리: GitHub 릴리스 페이지에서 적절한 아카이브/설치 프로그램을 다운로드
지원 플랫폼
- macOS (Apple Silicon & Intel) –
launchd를 통한 서비스 - Linux (x64 & ARM64) –
systemd --user를 통한 서비스(백업으로 분리된 프로세스 사용) - Windows (x64) – 시작 폴더에 숨겨진 VBS 런처를 통한 서비스
소스에서 실행하기
cargo run -- --help # 전체 CLI 도움말 표시
왜 중요한가
codex‑threadripper 없이 Codex에서 프로바이더를 전환하면 대화 기록이 숨겨진 "버킷"에 분산되어, 작업을 재개하거나 과거 대화를 검토하기 어려워집니다. 이 도구는 자동 백업을 통해 최소한의 위험으로 통합된 뷰를 복원하며, 백그라운드에서 조용히 작동하므로 스레드를 다시 놓치지 않습니다.
모든 세부 정보는 리포지토리의 README에서 직접 가져왔으며, 추가 기능은 추측되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트