feat(codex): tmux Codex CLI를 transcript UI로 연결 - #4
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
배경
Gajae App의
External CLI에서 tmux의 Codex TUI를 그대로 표시하면 모바일 화면 크기에 맞춰 PTY가 재조정되면서 화면이 깨지거나, 넓은 터미널 화면을 억지로 축소해 보여 주는 문제가 있습니다.이 PR은 Codex CLI 프로세스와 로그인·권한·사용량 체계는 그대로 유지하면서, 화면만 Codex의 JSONL 대화를 이용한 transcript UI로 표시합니다.
codex app-server나 별도 API 키는 사용하지 않습니다.주요 변경 사항
1. tmux Codex 세션과 transcript 자동 연결
codex세션을 식별합니다.codex resume <thread-id>는 실행 인자에서 thread ID를 바로 연결합니다.codex는 프로세스 시작 시각과 작업 경로를 Codex 상태 DB의 thread 정보와 대조해 첫 대화가 생성된 뒤 자동 연결합니다.2. 모바일에 맞는 transcript UI
3. Codex CLI 입력·승인 전달
1,2,3같은 승인 선택도 같은 경로로 전달할 수 있습니다.4. 웹에서 Codex 세션 생성·종료
realpath기준 HOME 내부의 실제 디렉터리만 허용합니다.5. GJC 0.11 호환성 보완
terminal-sessions/tmux-*receipt를 읽어, PC에서 실행한 기존 GJC 대화가 웹에서도 같은 transcript로 연결되도록 보완했습니다./resume으로 연결된 과거 transcript가 프로젝트 세션 페이지네이션 밖에 있어도, LIVE 행에서 세션 메타데이터를 직접 조회해 해당 프로젝트와 이전 대화를 즉시 열 수 있습니다.대기행을 눌러 본문 transcript 준비 화면으로 열 수 있습니다.6. CI 보안 감사 복구
package-lock.json을 갱신했습니다.body-parser,brace-expansion,js-yaml의 취약 버전이 안전한 버전으로 교체되며, 직접 의존성이나 애플리케이션 API 변경은 없습니다.npm audit --audit-level=high결과는 0건입니다.동작 흐름
검증
npm cinpm run audit— 0 vulnerabilitiesnpm run typechecknpm run build:clientnpm run build:server/status입력 전달 및 Codex CLI 실행403으로 차단됨전체 테스트 실행 시 최신
main에서도 동일하게 재현되는 기존 환경성 실패가 있습니다.Promise resolution is still pending)두 항목 모두 변경 전
v1.2.0원본 작업 트리에서도 같은 결과임을 별도로 확인했습니다.참고 사항
/status같은 Codex 관리 명령만 실행하면 대화 JSONL이 생성되지 않으므로 대기 화면이 유지됩니다. 실제 첫 지시를 전송하면 transcript가 생성되어 자동 연결됩니다.