Các phần cơ sở kiến thức ▾

Điều hướng

▸ Bắt đầu tại đây Theo vai trò

Danh mục

Công cụ 52
Bảng thuật ngữ 12

Công cụ

Codex CLI: khóa riêng thay vì gói thuê bao

Codex CLI — trợ lý tác vụ của OpenAI, sống ngay trong terminal: nó đọc các tệp dự án, chạy các lệnh trong sandbox, sửa mã và giải thích những gì nó đã làm. Theo mặc định, nó truy cập các mô hình OpenAI thông qua gói thuê bao ChatGPT, nhưng bạn có thể thay thế nhà cung cấp bằng khóa của riêng mình — và khi đó mạng Gonka sẽ tính toán các kịch bản tương tự.

Một điểm khiến Codex trở nên đặc biệt giữa các công cụ tác vụ: nó không nói chuyện bằng Chat Completions thông thường mà bằng Responses API — giao thức mới của OpenAI. Chính vì vậy mà trước đây không thể kết nối nó với cổng bên thứ ba. JoinGonka Gateway đã chấp nhận Responses từ ngày 22 tháng 8 năm 2026, và tất cả những gì được mô tả dưới đây đã được kiểm chứng bằng thực tế chứ không phải chỉ là tóm tắt tài liệu.

Codex CLI là gì và nó khác biệt thế nào với trò chuyện

Codex không phải là công cụ gợi ý trong trình soạn thảo, mà là một người thực thi độc lập. Bạn diễn đạt nhiệm vụ bằng lời, nó tự quyết định đọc tệp nào, chạy lệnh nào và thay đổi điều gì. Trong tay nó có khoảng mười công cụ: chạy lệnh, đọc tệp, lập kế hoạch công việc, yêu cầu người dùng làm rõ, tạo các tác nhân con cho từng nhiệm vụ phụ.

Hai chế độ hoạt động. Tương tác — codex không có đối số, đối thoại trong terminal với hiển thị từng bước. Không tương tác — codex exec "task", chạy một lần đến kết quả: tiện lợi trong script và CI.

Bảo mật được tích hợp sẵn: theo mặc định tác nhân hoạt động trong sandbox và hỏi xác nhận trước khi thay đổi. Mức độ kiểm soát được đặt trong cấu hình — từ «hỏi mọi thứ» đến chạy hoàn toàn tự chủ với quyền ghi vào thư mục làm việc.

Một đặc điểm nữa — trạng thái đối thoại. Codex không yêu cầu máy chủ ghi nhớ bất cứ điều gì: nó giữ toàn bộ luồng ở phía mình và gửi toàn bộ theo từng lượt. Đối với bạn, điều này có nghĩa là cuộc trò chuyện không lưu lại phía nhà cung cấp mô hình, và việc thay đổi endpoint không làm hỏng phiên đã bắt đầu.

Điểm khác biệt so với Claude Code và các tác nhân terminal khác — chính là giao thức. Codex giao tiếp với mô hình qua Responses API, nơi cuộc trò chuyện được mô tả không phải bằng danh sách tin nhắn phẳng, mà bằng một luồng các phần tử: văn bản, gọi công cụ, kết quả gọi, khối suy luận. Điều này mang lại cho công cụ một mô hình đối thoại chặt chẽ hơn, và đối với bạn — yêu cầu phải có endpoint hiểu được giao thức này.

Kết nối: một chỉnh sửa cho config.toml

Đường nhanh — dùng trình cài đặt. Lệnh npx @joingonka/setup --tool codex sẽ tự thêm vào ~/.codex/config.toml một khối nhà cung cấp với wire_api = "responses", model và cửa sổ ngữ cảnh thực của nó, giữ nguyên chú thích và các cài đặt khác của bạn, rồi kiểm tra khóa và model bằng một yêu cầu trực tiếp. Nếu trong config đã chọn nhà cung cấp khác, trình cài đặt sẽ không đụng tới và gợi ý lệnh để chạy một lần. Nó đặt khóa thẳng vào tệp (quyền 600), vào trường experimental_bearer_token — trường duy nhất mà Codex có thể lưu khóa dạng literal; bản thân Codex coi đó là thử nghiệm. Cách thủ công bên dưới dùng biến môi trường để tránh điều này.

Codex lưu cài đặt trong ~/.codex/config.toml. Nhà cung cấp riêng được mô tả bằng khối [model_providers.*], và trường then chốt ở đây là wire_api: nếu thiếu nó, Codex sẽ thử nói chuyện theo Chat Completions và không dựng được vòng lặp agent.

# ~/.codex/config.toml
model_provider = "joingonka"
model = "deepseek-ai/DeepSeek-V4-Flash-0731"

[model_providers.joingonka]
name = "JoinGonka Gateway"
base_url = "https://gate.joingonka.ai/v1"
env_key = "JOINGONKA_API_KEY"
wire_api = "responses"

Khóa không được ghi vào tệp: env_key chỉ tên biến môi trường mà Codex sẽ lấy khóa từ đó. Tên biến là của riêng bạn, không phải OPENAI_API_KEY — nhờ vậy cấu hình không can thiệp vào các công cụ khác của bạn đang làm việc với OpenAI.

export JOINGONKA_API_KEY=jg-your-key

Trường model đặt model mặc định, còn model_provider cho biết dùng khối nào trong số các khối đã mô tả. Cả hai đều có thể ghi đè lúc chạy, nên một config thoải mái phục vụ nhiều nhà cung cấp: nhà cung cấp chính, thử nghiệm và dự phòng.

Khóa được cấp trong trang cá nhân sau khi đăng ký, ở đó cũng thấy số dư và mức tiêu dùng. Nếu bạn không muốn đụng vào config chung, có thể truyền cùng khối đó một lần qua -c: codex -c model_provider=joingonka …. Còn để giữ nhiều cấu hình độc lập, hãy chỉ định thư mục cài đặt bằng biến CODEX_HOME.

Kiểm tra: những gì sẽ xảy ra

Cách nhanh nhất để xác nhận kết nối hoạt động là chạy thử một lần:

codex exec "Answer in one line: what is 17*3?"

Trong phần đầu phản hồi, Codex in ra thông tin về thành phần đang làm việc cùng: model, provider: joingonka, chế độ sandbox và mã phiên. Nếu ở đó hiện đúng nhà cung cấp của bạn và bên dưới có câu trả lời — kết nối đang hoạt động.

Tiếp theo, hãy kiểm tra điều quan trọng nhất — lý do chính khiến người ta cài Codex: khả năng làm việc với tệp. Đặt vào thư mục một tệp nhỏ có lỗi rõ ràng rồi yêu cầu nó tìm ra:

codex exec "Read calc.py and tell me in one sentence whether it has a bug."

Agent phải tự gọi công cụ đọc tệp, mở tệp và trả lời đúng trọng tâm — kèm số dòng. Nếu điều đó xảy ra, vòng lặp agent đầy đủ (yêu cầu → gọi công cụ → kết quả → phản hồi) đã đi qua gateway một cách chính xác.

Nếu có sự cố, thường chỉ cần đọc thông báo là đoán được nguyên nhân:

Hiện tượngÝ nghĩaCần làm gì
401 Unauthorized: Invalid API keyCodex không tìm thấy khóa hoặc dùng nhầm khóaKiểm tra rằng biến trong env_key thực sự được export trong shell hiện tại và tên biến khớp với cấu hình
404 tại /responsesbase_url bị thiếu hậu tốĐịa chỉ phải kết thúc bằng /v1 — Codex sẽ tự thêm /responses
Model trả lời nhưng không gọi công cụChưa khai báo wire_api, hội thoại chạy theo giao thức cũThêm wire_api = \"responses\" vào khối provider
Reconnecting… 1/5Codex tự thử lại yêu cầuĐây là hành vi bình thường khi gặp lỗi mạng tạm thời; nếu các lần thử lại đã hết, hãy xem nội dung lỗi bên dưới
Cảnh báo về bubblewrapHệ thống chưa có gói cách lyKhông ảnh hưởng đến hoạt động: Codex sẽ dùng bản sao tích hợp sẵn. Để gọn gàng hơn, cài bubblewrap bằng trình quản lý gói

Yêu cầu đầu tiên trong phiên có thể mất vài giây: Codex gửi một system prompt lớn cùng mô tả toàn bộ công cụ của nó, và node mạng cần nhận tác vụ. Các phản hồi tiếp theo sẽ đến nhanh hơn.

Chọn mô hình nào

Tất cả các mô hình mạng lưới đều có cùng mức giá, vì vậy lựa chọn là về hành vi, không phải ngân sách. Dưới đây là kết quả của một lần chạy trực tiếp cùng một tác vụ (đọc tệp và tìm lỗi trong đó) qua Codex trên DeepSeek V4 Flash và MiniMax M2.7; GLM-5.3 Flash đã tham gia mạng lưới sau lần chạy thử nghiệm — các đặc tính của mô hình này đã được liệt kê.

Mô hìnhĐịnh danhNgữ cảnhHành vi trong Codex
DeepSeek V4 Flashdeepseek-ai/DeepSeek-V4-Flash-0731380KCâu trả lời rõ ràng và đi thẳng vào vấn đề, có chỉ định tệp và dòng. Một trong những ngữ cảnh dài nhất trong mạng lưới và trần phản hồi 32768 tokens — dư dả cho các kho mã nguồn lớn
MiniMax M2.7MiniMaxAI/MiniMax-M2.7200KGiải quyết tác vụ chính xác, nhưng đôi khi hiển thị quá trình suy luận — trong terminal điều này trông khá dài dòng
GLM-5.3 Flashzai-org/GLM-5.3-Flash390KMô hình reasoning với ngữ cảnh dài nhất mạng lưới: suy luận trước mỗi câu trả lời, vì vậy câu trả lời dài hơn và đến chậm hơn. Gọi công cụ, bao gồm cả các vòng lặp lại; đối với tác vụ ngắn, hãy đặt reasoning_effort: low

Khuyến nghị mặc định là DeepSeek V4 Flash: công việc đại lý nhanh chóng bị giới hạn bởi dung lượng ngữ cảnh, và 380K tokens cho phép giữ nhiều tệp trong bộ nhớ cùng lúc. Nếu tác vụ đòi hỏi phải suy nghĩ về logic phức tạp — hãy chọn GLM-5.3 Flash, nhưng hãy dự phòng max_tokens: một phần ngân sách câu trả lời được dùng cho suy luận. Mô hình được thay đổi chỉ bằng một dòng model trong config hoặc flag -c model=… mà không cần chỉnh sửa tệp.

Danh sách các mô hình hiện tại của mạng lưới luôn có sẵn tại GET https://gate.joingonka.ai/v1/models.

Chi phí bao nhiêu

Các công cụ tác nhân tiêu tốn token khác với chat thông thường: với mỗi câu của bạn, Codex thêm system prompt và mô tả tất cả công cụ, sau đó thực hiện đối thoại đa bước với mô hình. Trong lần chạy thực tế, một tác vụ đơn giản "đọc tệp và tìm lỗi" tiêu tốn khoảng 18-20 nghìn token. Đây là cái giá hợp lý cho quyền tự chủ, và đó là lý do tại sao giá mỗi token lại quan trọng.

Thông qua JoinGonka Gateway, token có giá $0.0069 mỗi triệu input và $0.021 mỗi triệu output — giá giống nhau cho tất cả mô hình mạng và được lấy từ nguồn trực tiếp trên trang này.

Kịch bảnMức tiêu thụQua Gateway
Tác vụ đơn lẻ (đọc tệp, tìm lỗi)~20K tokenvài xu
Ngày làm việc tích cực3-7M tokenkhoảng một xu
Tháng phát triển tích cực~150M tokenvài xu

Để so sánh — cách thức tính phí của bản thân Codex và các đối thủ trong cùng phân khúc:

Phương phápMô hình thanh toánGiới hạn
Gói ChatGPTsố tiền cố định mỗi thánghạn ngạch số lượt truy cập và cửa sổ cập nhật
Khóa OpenAI trực tiếptheo token theo giá nhà cung cấpgiá mỗi triệu token cao hơn gấp ba bậc
JoinGonka Gatewaytheo token, số dưchi phí hiển thị rõ trong bảng điều khiển, không hạn ngạch số yêu cầu

Thanh toán dựa trên mức tiêu thụ thực tế, không có phí thuê bao hàng tháng và không có hạn ngạch: không có cửa sổ 5 giờ, không giới hạn "prompt" và không nhân hệ số trong giờ cao điểm. Số dư được nạp bằng tiền điện tử, số dư còn lại và chi tiêu hàng ngày được hiển thị trong tài khoản cá nhân. Phân tích kinh tế chi tiết có trong bài viết về API AI rẻ nhất.

Những điều cần lưu ý khi làm việc

Lịch sử hội thoại được lưu giữ bởi chính Codex. Nó gửi toàn bộ lịch sử với mỗi yêu cầu và không yêu cầu máy chủ ghi nhớ bất kỳ điều gì — và chúng tôi cũng không lưu trữ các cuộc hội thoại. Mã nguồn và các prompt của bạn không còn nằm trên gateway sau khi có phản hồi.

Tìm kiếm web hoạt động tốt. Codex khai báo công cụ tìm kiếm trong mỗi yêu cầu và gateway chấp nhận nó: việc tìm kiếm được thực hiện ở phía chúng tôi, kết quả được trộn vào phản hồi của mô hình.

Các công cụ là cục bộ, không phải trên đám mây. Codex thực thi các lệnh và đọc tệp cục bộ, ngay trên máy của bạn, vì vậy quyền truy cập vào dự án không phụ thuộc vào nhà cung cấp mô hình.

Sandbox. Trên Linux, Codex sử dụng bubblewrap để cách ly các lệnh đang chạy. Nếu hệ thống không có, Codex sẽ cảnh báo và sử dụng bản sao tích hợp sẵn — điều này không ảnh hưởng đến công việc, nhưng việc cài đặt gói qua trình quản lý hệ thống sẽ thuận tiện hơn.

Nếu bạn cần làm việc với hình ảnh — như ảnh chụp màn hình giao diện, sơ đồ trên ảnh — hãy sử dụng công cụ với mô hình có khả năng thị giác cho các tác vụ đó: các mô hình trong mạng lưới Gonka là mô hình văn bản. Đối với mã, lệnh và tệp, đây không phải là hạn chế.

Nếu Codex không phù hợp, hãy thử các agent terminal khác: hướng dẫn API nhanh cho thấy cách kết nối bất kỳ công cụ tương thích nào chỉ trong vài phút.

Codex CLI là trình đại lý phổ biến duy nhất giao tiếp qua Responses API, và đó chính là lý do tại sao nó gắn liền với đăng ký OpenAI trong thời gian dài. Việc thay thế nhà cung cấp chỉ mất năm dòng trong config.toml: địa chỉ cổng, tên biến chứa key và wire_api = "responses". Sau đó, các lượt chạy tự động trên mã của bạn được tính toán bởi mạng lưới Gonka với giá theo token thực tế, không có hạn ngạch và không có cửa sổ năm giờ. Lượt chạy trực tiếp đã xác nhận chu kỳ đại lý hoàn chỉnh trên cả ba mô hình của mạng lưới; theo mặc định, bạn nên chọn DeepSeek V4 Flash — một trong những ngữ cảnh dài nhất mạng lưới và trần phản hồi lớn nhất.

Muốn tìm hiểu thêm?

Khám phá các phần khác hoặc bắt đầu kiếm GNK ngay bây giờ.

Nhận khóa và token miễn phí →