# oh-my-codex (OMX)
당신의 codex는 혼자가 아닙니다.
[](https://www.npmjs.com/package/oh-my-codex)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org)
[](https://discord.gg/sj4exxQ9v)
> **[Website](https://yeachan-heo.github.io/oh-my-codex-website/)** | **[Documentation](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** | **[CLI Reference](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** | **[Workflows](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** | **[OpenClaw 통합 가이드](../openclaw-integration.ko.md)** | **[GitHub](https://github.com/Yeachan-Heo/oh-my-codex)** | **[npm](https://www.npmjs.com/package/oh-my-codex)**
[OpenAI Codex CLI](https://github.com/openai/codex)를 위한 멀티 에이전트 오케스트레이션 레이어.
## v0.9.0 새로운 기능 — Spark Initiative
Spark Initiative는 OMX의 네이티브 탐색/검사 경로를 강화한 릴리스입니다.
- **`omx explore` 네이티브 하네스** — 읽기 전용 저장소 탐색을 Rust 기반 하네스로 더 빠르고 엄격하게 실행합니다.
- **`omx sparkshell`** — 긴 출력을 요약하고 tmux pane 캡처를 지원하는 운영자용 네이티브 검사 표면입니다.
- **크로스 플랫폼 네이티브 릴리스 자산** — `omx-explore-harness`, `omx-sparkshell`, `native-release-manifest.json` 기반 hydration 경로가 릴리스 파이프라인에 포함됩니다.
- **강화된 CI/CD** — `build` job의 명시적 Rust toolchain 설정, `cargo fmt --check`, `cargo clippy -- -D warnings`가 추가되었습니다.
자세한 내용은 [v0.9.0 릴리스 노트](../release-notes-0.9.0.md) 및 [릴리스 본문](../release-body-0.9.0.md)을 참고하세요.
## 첫 번째 세션
Codex 내부에서:
```text
$deep-interview "clarify the auth change"
$ralplan "approve the auth plan and review tradeoffs"
$ralph "carry the approved plan to completion"
$team 3:executor "execute the approved plan in parallel"
```
터미널에서:
```bash
omx team 4:executor "parallelize a multi-module refactor"
omx team status
omx team shutdown
```
## 권장 워크플로
1. `$deep-interview` — 범위나 경계가 아직 모호할 때 먼저 명확히 합니다.
2. `$ralplan` — 정리된 범위를 승인 가능한 아키텍처 및 구현 계획으로 바꿉니다.
3. `$team` 또는 `$ralph` — 승인된 계획을 병렬로 조율해 실행하려면 `$team`, 한 명의 책임자가 끝까지 밀고 검증하려면 `$ralph`를 사용합니다.
## 핵심 모델
OMX는 다음 레이어를 설치하고 연결합니다:
```text
User
-> Codex CLI
-> AGENTS.md (오케스트레이션 브레인)
-> ~/.codex/prompts/*.md (에이전트 프롬프트 카탈로그)
-> ~/.codex/skills/*/SKILL.md (스킬 카탈로그)
-> ~/.codex/config.toml (기능, 알림, MCP)
-> .omx/ (런타임 상태, 메모리, 계획, 로그)
```
## 주요 명령어
```bash
omx # Codex 실행 (tmux에서 HUD와 함께)
omx setup # 범위별 프롬프트/스킬/설정 설치 + 프로젝트 .omx + 범위별 AGENTS.md
omx doctor # 설치/런타임 진단
omx doctor --team # Team/swarm 진단
omx team ... # tmux 팀 워커 시작/상태/재개/종료
omx status # 활성 모드 표시
omx cancel # 활성 실행 모드 취소
omx reasoning # low|medium|high|xhigh
omx tmux-hook ... # init|status|validate|test
omx hooks ... # init|status|validate|test (플러그인 확장 워크플로우)
omx hud ... # --watch|--json|--preset
omx help
```
## Hooks 확장 (추가 표면)
OMX는 이제 플러그인 스캐폴딩 및 검증을 위한 `omx hooks`를 포함합니다.
- `omx tmux-hook`은 계속 지원되며 변경되지 않았습니다.
- `omx hooks`는 추가적이며 tmux-hook 워크플로우를 대체하지 않습니다.
- 플러그인 파일은 `.omx/hooks/*.mjs`에 위치합니다.
- 플러그인은 기본적으로 비활성화되어 있으며; `OMX_HOOK_PLUGINS=1`로 활성화합니다.
전체 확장 워크플로우 및 이벤트 모델은 `docs/hooks-extension.md`를 참조하세요.
## 시작 플래그
```bash
--yolo
--high
--xhigh
--madmax
--force
--dry-run
--verbose
--scope # setup 전용
```
`--madmax`는 Codex `--dangerously-bypass-approvals-and-sandbox`에 매핑됩니다.
신뢰할 수 있는/외부 sandbox 환경에서만 사용하세요.
### MCP workingDirectory 정책 (선택적 강화)
기본적으로 MCP state/memory/trace 도구는 호출자가 제공한 `workingDirectory`를 수락합니다.
이를 제한하려면 허용된 루트 목록을 설정하세요:
```bash
export OMX_MCP_WORKDIR_ROOTS="/path/to/project:/path/to/another-root"
```
설정 시 이 루트 외부의 `workingDirectory` 값은 거부됩니다.
## Codex-First 프롬프트 제어
기본적으로 OMX는 다음을 주입합니다:
```text
-c model_instructions_file="/AGENTS.md"
```
이것은 `CODEX_HOME`의 `AGENTS.md`와 프로젝트 `AGENTS.md`(있는 경우)를 병합한 뒤 런타임 오버레이를 추가합니다.
Codex 동작을 확장하지만, Codex 핵심 시스템 정책을 대체/우회하지 않습니다.
제어:
```bash
OMX_BYPASS_DEFAULT_SYSTEM_PROMPT=0 omx # AGENTS.md 주입 비활성화
OMX_MODEL_INSTRUCTIONS_FILE=/path/to/instructions.md omx
```
## 팀 모드
병렬 워커가 유리한 대규모 작업에 팀 모드를 사용합니다.
라이프사이클:
```text
start -> assign scoped lanes -> monitor -> verify terminal tasks -> shutdown
```
운영 명령어:
```bash
omx team
omx team status
omx team resume
omx team shutdown
```
중요 규칙: 중단하는 경우가 아니라면 작업이 `in_progress` 상태인 동안 종료하지 마세요.
### Team shutdown policy
Use `omx team shutdown ` after the team reaches a terminal state.
Team cleanup now follows one standalone path; legacy linked-Ralph shutdown handling is no longer a separate public workflow.
팀 워커를 위한 Worker CLI 선택:
```bash
OMX_TEAM_WORKER_CLI=auto # 기본값; worker --model에 "claude"가 포함되면 claude 사용
OMX_TEAM_WORKER_CLI=codex # Codex CLI 워커 강제
OMX_TEAM_WORKER_CLI=claude # Claude CLI 워커 강제
OMX_TEAM_WORKER_CLI_MAP=codex,codex,claude,claude # 워커별 CLI 혼합 (길이=1 또는 워커 수)
OMX_TEAM_AUTO_INTERRUPT_RETRY=0 # 선택: 적응형 queue->resend 폴백 비활성화
```
참고:
- 워커 시작 인수는 여전히 `OMX_TEAM_WORKER_LAUNCH_ARGS`를 통해 공유됩니다.
- `OMX_TEAM_WORKER_CLI_MAP`은 워커별 선택을 위해 `OMX_TEAM_WORKER_CLI`를 재정의합니다.
- 트리거 제출은 기본적으로 적응형 재시도를 사용합니다 (queue/submit, 필요시 안전한 clear-line+resend 폴백).
- Claude worker 모드에서 OMX는 워커를 일반 `claude`로 시작하고 (추가 시작 인수 없음) 명시적인 `--model` / `--config` / `--effort` 재정의를 무시하여 Claude가 기본 `settings.json`을 사용합니다.
## `omx setup`이 작성하는 것
- `.omx/setup-scope.json` (저장된 설정 범위)
- 범위에 따른 설치:
- `user`: `~/.codex/prompts/`, `~/.codex/skills/`, `~/.codex/config.toml`, `~/.omx/agents/`, `~/.codex/AGENTS.md`
- `project`: `./.codex/prompts/`, `./.codex/skills/`, `./.codex/config.toml`, `./.omx/agents/`, `./AGENTS.md`
- 시작 동작: 저장된 범위가 `project`이면, `omx` 시작 시 자동으로 `CODEX_HOME=./.codex`를 사용합니다 (`CODEX_HOME`이 이미 설정되지 않은 경우).
- 시작 지침은 `~/.codex/AGENTS.md`(또는 `CODEX_HOME/AGENTS.md`)와 프로젝트 `./AGENTS.md`를 병합한 뒤 런타임 오버레이를 추가해 사용합니다.
- 기존 `AGENTS.md`는 자동으로 덮어쓰지 않습니다. 대화형 TTY 실행에서는 덮어쓸지 확인하고, 비대화형 실행에서는 `--force`가 없으면 건너뜁니다 (활성 세션 안전 검사는 여전히 적용됩니다).
- `config.toml` 업데이트 (두 범위 모두):
- `notify = ["node", "..."]`
- `model_reasoning_effort = "medium"`
- `developer_instructions = "..."`
- `[features] multi_agent = true, child_agents_md = true`
- MCP 서버 항목 (`omx_state`, `omx_memory`, `omx_code_intel`, `omx_trace`, `omx_wiki`)
- `[tui] status_line`
- 범위별 `AGENTS.md`
- `.omx/` 런타임 디렉토리 및 HUD 설정
## 에이전트와 스킬
- 프롬프트: `prompts/*.md` (`user`는 `~/.codex/prompts/`에, `project`는 `./.codex/prompts/`에 설치)
- 스킬: `skills/*/SKILL.md` (`user`는 `~/.codex/skills/`에, `project`는 `./.codex/skills/`에 설치)
예시:
- 에이전트: `architect`, `planner`, `executor`, `debugger`, `verifier`, `security-reviewer`
- 스킬: `deep-interview`, `ralplan`, `team`, `ralph`, `plan`, `cancel`
## 프로젝트 구조
```text
oh-my-codex/
bin/omx.js
src/
cli/
team/
mcp/
hooks/
hud/
config/
modes/
notifications/
verification/
prompts/
skills/
templates/
scripts/
```
## 개발
```bash
git clone https://github.com/Yeachan-Heo/oh-my-codex.git
cd oh-my-codex
npm install
npm run build
npm test
```
## 문서
- **[전체 문서](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** — 완전한 가이드
- **[CLI 레퍼런스](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** — 모든 `omx` 명령어, 플래그 및 도구
- **[알림 가이드](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#notifications)** — Discord, Telegram, Slack 및 webhook 설정
- **[권장 워크플로우](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** — 일반적인 작업을 위한 실전 검증된 스킬 체인
- **[릴리스 노트](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#release-notes)** — 각 버전의 새로운 기능
## 참고
- 전체 변경 로그: `CHANGELOG.md`
- 마이그레이션 가이드 (v0.4.4 이후 mainline): `docs/migration-mainline-post-v0.4.4.md`
- 커버리지 및 패리티 노트: `COVERAGE.md`
- Hook 확장 워크플로우: `docs/hooks-extension.md`
- 설정 및 기여 세부사항: `CONTRIBUTING.md`
## 감사의 말
[oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode)에서 영감을 받아 Codex CLI용으로 적응하였습니다.
## 라이선스
MIT