OMX
Oh My CodeXv0.18.9

훅 라이프사이클 이벤트

Codex CLI가 노출하는 7가지 이벤트와 OMX가 각 시점에 무엇을 하는지

Codex CLI는 세션 흐름의 정해진 시점마다 이벤트를 발행합니다. OMX 훅은 이 이벤트에 붙어서 동작합니다. 어떤 이벤트가 언제 발생하는지 알면, OMX가 왜 그 시점에 개입했는지 추적하고 .omx/hooks/*.mjs 플러그인을 올바른 위치에 끼울 수 있습니다.

이벤트 목록

이벤트발생 시점OMX가 하는 일
SessionStartCodex 세션 초기화상태 복원, 위키 요약 시드, .omx/가 gitignore에 포함됐는지 확인
UserPromptSubmit사용자가 프롬프트를 전송키워드 감지, 스킬 라우팅, deep-interview 입력 잠금
PreToolUse도구 호출 직전Bash 안전성 검사, 인라인 git commit 형식 가드
PostToolUse도구 호출 완료 후명령어 미발견 안내, 비정상 종료 출력 검토
Stop모델이 한 턴을 완료ralph / autopilot / ultrawork / ultraqa 계속 실행, 정지 상태 자동 넛지
PreCompact컨텍스트 창 한도 근접예약됨 — 위키 압축은 v2로 연기
Notification시스템 알림 발생notify-hook을 통해 Discord / Slack / Telegram으로 라우팅

커버리지는 아직 고르지 않습니다. 지금은 PreToolUsePostToolUse가 Bash 호출만 인터셉트하고, Bash가 아닌 도구는 런타임 폴백 경로로 넘어갑니다. 전체 커버리지 매트릭스는 Codex 네이티브 훅에 정리돼 있습니다.

플러그인에서 이벤트 구독하기

post-tool-use 이벤트를 받는 플러그인 예시:

// .omx/hooks/my-plugin.mjs
export async function onHookEvent(event, sdk) {
  if (event.event !== 'post-tool-use') return;
  sdk.log.info('tool finished', event.context);
}

이벤트 봉투에는 항상 schema_version, event, timestamp, source(native 또는 derived), context가 포함됩니다.

관련 문서

목차