Codex là một vòng lặp: nó chỉnh sửa các tệp, chạy lệnh, đọc kết quả đầu ra và quyết định bước tiếp theo. Vậy tại sao các bài kiểm tra API của bạn không nằm trong vòng lặp đó? Chúng nằm trong Apidog phía sau giao diện đồ họa (GUI), chỉ chạy khi ai đó nhớ nhấp chuột. Agent của bạn không bao giờ chạm vào chúng.
Giải pháp chỉ cần một khối cấu hình. Apidog CLI là một gói npm, apidog-cli, chạy các kịch bản kiểm thử bạn đã xây dựng trong Apidog trực tiếp từ terminal. Khi CLI đã được cài đặt và Codex biết nó tồn tại, agent của bạn sẽ chạy một kịch bản Apidog giống như cách nó chạy các bài kiểm tra đơn vị của bạn: thực thi lệnh, đọc mã thoát, sửa code nếu nó báo lỗi.
Hướng dẫn này bao gồm phần dành riêng cho Codex mà hướng dẫn cài đặt chung bỏ qua: dòng chính xác cho tệp AGENTS.md của bạn, lời nhắc cung cấp cho Codex, cách nó chạy apidog run trong vòng lặp của chính nó và cách đọc kết quả.
Nếu bạn chưa cài đặt CLI, hãy thực hiện việc đó trước. Cách cài đặt Apidog CLI với một AI coding agent sẽ hướng dẫn bạn qua quá trình cài đặt npm, mã thông báo truy cập và lần chạy đầu tiên, với Codex thực hiện việc nhập liệu. Bài viết này giả định apidog --version in ra một số và tài khoản Apidog của bạn đã được xác thực.
Codex được đề cập ở đây
Cả OpenAI Codex CLI và Codex App. Nó chạy cục bộ, đọc kho lưu trữ của bạn, chỉnh sửa tệp và thực thi các lệnh shell trong một môi trường sandbox, yêu cầu phê duyệt dựa trên chế độ quyền của bạn. Nó không phải là API hoàn thành code Codex cũ. Nếu bạn chạy codex và nhận được giao diện toàn màn hình hiển thị các bản diff và đầu ra lệnh, bạn đang ở đúng nơi. Hướng dẫn OpenAI Codex CLI bao gồm các kiến thức cơ bản.
Sự phân biệt này quan trọng vì Codex có cách riêng để học các quy tắc dự án, và cơ chế đó biến một "chạy thử nghiệm của tôi" một lần thành thứ mà Codex tự động tìm đến. Cơ chế đó là AGENTS.md.
Cơ chế: AGENTS.md, không phải nhắc nhở trò chuyện
Codex đọc các tệp AGENTS.md trước khi bắt đầu hoạt động. Hãy coi nó như CLAUDE.md dành cho Claude Code: một tệp Markdown đơn giản chứa các hướng dẫn dự án mà Codex tải vào ngữ cảnh khi bắt đầu mỗi phiên. Nó xây dựng tập lệnh hướng dẫn bằng cách đi từ gốc Git của bạn xuống thư mục hiện tại, nối mỗi AGENTS.md từ gốc trước, do đó các tệp gần hơn sẽ ưu tiên hơn khi có xung đột. Ngoài ra còn có một tệp ~/.codex/AGENTS.md toàn cầu. Đối với mục đích của chúng ta, một tệp ở gốc repo là đủ.
Đây là lý do tại sao bạn viết CLI vào AGENTS.md thay vì đề cập đến nó trong cuộc trò chuyện. Một ID kịch bản được nhập vào cuộc trò chuyện sẽ biến mất khi phiên kết thúc. Một ID trong AGENTS.md sẽ có mặt cho mọi đồng đội và mọi lần chạy Codex từ bây giờ.
Bước 1: Cung cấp lời nhắc cho Codex và xem nó chạy
Với khối đã được đặt, hãy khởi động Codex trong repo của bạn:
Codex tải AGENTS.md khi nó khởi động, vì vậy nó đã biết CLI nằm ở đó. Thực hiện một thay đổi ảnh hưởng đến API của bạn, hoặc yêu cầu nó chạy kiểm tra:

Codex thực thi lệnh apidog run từ AGENTS.md của bạn. Trong chế độ Auto mặc định, nó có thể tự đọc tệp, chỉnh sửa chúng và chạy lệnh trong thư mục làm việc, vì vậy một lệnh apidog run đơn giản thường thực thi mà không cần nhắc. Báo cáo viên -r cli in kết quả từng bước và tóm tắt ngay trong terminal, nơi bạn theo dõi từng yêu cầu và xác nhận khi chúng diễn ra.
Bạn muốn thấy quá trình chạy đang thực thi và Codex báo cáo lại cả tóm tắt và mã thoát. Nếu chế độ quyền của bạn là Chỉ đọc, Codex sẽ tạm dừng và hỏi trước khi chạy; hãy chấp thuận hoặc thay đổi chế độ bằng /permissions trong phiên. Auto là chế độ mặc định hợp lý, vì một kịch bản kiểm thử chỉ đọc đối với môi trường staging chính xác là loại lệnh an toàn, trong không gian làm việc mà chế độ này được tạo ra.
Bước 2: Codex kiểm thử trong vòng lặp của chính nó
Điểm mấu chốt là điều gì xảy ra khi bạn ngừng yêu cầu và Codex tự chạy kịch bản vì AGENTS.md đã hướng dẫn nó.
Hãy hình dung Codex đang chỉnh sửa một handler xây dựng phản hồi thanh toán. Vòng lặp của nó thay đổi: nó chỉnh sửa code, sau đó, thay vì tuyên bố chiến thắng, nó chạy kịch bản Apidog của bạn đối với môi trường staging, đọc mã thoát và hành động dựa trên đó. Màu xanh lá cây, nó tiếp tục. Màu đỏ, nó mở báo cáo, đọc xem xác nhận nào đã thất bại (mã trạng thái, trường bị thiếu, giá trị sai), cố gắng khắc phục và chạy lại. Kiểm thử API trở thành một phần của cùng một vòng lặp chỉnh sửa-kiểm thử-sửa chữa mà Codex đã chạy các bài kiểm thử đơn vị của bạn. Bạn đã viết một hướng dẫn và Codex đã tích hợp lệnh đó vào cách nó hoạt động.
Đây là mô hình ủy quyền-sau đó-xác minh giúp mọi quy trình làm việc của agent trở nên an toàn. Codex chạy lệnh và đọc kết quả; bạn tiếp tục tạo kịch bản một cách trực quan trong Apidog và kiểm tra ngẫu nhiên xem agent có đọc mã thoát một cách trung thực hay không. Để biết mẫu rộng hơn, hãy xem cách sử dụng AI agents để kiểm thử API và công cụ kiểm thử Apidog AI.
Xác minh Codex thực sự đang chạy CLI
Các Agent báo cáo thành công mà họ không thực sự đạt được, và Codex cũng không ngoại lệ. Ba bước kiểm tra, theo thứ tự tần suất chúng phát hiện vấn đề.
Đầu tiên, xác nhận lệnh đã chạy. Giao diện Codex hiển thị các lệnh nó đã thực thi và đầu ra của chúng trực tiếp. Tìm dòng apidog run ... và kết quả bên dưới nó. Nếu Codex nói rằng nó đã chạy các bài kiểm tra nhưng bạn không thấy lệnh, thì nó đã tóm tắt một cái gì đó mà nó chưa bao giờ làm. Yêu cầu nó chạy lại và hiển thị đầu ra thô.
Thứ hai, xác nhận mã thoát, cái quan trọng nhất:
Mã thoát của lệnh apidog run đó là gì?
apidog run thoát với 0 khi mọi xác nhận đều thành công và khác 0 khi có bất kỳ lỗi nào. Hành vi đơn lẻ đó cho phép Codex, hoặc một pipeline, coi lần chạy là một cổng sạch. Khi văn bản của Codex nói "kiểm tra đã qua" nhưng mã thoát khác 0, thì mã thoát là đúng.

Thứ ba, xác nhận nó đã sử dụng kịch bản thực tế. Nếu một lần chạy thất bại với "scenario not found", Codex có thể đã tự tạo hoặc nhớ nhầm ID. Kiểm tra lại các giá trị -t và -e so với AGENTS.md và lệnh Apidog đã tạo trong tab CI/CD. Các ID trong AGENTS.md là sự thật.
Đọc báo cáo kiểm thử
Khi một lần chạy báo lỗi, báo cáo sẽ có câu trả lời. Với -r cli, Codex nhận được một phân tích dễ đọc trong terminal: mỗi yêu cầu, mỗi xác nhận và xác nhận nào đã thất bại với giá trị dự kiến so với giá trị thực tế. Xác nhận lỗi nêu rõ trường hoặc mã trạng thái chính xác, điều này thường đủ để Codex tìm ra cách khắc phục.
Để có một báo cáo bạn có thể mở trong trình duyệt hoặc đưa cho đồng đội, hãy thêm trình báo cáo HTML

Trình báo cáo html ghi một tệp độc lập vào ./apidog-reports. Giữ cli trong danh sách để Codex vẫn nhận được đầu ra trực tiếp mà nó đọc để quyết định bước tiếp theo. Đối với mọi cờ và trình báo cáo, bao gồm cả định dạng JUnit mà các bảng điều khiển CI phân tích cú pháp, hãy xem hướng dẫn Apidog CLI đầy đủ và tham chiếu lệnh apidog run.
Hai cách để đi sâu hơn các lệnh shell
Chạy apidog run từ AGENTS.md bao gồm hầu hết những gì bạn cần. Hai tuyến đường sẽ đi xa hơn.
Đầu tiên là MCP. Codex hỗ trợ Giao thức ngữ cảnh mô hình (Model Context Protocol), và bạn thêm máy chủ bằng codex mcp add hoặc bằng cách chỉnh sửa ~/.codex/config.toml với một khối [mcp_servers.NAME]. Máy chủ Apidog MCP hiển thị các thông số kỹ thuật API của bạn qua MCP, vì vậy Codex có thể đọc lược đồ của bạn trong khi nó viết code, không chỉ sau khi thực hiện. CLI chạy các bài kiểm tra; MCP cung cấp đặc tả cho agent.
Thứ hai là codex exec. Trong khi codex đơn giản mở giao diện tương tác, codex exec "..." chạy Codex không tương tác và đưa kết quả ra stdout, đây là điều bạn cần trong các script và CI. Để chạy apidog run trong một pipeline mà không có Codex, Apidog CLI trong GitHub Actions bao gồm các bí mật, báo cáo viên và cổng mã thoát.
Khi Codex mắc lỗi
Một vài lỗi thường xuyên xuất hiện trong quá trình thiết lập.
Nó bỏ qua khối AGENTS.md. Nếu Codex chạy một lệnh chung hoặc không chạy lệnh nào, khối đó có thể không được tải. Xác nhận tệp được đặt tên chính xác là AGENTS.md và nằm ở gốc Git của bạn hoặc một thư mục mẹ của thư mục hiện tại của bạn. Lỗi chính tả trong tên tệp có nghĩa là Codex không bao giờ đọc nó; khởi động lại phiên sẽ buộc đọc lại.
Nó vẫn chuyển một mã thông báo truy cập. Nếu Codex cố gắng thêm --access-token, nó đang đoán từ các ví dụ công khai. Khối đã nói với nó không làm điều đó, vì máy đã được xác thực thông qua apidog login. Củng cố dòng đó và không bao giờ đặt mã thông báo thực vào AGENTS.md.
Nó tự tạo ra một cờ. Lỗi “unknown option” (tùy chọn không xác định) có nghĩa là Codex đã đoán một cờ mà phiên bản của bạn không có. Hãy yêu cầu nó chạy apidog run --help và sao chép chính xác cờ từ đó, điều này luôn đúng với phiên bản đã cài đặt của bạn.
Nó báo cáo thành công trong một lần chạy thất bại. Lỗi tốn kém nhất, và là lý do quy tắc mã thoát nằm trong AGENTS.md và bước xác minh của bạn. Khi tóm tắt và mã thoát không khớp, mã thoát sẽ thắng.
Từ một agent hàng ngày đến một vòng lặp được kiểm thử
Đó là cách thiết lập. Cài đặt apidog-cli một lần theo hướng dẫn cài đặt, thêm một khối Apidog ngắn vào tệp AGENTS.md của repo của bạn, và Codex sẽ biết cách chạy các bài kiểm tra API của bạn và đọc kết quả trong cùng một vòng lặp mà nó đã sử dụng để chỉnh sửa code. Một điểm cuối bị hỏng sẽ được phát hiện khi Codex vẫn đang xử lý thay đổi, không phải sau khi nó đã được triển khai.
Một bài kiểm thử phía sau GUI chạy khi một người nhấp chuột; một lệnh một dòng chạy bất cứ khi nào Codex quyết định. Bạn tiếp tục xây dựng các kịch bản trực quan trong Apidog, và agent của bạn chạy chúng ở nơi bạn không quan sát. Tải Apidog, xây dựng một kịch bản, thả lệnh apidog run của nó vào AGENTS.md, và xem Codex tiếp nhận nó trong lần thay đổi tiếp theo.
