SONUB
KO English 한국어 日本語 中文 हिन्दी বাংলা اردو Español Português Français Deutsch Русский العربية Bahasa Indonesia Tiếng Việt ไทย Türkçe

알림을 켜는 방법

이 브라우저 또는 주소에서는 알림을 사용할 수 없습니다. 지원되는 브라우저로 보안 연결된 SONUB 사이트에 접속해 주세요.

알림이 차단되어 있으면 브라우저 설정에서 허용해 주세요.

  1. 주소 표시줄 옆의 사이트 설정 또는 브라우저의 사이트 설정을 열고, 이 사이트의 알림을 허용으로 바꾸세요.
  2. 기기 설정에서 브라우저 알림을 허용하고 방해 금지 또는 집중 모드를 확인하세요.
  3. SONUB으로 돌아와 페이지를 새로고침하세요. 알림이 켜지면 벨은 사라집니다.

iPhone 또는 iPad에서는 SONUB을 홈 화면에 추가하고 거기에서 연 뒤 알림을 허용하세요.

관리자 로그인 화면 테마 기본 테마 다크 테마 핑크 테마 채팅 1:1 채팅 그룹 채팅 게시판 공지사항 뉴스 게시판 건의 게시판 자기소개 게시판 주요 메뉴 로그아웃

Codex — OpenAI 의 코딩 에이전트

과 로 를 내 방식에 맞추고, 로 스크립트에 넣고, 로 바깥 도구를 잇고, 반복하는 일은 로 가르치고, 꼭 지킬 것은 으로 강제합니다.

config.toml 과 프로필 — 내 방식에 맞추기

)

의 설정은 ~/.codex/ 에 둡니다. 매번 붙이던 옵션을 여기에 적어 두면 기본값이 됩니다. 일마다 다른 설정은 파일로 나눕니다.

  • · model_reasoning_effort — 쓸 모델과 생각하는 정도
  • · sandbox_mode — 과 (중급에서 배운 값)
  • 프로필은 ~/.codex/<이름>.config.toml 파일입니다. codex -p <이름> 으로 고르면 그 파일의 값이 기본 설정 위에 얹힙니다(예전의 [profiles.x] 표는 이제 읽지 않습니다). 프로필과 헷갈리지 마세요 — 권한 프로필은 파일· 권한을 정하는 Beta 기능이고 sandbox_mode 와 섞어 쓸 수 없습니다.
  • -c 키=값 으로 이번 실행에서만 바꿉니다(예: -c sandbox_workspace_write.network_access=true).
  • 같은 설정이 여러 곳에 있으면 더 센 곳이 이깁니다. 센 순서는 옵션과 --config, 프로젝트의 .codex/config.toml(가까운 폴더 먼저, 만), --profile 파일, ~/.codex/config.toml, 관리 기본값, /etc/codex/config.toml, 내장 기본값입니다.
  • web_search 는 Codex 의 검색 방식을 고릅니다: cached · indexed · live(--search 와 같음) · disabled.
  • shell_environment_policy 는 Codex 가 실행하는 에 어떤 를 넘길지 정합니다(inherit = "none" 이나 "core" 면 적게 넘깁니다). [features] 는 선택 기능을 켜고 끕니다. CODEX_HOME 은 설정 폴더를 ~/.codex 가 아닌 곳으로 옮기며, 그 폴더는 미리 있어야 합니다.
  • 에서는 호환되는 기기라면 mxc 샌드박스를 권장하고, elevated·unelevated 는 예전 방식의 대안입니다. CLI 만 쓴다면 [features] 에 prefer_mxc = true 를 둡니다.
~/.codex/config.toml
model_reasoning_effort = "high"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
web_search = "cached"
~/.codex/review.config.toml
# a profile: codex -p review
model_reasoning_effort = "xhigh"
sandbox_mode = "read-only"
codex -p review
codex -c sandbox_workspace_write.network_access=true

프로젝트에 .codex/config.toml 을 두면 그 프로젝트에서만 쓰는 설정이 됩니다 — 믿는 프로젝트로 표시한 곳에서만 읽습니다.

codex exec — 대화 화면 없이 자동화

)

"…" 는 대화 화면 없이 일을 한 번 하고 끝납니다. 진행은 로, 마지막 답은 stdout 으로 나오므로 ·· 에 넣기 좋습니다.

  • 기본은 입니다. 파일을 고치게 하려면 --sandbox workspace-write 를 붙입니다.
  • --json 은 진행을 (JSONL)로, -o <파일> 은 마지막 답을 파일로, --output-schema <파일> 은 에 맞는 답을 받습니다.
  • 없이 실행하면 표준 입력이 프롬프트가 되고, 프롬프트와 함께 파이프로 넘기면 입력이 덧붙습니다.
  • 밖에서는 --skip-git-repo-check 가 필요합니다. codex exec resume --last 로 앞 실행을 이어 갑니다.
  • schema.json 은 마지막 답의 모양을 정합니다. --output-schema schema.json 을 붙이면 답이 summary·files 가 있는 으로 나옵니다. "additionalProperties": false 가 빠지면 "Invalid " 오류와 1 로 멈추니, 넣고 다시 실행합니다.
Terminal
# Ask once, print the answer (read-only by default)
codex exec "Summarize what changed in the last 5 commits"

# Allow edits inside this folder
codex exec --sandbox workspace-write "Fix the failing test in tests/cart.test.ts"

# Pipe input in
cat error.log | codex exec "Find the cause"

# For scripts: JSON events, the final answer in a file, a JSON Schema answer
codex exec --json "List the TODOs in src/" > events.jsonl
codex exec -o notes.md "Write release notes for this week"
codex exec --output-schema schema.json "Rate the test coverage of each file"

# Continue the last run
codex exec resume --last "Now add tests for it"
schema.json
{
  "type": "object",
  "properties": {
    "summary": { "type": "string" },
    "files": { "type": "array", "items": { "type": "string" } }
  },
  "required": ["summary", "files"],
  "additionalProperties": false
}

CI 에서는 CODEX_API_KEY 를 Codex 를 실행하는 단계에만 넘기세요. 다른 단계의 스크립트가 키를 보지 못하게 합니다.

MCP — 바깥 도구와 잇기

)

(Model Context Protocol)는 도구가 바깥 서비스( 관리···문서 도구)를 쓰게 하는 입니다. Codex 에 를 더하면 그 의 도구를 쓸 수 있고, 와 같은 서버를 그대로 쓸 수 있습니다.

  • codex mcp add <이름> -- <명령> — 에서 실행하는 서버(stdio)를 더합니다.
  • codex mcp add <이름> --url <주소> — 원격 서버()를 더합니다.
  • 더한 서버는 config.toml 의 [mcp_servers.<이름>] 표에 저장됩니다. 대화 중에는 /mcp 로 상태를 봅니다.
Terminal
# A server that runs on your computer (stdio)
codex mcp add playwright -- npx @playwright/mcp@latest

# A remote server (streamable HTTP)
codex mcp add notion --url https://mcp.notion.com/mcp

codex mcp list
~/.codex/config.toml
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]
tool_timeout_sec = 60

에이전트 스킬 — 반복하는 일을 가르치기

)

은 가 든 폴더로, 클로드 코드와 같은 열린 형식입니다. Codex 는 평소에는 스킬의 이름과 설명만 알고 있다가, 일이 설명에 맞으면 본문을 읽어 따릅니다. 예전의 사용자 프롬프트(~/.codex/prompts)는 스킬로 바꾸라고 안내합니다.

  • .agents/skills/<이름>/SKILL.md 는 이 저장소, ~/.agents/skills/ 는 내 모든 프로젝트에서 씁니다.
  • $<스킬 이름> 으로 직접 부르거나 /skills 로 목록에서 고릅니다. 설명이 맞으면 알아서도 씁니다.
  • name 과 description 을 적고, 스크립트·참고 문서는 scripts/·references/ 에 둡니다.
  • 처음부터 들어 있는 에게 부탁하면 새 스킬을 함께 만들어 줍니다.
.agents/skills/release-notes/SKILL.md
---
name: release-notes
description: Write release notes from the git log. Use when the user asks for release notes or a changelog.
---

1. Find the last tag: `git describe --tags --abbrev=0`
2. Read the commits since then: `git log <tag>..HEAD --oneline`
3. Group them under Added / Fixed / Changed, in plain sentences.

훅 — 정해진 때 반드시 실행되는 명령

)

은 Codex 가 정해진 순간에 실행하는 명령입니다. 의 부탁은 잊힐 수 있지만 훅은 그 순간이 오면 돕니다. 돌리기, 위험한 명령 막기, 끝나면 알림 받기에 씁니다. 다만 완전한 강제 장치가 아니라 쓸모 있는 안전장치로 여기세요 — 웹 검색 같은 도구는 훅을 거치지 않고, 다른 일부 도구 도 건너뛸 수 있습니다.

  • ~/.codex/hooks.json(나) 또는 저장소의 .codex/hooks.json(프로젝트)에 두거나, config.toml 에 [hooks] 표로 씁니다. 한 곳에서는 한 가지 형식만 씁니다.
  • ·(도구 앞뒤), (부탁을 보낼 때), Stop(답을 마칠 때), SessionStart(세션을 시작할 때) 같은 때에 겁니다.
  • 는 도구를 고릅니다. 종료 코드 2의 효과는 시점마다 다릅니다. PreToolUse 에서는 도구가 실행되기 전에 멈추고, PostToolUse 에서는 도구가 이미 실행된 뒤라 stderr 의 이유가 Codex 에게 피드백으로 갈 뿐 변경은 그대로 남습니다.
  • 알림만 필요하면 config.toml 의 notify 에 을 적습니다 — 차례가 끝날 때마다 JSON 을 받아 실행됩니다.
  • Codex 는 파일을 apply_patch(Write·Edit 로 매칭)로 고치지만 명령으로 쓰기도 합니다. 그래서 포맷터 훅의 matcher 에는 도 넣어야 합니다. 훅의 입력은 stdin 으로 JSON 이 들어옵니다.
.codex/hooks.json
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Bash|Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "sh .codex/hooks/format.sh",
            "statusMessage": "Formatting changed files"
          }
        ]
      }
    ]
  }
}
.codex/hooks/format.sh
#!/bin/sh
# Codex sends the hook input as JSON on stdin; this formatter does not need it.
cat > /dev/null
git status --porcelain --untracked-files=all | cut -c4- \
  | grep -E '\.(js|ts|css|html|json|md)$' | grep -v '^\.codex/' \
  | xargs -r npx --yes prettier --write >&2

새 훅은 /hooks 에서 믿는다고 표시해야 돕니다. 남이 준 훅은 명령을 읽고 이해한 뒤에만 믿으세요.

조각들이 함께 일하는 법

)

Codex 에는 규칙과 반복하는 일을 담는 곳이 여러 개 있습니다. 하는 일이 서로 다르니, 각각 맞는 자리에 둡니다.

  • AGENTS.md — 이 프로젝트에서 Codex 가 일하는 방식을 정하는 오래가는 지시입니다.
  • Memories — 앞선 작업에서 얻은 쓸모 있는 을 Codex 가 이어 갑니다.
  • Skills — 되풀이하는 과정을 묶어 둔 것으로, 그 일이 나올 때 Codex 가 따라 합니다.
  • Plugins — 설치해서 쓰는 꾸러미입니다. 먼저 스킬을 만들고, 나누고 싶을 때 플러그인으로 묶습니다.
  • Hooks 와 MCP — 훅은 정해진 순간에 내 명령을 실행하고, MCP 는 Codex 를 로컬 작업 공간 밖의 시스템에 잇습니다.
  • — 리뷰 같은 일을 넘겨받는 도우미로, 본 대화가 한 가지에 집중하게 합니다.
  • 함께 쓰는 예: AGENTS.md 는 끝내기 전에 test 를 돌리라고 정하고, 는 고치던 파일을 떠올려 주고, 스킬은 를 쓰고, MCP 는 이슈 관리 도구에서 이슈를 읽어 오고, reviewer 서브 에이전트는 변경 내용을 검토합니다.

꼭 지킬 규칙은 AGENTS.md 나 저장소의 문서에 둡니다. 메모리는 기억을 돕는 층일 뿐, 반드시 지켜야 할 규칙의 유일한 출처가 아닙니다.

고급 연습

)
  1. ~/.codex/config.toml 에 기본 승인·샌드박스를 적고, 읽기 전용 리뷰 프로필(review.config.toml)을 만들어 codex -p review 로 써 봅니다.
  2. codex exec -o 로 이번 주 을 요약해 파일로 받는 스크립트를 만듭니다.
  3. MCP 서버 하나를 더하고 /mcp 로 확인합니다.
  4. 자주 하는 일 하나를 .agents/skills/ 에 스킬로 만들고 $이름 으로 불러 봅니다. /skills 에 보여야 합니다. 보이지 않으면 폴더와 SKILL.md 의 name 을 확인하고 Codex 를 다시 시작합니다.
  5. 훅 단락의 두 파일을 그대로 만들고( 에 가 필요합니다) /hooks 에서 신뢰로 표시한 뒤, Codex 에게 띄어쓰기가 엉망인 demo.js 를 만들어 달라고 합니다. 파일이 정리되어 나오면 성공입니다. 포맷터가 실패하면 훅이 실패로 표시되고 Codex 는 계속 일하므로, 훅이 돌았다고 짐작하지 말고 상태를 읽습니다.

다섯 가지를 모두 해 봤다면 [마스터] 탭으로 넘어가세요.

공식 문서

2026-11-02 에 공식 문서로 확인했어요. 도구가 자주 바뀌니 명령이 안 되면 공식 문서를 보세요.

용어 사전

모르는 말을 골라 보세요. 쉬운 설명과 관련 용어를 볼 수 있어요.

찾는 용어가 아직 없어요.

용어를 고르면 설명이 보여요.

읽기 창