---
title: "01 - 什麼是 Codex CLI"
type: note
specialty: Programming
tags: [codex-cli從0開始使用教學, 01-什麼是codex-cli]
created: 2026-08-04
updated: "2026"
modified: 2026-08-04
---

# 01 - 什麼是 Codex CLI

← [[00-Index]] | 下一篇 → [[02-安裝與登入]]

---

## 一句話理解

官方定義：**Codex CLI is a coding agent from OpenAI that runs locally on your computer.**

重點在 **locally**：模型在 OpenAI 那邊，但**執行的動作發生在你的機器上**——它讀你的檔案、跑你的指令、改你的 repo。

---

## Codex 的四種形態

| 形態 | 說明 |
|---|---|
| **CLI** | 終端機裡的 `codex` ← **本教學** |
| IDE 擴充 | VS Code 等編輯器內 |
| 桌面 app | `codex app` 開啟 |
| Cloud | 在 OpenAI 的機器上跑長任務 |

四者共用同一個帳號與額度。ChatGPT Plus 訂閱涵蓋這些。

---

## 跟 Claude Code CLI 差在哪

兩支都是「跑在終端機的 coding agent」，模型不同、生態不同：

| | Claude Code CLI | Codex CLI |
|---|---|---|
| 帳單 | Claude 訂閱 | **ChatGPT 訂閱** |
| 專案指示檔 | `CLAUDE.md` | **`AGENTS.md`** |
| 設定檔 | `settings.json`（JSON）| **`config.toml`（TOML）** |
| 權限模型 | 六種 permission mode（一個維度）| **sandbox mode × approval policy（兩個獨立維度）** |
| 非互動 | `claude -p` | **`codex exec`** |
| 記憶 | CLAUDE.md + auto memory | AGENTS.md |
| 你已有的資產 | 12 個 skill、PubMed MCP | 無（要靠任務檔帶規格）|

> 🔑 **對你來說最關鍵的一句話**：**Codex 沒有 PubMed MCP，也讀不到你的 Claude skill。**
> 所以它能做「格式、批次、機械性」的工作，**不能做醫學事實判斷**。這條線在 [[Programming/Herdr/Herdr從0開始使用教學/10-實戰-Obsidian醫學筆記庫|Herdr 10]] 有完整的職責分界表。

---

## 兩個獨立旋鈕的權限模型 ⭐

這是 Codex CLI **最值得先知道的設計**，跟 Claude Code 很不一樣：

```
sandbox_mode      ← 技術上「能不能做」（作業系統層級的隔離）
    read-only / workspace-write / danger-full-access

approval_policy   ← 「什麼時候要停下來問你」
    untrusted / on-request / never
```

**兩者互相獨立、可以任意組合。** 例如：

| 組合 | 效果 |
|---|---|
| `read-only` + `never` | 純分析，完全不打擾你，也改不了東西 |
| `workspace-write` + `on-request` | 日常開發：能改 repo，要跨界時問你 |
| `workspace-write` + `never` | `--full-auto`：能改 repo，完全不問 |
| `danger-full-access` + `never` | ⚠️ 只有在外層已經有隔離（容器 / VM）時才用 |

完整說明見 [[04-Sandbox與Approval權限模型]]。

---

## 它適合做什麼（本站作者視角）

✅ **很適合**：
- 大量、規格明確、可平行的產出（詳解草稿、格式套用）
- 機械性檔案操作（frontmatter 修補、批次改寫）
- 純技術操作（ImageMagick 截圖、資料轉換、CSV 解析）
- 需要長時間跑、但不需要精細判斷的工作

❌ **不適合**（給 Claude 做）：
- 醫學事實判斷、PMID 查證
- 決定「哪個 guideline 比較新」
- 需要遵守大量隱含慣例的工作（它讀不到你的 `CLAUDE.md`——除非你在 `AGENTS.md` 裡寫一份）
- **commit / push**（依你兩個 repo 的規則，這由 orchestrator 統一做）

---

## 一個容易誤會的點

**Codex CLI 預設要求你在 git repo 裡跑**，這是安全設計：有版控才能回退它做的破壞性變更。

非互動模式要在非 repo 目錄跑的話，得明確加 `--skip-git-repo-check`。**這個 flag 只跳過那個檢查，不會關掉 sandbox。**

---

## 給初學者的心法

Codex CLI 是**很聽話但沒有背景知識的執行者**：

- 它不知道你們的規矩 → **所有規格都要寫進 `AGENTS.md` 或任務檔**
- 它會照你說的做到底 → **要明確定義 done**
- 它跑在你的機器上 → **sandbox 設定是真的在保護你，不是形式**

最穩的起手式：**在一個乾淨的 git 分支上、用 `workspace-write` + `on-request`、給一個範圍很窄的任務。**

---

## 🔗 相關筆記

- [[00-Index]] — 目錄
- [[02-安裝與登入]] — 下一步
- [[04-Sandbox與Approval權限模型]] — 兩個旋鈕的完整說明
- [[Programming/Codex/Codex從0開始使用教學/01-什麼是Codex|Codex 01 - 什麼是 Codex]] — 產品層的觀念
- [[Programming/Claude-Code/Claude-Code-CLI從0開始使用教學/01-什麼是Claude-Code|Claude Code CLI 01]] — 對照組

---

*最後更新：2026-08-04*
