Codex là một tác nhân lập trình AI (coding agent) của OpenAI. Cách dùng cơ bản nhất là cài Codex CLI chạy trong terminal (npm install -g @openai/codex), thực thi codex trong thư mục dự án cần xử lý, rồi nói cho nó biết phải làm gì bằng tiếng Việt. Có hai cách bắt đầu: đăng nhập bằng gói ChatGPT (Plus, Pro, Business, v.v.) và sử dụng trong hạn mức của gói; hoặc chạy bằng khóa API và trả theo số token sử dụng. Các hướng dẫn tiếng Trung gần như chỉ viết về cách đầu tiên; bài này bổ sung cách thứ hai — thiết lập Codex CLI mà không cần gói thuê bao, chọn mô hình theo nhiệm vụ và chi phí thực tế của một nhiệm vụ.
Codex không phải công cụ để dán mã vào cửa sổ chat, mà là tác nhân đọc tệp, sửa tệp, chạy kiểm thử và lệnh ngay trong dự án. Sau khi khởi động, dùng /permissions để thiết lập những hành động nào có thể thực hiện mà không cần xác nhận.
Hai cách sử dụng Codex
| Đăng nhập bằng gói ChatGPT | Khóa API (tính phí theo mức sử dụng) | |
|---|---|---|
| Thanh toán | Phí hàng tháng (đã bao gồm trong gói) | Trả theo số token sử dụng, không có phí hàng tháng |
| Giới hạn | Hạn mức sử dụng của gói | Số dư và giới hạn hàng tháng tùy chỉnh cho từng khóa |
| Model | Các mô hình OpenAI đưa vào gói | Chọn mô hình từ các mô hình do endpoint cung cấp tùy theo nhiệm vụ |
| Cách bắt đầu | codex login Đăng nhập trong trình duyệt | config.toml Một khối cấu hình + biến môi trường |
Khi chạy bằng khóa API, chi phí được tính riêng với hạn mức của gói ChatGPT. Bạn cũng có thể dùng trực tiếp khóa API của OpenAI, nhưng bài này nói về việc kết nối với endpoint tương thích Responses API: cùng một khóa có thể chuyển đổi giữa GPT-6 Astra và GPT-5.6 Terra. Ví dụ, giá chính thức của OpenAI cho GPT-5.6 Sol là $5,00 / $30,00(OpenAI hiện cung cấp với giá khuyến mãi $4,00 / $20,00, theo trang giá chính thức thì ít nhất đến 21 tháng 11, 2026), còn tại đây là $2,00 / $12,00 cho mỗi 1M token (mức giá được đọc trực tiếp từ danh mục của trang này, không nhập thủ công).
Cài Codex CLI — npm hoặc Homebrew
# npm(有 Node.js 就能用,macOS / Linux / Windows 通用)
npm install -g @openai/codex
# Homebrew(macOS)
brew install --cask codexCả hai đều là cách cài đặt chính thức trong README của OpenAI; Windows cũng có thể cài bằng cùng một lệnh npm. Sau khi cài, nhập codex trong thư mục dự án để khởi động. Nếu định đăng nhập bằng ChatGPT, đến đây là hoàn tất và có thể bỏ qua phần thiết lập bên dưới.
Chạy bằng khóa API — thêm một khối vào config.toml
Trước tiên, đăng ký tài khoản, nạp từ $10, rồi vào trang khóa API để tạo khóa. Khóa chỉ hiển thị một lần, hãy lưu ngay. Tiếp theo, thêm một khối nhà cung cấp vào tệp cấu hình Codex:
# ~/.codex/config.toml(沒有的話就新建一個)
model = "gpt-5-6-sol"
model_provider = "kunavo"
[model_providers.kunavo]
name = "Kunavo"
base_url = "https://api.kunavo.com/v1"
env_key = "KUNAVO_API_KEY" # 填「環境變數的名稱」,不是金鑰本身
wire_api = "responses" # 唯一有效的值,省略也一樣Điểm dễ viết sai nhất là env_key: giá trị điền ở đây không phải bản thân khóa, mà là tên biến môi trường chứa khóa. Khóa không xuất hiện trong tệp cấu hình, nên bạn có thể an tâm commit config.toml vào git hoặc dán lên diễn đàn để hỏi vấn đề.
# 把金鑰放進 env_key 指定名稱的變數(金鑰以 sk-kn- 開頭)
export KUNAVO_API_KEY="sk-kn-..."
# 寫進 shell 的設定檔,就不必每次都 export
echo 'export KUNAVO_API_KEY="sk-kn-..."' >> ~/.zshrcPowerShell trên Windows có thể chạy setx KUNAVO_API_KEY sk-kn-..., sau đó mở một terminal mới; vị trí tệp cấu hình là %USERPROFILE%\.codex\config.toml. Trước khi khởi động Codex, hãy dùng một yêu cầu để xác nhận khóa và endpoint hoạt động; như vậy khi có lỗi sẽ dễ xác định lỗi nằm ở đâu hơn.
# 懷疑 Codex 之前,先用一個請求確認金鑰和端點
curl https://api.kunavo.com/v1/responses \
-H "Authorization: Bearer $KUNAVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-5-6-sol", "input": "只回 OK"}'Việc trả về JSON có nghĩa là khóa và endpoint đều hoạt động bình thường; vấn đề còn lại nằm ở config.toml. Mô tả các trường cấu hình có trong tài liệu tích hợp Codex CLI (tiếng Anh); cách gọi mô hình Claude trong Codex cũng được viết trong hướng dẫn khóa API Codex CLI (tiếng Anh).
Nhiệm vụ đầu tiên
# 1. 進到要處理的專案資料夾,啟動 Codex
cd ~/work/my-app
codex
# 2. 讓它產生 AGENTS.md 草稿(寫測試怎麼跑、專案規則的檔案)
> /init
# 3. 之後直接用中文交代。附上檔名,做得更快也更省
> src/utils/date.test.ts 一直失敗,找出原因修好,並確認測試通過/init tạo ra AGENTS.md, một tệp dùng để ghi lại “những quy tắc không thể nhìn ra chỉ bằng cách đọc mã” — cách chạy kiểm thử, thư viện nào được dùng, đường dẫn nào không được thay đổi — và sẽ được tự động đọc trong mọi phiên làm việc sau đó. Nội dung tạo ra chỉ là bản nháp; hãy nhớ tự chỉnh sửa lại một lần.
Mẹo ra lệnh cũng giống Claude Code: đính kèm tên tệp và đường dẫn, đừng giao nhiệm vụ lớn trong một lần. Token dùng cho việc khám phá giảm xuống, kết quả nhanh hơn và chính xác hơn, hóa đơn cũng giảm theo.
Chọn mô hình theo nhiệm vụ — chi phí thực tế của một nhiệm vụ
Ưu điểm lớn nhất của việc chạy bằng khóa API là có thể chọn mô hình theo độ nặng của công việc. model chỉ là tên mô hình trên endpoint; đổi mô hình không cần khóa mới hay thiết lập bổ sung.
# config.toml 的預設(gpt-5-6-sol)不動,只有這次啟動換模型
codex -m gpt-6-astra # 找不到原因的 bug、跨模組的修改
codex -m gpt-5-6-terra # 例行修改、大量取代、整理日誌這類輕量工作| Công việc | Model | Đầu vào / đầu ra (mỗi 1M token) | Một nhiệm vụ khoảng |
|---|---|---|---|
| Lỗi không tìm ra nguyên nhân, thay đổi xuyên nhiều mô-đun | gpt-6-astra | $4,00 / $20,00 | $2,48 |
| Mặc định — triển khai và chỉnh sửa hằng ngày | gpt-5-6-sol | $2,00 / $12,00 | $1,29 |
| Bổ sung kiểm thử, chỉnh sửa thường lệ, thay thế hàng loạt và sắp xếp nhật ký | gpt-5-6-terra | $0,70 / $4,20 | $0,451 |
Cách tính “một nhiệm vụ” là xem việc sửa một kiểm thử thất bại như 20 bước. Mỗi bước có 25.000 token đầu vào (system prompt + lịch sử trò chuyện + tệp được đọc vào) và 1.200 token đầu ra (một lần chỉnh sửa hoặc giải thích), nên một nhiệm vụ có 500.000 token đầu vào và 24.000 token đầu ra. Dùng GPT-5.6 Sol tốn khoảng $1,29; cùng số token trả trực tiếp cho OpenAI, theo mức giá khuyến mãi hiện tại là $2,48 (theo giá niêm yết là $3,22). Mô hình càng rẻ càng có thể cần nhiều lượt trao đổi hơn mới sửa đúng, nên trên thực tế nếu một lần chưa giải quyết được thì hãy nâng lên một bậc.
Cách tính này chưa bao gồm bộ nhớ đệm. Codex gửi lại lịch sử trò chuyện ở mỗi bước; đầu vào trúng bộ nhớ đệm được tính bằng 0,10 lần đơn giá đầu vào (GPT-5.6 Sol là $0,20 cho mỗi 1M token), còn phần mới ghi vào bộ nhớ đệm được tính bằng 1,25 lần đơn giá đầu vào. Ngoài ra, với dòng GPT-5.6 và GPT-6 Astra, khi prompt của một yêu cầu vượt quá 272K token, toàn bộ yêu cầu được tính bằng 2 lần giá đầu vào và 1,5 lần giá đầu ra; vì vậy đừng nhồi quá nhiều việc vào cùng một phiên, khởi động lại cho mỗi nhiệm vụ sẽ an toàn hơn. Token suy luận của mô hình reasoning được tính theo giá đầu ra; bài càng khó thì đầu ra càng nhiều. Xem số tiền thực tế trong usage của phản hồi và nhật ký sử dụng. Thông số mô hình có trong trang mô hình GPT-5.6 Sol, còn giá của mọi mô hình nằm trong bảng giá.
Lỗi thường gặp
| Triệu chứng | Nguyên nhân và cách xử lý |
|---|---|
401 (authentication_error) | Khóa sai hoặc biến do env_key chỉ định đang trống trong shell khởi động Codex. Xác nhận rằng bạn đã khởi động lại sau khi export và env_key không bị điền nhầm thành bản thân khóa. |
Không đọc được tệp cấu hình, lỗi wire_api | wire_api = "chat" trong các bài viết cũ không còn hiệu lực trong Codex hiện tại; hãy đổi thành "responses" hoặc xóa cả dòng. |
404 “Model … is not available” | Tên mô hình phải được viết bằng dấu gạch nối theo danh mục (gpt-5-6-sol); cách viết của OpenAI là gpt-5.6-sol sẽ không tìm thấy. Tên các mô hình đã bị gỡ cũng gây ra lỗi tương tự. |
Mọi yêu cầu đều 404 | base_url phải dừng ở /v1. /responses được Codex tự thêm; viết vào sẽ gây trùng lặp. |
402 (insufficient_quota) | Số dư không đủ hoặc đã đạt giới hạn hàng tháng được thiết lập cho khóa; thông báo lỗi sẽ nói rõ trường hợp nào. |
403 (permission_error) | IP của kết nối hiện tại không nằm trong danh sách IP được phép của khóa này. |
Nói thẳng — khi nào gói ChatGPT đáng tiền hơn
Nếu mỗi ngày bạn dành vài giờ để trao đổi qua lại với Codex, gói trả phí cố định thường rẻ hơn. Tính phí theo mức sử dụng tỷ lệ thuận với số token; dùng càng nhiều và càng ổn định thì lợi thế của phí hàng tháng càng lớn. Điểm phân cách là “phí hàng tháng ÷ đơn giá một nhiệm vụ”, và điểm hòa vốn giữa các gói đã được tính ở trang chi phí Codex.
Còn hai điều cần biết trước. Theo tài liệu của OpenAI, các tính năng phụ thuộc vào workspace ChatGPT hoặc dịch vụ đám mây sẽ bị giới hạn hoặc không thể dùng khi sử dụng khóa API. Ngoài ra, tuyến Kunavo là dung lượng dùng chung, không có hạn mức chuyên dụng và không có SLA được đảm bảo theo hợp đồng; nếu cần hạn mức hoặc SLA đảm bảo, ký hợp đồng trực tiếp với OpenAI sẽ phù hợp hơn.
Ngược lại, khóa API phù hợp với người có mức sử dụng lúc nhiều lúc ít, muốn chọn mô hình theo nhiệm vụ, đội nhóm muốn tách giới hạn và nhật ký sử dụng theo từng khóa, hoặc chỉ muốn tiếp tục làm việc vào ngày hạn mức gói đã dùng hết. Có thể dùng kết hợp cả hai: xóa dòng model_provider trong config.toml để quay lại đăng nhập ChatGPT; nếu muốn chuyển đổi khi khởi động từng lần, có thể dùng --profile của Codex.
Thanh toán bằng thẻ tín dụng quốc tế (bao gồm JCB), Apple Pay hoặc Google Pay; Đài Loan không có phương thức thanh toán nội địa — JKO Pay và LINE Pay đều không nằm trong danh sách khả dụng. Hình thức trả trước chỉ quẹt thẻ một lần khi nạp tiền, số dư không hết hạn và các yêu cầu thất bại không bị tính phí. Nếu bạn vẫn đang cân nhắc giữa Codex và Claude Code, hãy xem Claude Code vs Codex CLI (tiếng Anh); cách tính phí của Claude Code được giải thích tại Chi phí Claude Code.
Câu hỏi thường gặp
Dùng Codex như thế nào?
Cài Codex CLI (npm install -g @openai/codex; trên macOS cũng có thể dùng brew install --cask codex), chạy codex trong thư mục dự án, rồi mô tả việc cần làm bằng tiếng Việt. Có hai cách đăng nhập: dùng gói ChatGPT và sử dụng trong hạn mức của gói, hoặc dùng khóa API và trả phí theo token. Nếu dùng khóa API, thêm một khối nhà cung cấp vào ~/.codex/config.toml, còn khóa đặt trong biến môi trường.
Cài Codex CLI như thế nào?
npm install -g @openai/codex là cách dùng chung cho macOS, Linux và Windows; trên macOS cũng có thể dùng brew install --cask codex. Sau khi cài, nhập codex trong thư mục dự án để khởi động.
Codex có thể dùng miễn phí không?
Bản thân Codex CLI miễn phí, nhưng việc gọi mô hình thì có phí: hoặc dùng hạn mức trong gói ChatGPT (Plus, Pro, Business, v.v.), hoặc trả theo token bằng khóa API. Tính phí theo mức sử dụng không có phí hàng tháng; những tháng không dùng sẽ là $0.
Không có ChatGPT Plus thì có thể dùng Codex CLI không?
Có. Codex CLI cũng có thể chạy bằng khóa API; khi đó không trừ hạn mức gói ChatGPT mà tính phí theo số token sử dụng. Ngoài việc cung cấp trực tiếp khóa API OpenAI, bạn cũng có thể đăng ký endpoint tương thích với Responses API trong model_providers của config.toml; với Kunavo, base_url là https://api.kunavo.com/v1 và mô hình mặc định là gpt-5-6-sol.
Tiện ích mở rộng VS Code có dùng được khóa API không?
Có. Tiện ích IDE và CLI của Codex đọc cùng một ~/.codex/config.toml, nên khối model_providers cũng có hiệu lực như nhau. Sau khi thay đổi thiết lập, hãy khởi động lại trình soạn thảo.
Codex CLI nên chọn mô hình nào?
Mặc định dùng gpt-5-6-sol (mỗi 1M token $2,00 / $12,00) là đủ. Chỉ chuyển sang gpt-6-astra ($4,00 / $20,00) cho các lỗi không tìm ra nguyên nhân hoặc thay đổi xuyên nhiều mô-đun; công việc thường lệ như chỉnh sửa, thay thế và tóm tắt dùng gpt-5-6-terra ($0,70 / $4,20). Dùng codex -m <tên mô hình> để chuyển đổi; chỉ ảnh hưởng đến lần khởi động này.
Codex CLI báo lỗi 401 thì phải làm gì?
Hầu như luôn là do khóa chưa được truyền vào Codex. env_key trong config.toml phải là tên biến môi trường (ví dụ KUNAVO_API_KEY), không phải bản thân khóa, và codex phải được khởi động từ shell đã export biến đó. Export ở một tab khác, hoặc Codex đã mở trước khi export, là hai trường hợp phổ biến nhất.
Ở Đài Loan thanh toán như thế nào?
Dùng thẻ tín dụng quốc tế (Visa, Mastercard, American Express, JCB, UnionPay), Apple Pay hoặc Google Pay; Đài Loan không có phương thức thanh toán nội địa — JKO Pay và LINE Pay đều không nằm trong danh sách khả dụng. Kunavo dùng hình thức trả trước, mức nạp tối thiểu $10, chỉ quẹt thẻ một lần khi nạp tiền, số dư không hết hạn và các yêu cầu thất bại không bị tính phí.