Kết nối các mô hình bên ngoài với Codex là một quy trình phức tạp. Hướng dẫn này dùng Kimi API làm ví dụ thực hành để đưa bạn qua toàn bộ quá trình cấu hình Codex API trên macOS và Windows.
Codex là gì?
Codex là agent lập trình của OpenAI dùng cho công việc trên repository và terminal. Nó có thể:
Viết code: Tạo các hàm, bài kiểm thử, script và các tính năng cụ thể.
Hiểu các codebase xa lạ: Tìm kiếm tệp, theo dõi lệnh gọi và giải thích các thành phần.
Xem xét code: Xác định các lỗi có khả năng xảy ra, giả định rủi ro, thiếu bài kiểm thử và các vấn đề bảo mật.
Gỡ lỗi và sửa vấn đề: Tái hiện lỗi, đề xuất thay đổi và chạy kiểm tra.
Tự động hóa công việc thường ngày: Cập nhật tệp và thực thi các quy trình đã được ghi lại khi có sự chấp thuận của bạn.
Cài đặt và đăng nhập Codex
Phần 1: Cài đặt Codex CLI
Mở Terminal trên macOS hoặc PowerShell trên Windows.
Chạy lệnh tương ứng với hệ điều hành của bạn:
macOS:
curl -fsSL https://chatgpt.com/codex/install.sh | shWindows:
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"Chờ quá trình cài đặt hoàn tất, sau đó đóng và mở lại Terminal hoặc PowerShell.
Chạy:
codexChọn Sign in with ChatGPT, hoàn tất đăng nhập trên trình duyệt, rồi quay lại Terminal hoặc PowerShell.
Phần 2: Cài đặt ứng dụng desktop Codex
Truy cập trang chính thức của ứng dụng desktop Codex.
Tải ứng dụng desktop ChatGPT cho macOS hoặc Windows.
Cài đặt và mở ứng dụng, sau đó đăng nhập bằng tài khoản ChatGPT của bạn.
Tạo một tác vụ hoặc mở một dự án, rồi chọn Codex làm chế độ làm việc.
Nhập
Say hello in one sentence.và gửi tin nhắn.
Mô hình AI tích hợp sẵn so với API LLM bên ngoài
Sau khi cài đặt Codex, bạn có thể sử dụng các mô hình AI tích hợp sẵn của nó hoặc kết nối với một API LLM bên ngoài tương thích. Lựa chọn phù hợp nhất tùy thuộc vào mức độ thiết lập, tính linh hoạt và việc quản lý tài khoản mà bạn mong muốn.
Sử dụng các mô hình tích hợp sẵn của Codex
Các mô hình tích hợp sẵn mang lại trải nghiệm đơn giản nhất. Bạn có thể chọn một mô hình khả dụng và bắt đầu lập trình ngay mà không cần chạy dịch vụ khác hay cấu hình khóa API riêng.
Ưu điểm:
Thiết lập nhanh chóng, không cần thêm bước cấu hình.
Tích hợp trực tiếp với các công cụ và tính năng của Codex
Ít dịch vụ và thông tin xác thực phải quản lý hơn
Hạn chế:
Bạn chỉ có thể chọn trong số các mô hình khả dụng với tài khoản của mình
Kém linh hoạt hơn nếu bạn muốn dùng mô hình từ nhà cung cấp khác
Yêu cầu đăng ký gói GPT, và chi phí sử dụng tương đối cao.
Sử dụng API LLM bên ngoài
API bên ngoài mang đến nhiều lựa chọn mô hình hơn và cho phép bạn dùng tài khoản sẵn có với một nhà cung cấp khác. Tuy nhiên, một số mô hình cần thêm cấu hình hoặc một công cụ tương thích cục bộ trước khi Codex có thể sử dụng chúng.
Ưu điểm:
Truy cập được các mô hình từ nhà cung cấp khác
Linh hoạt hơn cho các tác vụ lập trình khác nhau
Kiểm soát riêng tài khoản và mức sử dụng API bên ngoài
Không cần đăng ký gói GPT. Phù hợp với các trường hợp cần tiết kiệm chi phí.
Hạn chế:
Cần có khóa API và cấu hình thêm
Có thể cần một bộ định tuyến cục bộ luôn phải chạy
Việc thanh toán, khả năng tương thích, quyền riêng tư và xử lý sự cố phụ thuộc vào nhà cung cấp bên ngoài
Nếu muốn thiết lập nhanh nhất, hãy bắt đầu với một mô hình tích hợp sẵn. Nếu bạn đã có tài khoản API bên ngoài hoặc muốn nhiều lựa chọn mô hình hơn, hãy tiếp tục với hướng dẫn dưới đây. Hướng dẫn này dùng Kimi API làm ví dụ thực tế về việc kết nối một mô hình bên ngoài với Codex.
Cách kết nối một API LLM bên ngoài với Codex: Ví dụ với Kimi
Thiết lập trên macOS
Bước 1: Mở Terminal A và kiểm tra Node.js cùng npm
Ở đâu: Nhấn Command+Space, gõ Terminal, rồi nhấn Enter. Xem cửa sổ đầu tiên này là Terminal A.
Chạy:
node --version
npm --versionKết quả mong đợi: Mỗi lệnh sẽ in ra một phiên bản. Các kết quả như v22.x.x cho Node.js và 10.x.x cho npm chỉ là ví dụ, không phải yêu cầu tối thiểu.
Nếu không tìm thấy lệnh: Mở trình duyệt, truy cập https://nodejs.org/en/download, tải bản .pkg LTS cho macOS, mở thư mục Downloads trong Finder, nhấp đúp vào gói cài đặt, rồi chấp nhận các tùy chọn mặc định của trình cài đặt. Đóng Terminal bằng Command+Q, mở lại Terminal A, và chạy lại cả hai lệnh kiểm tra phiên bản. Đừng tiếp tục cho đến khi cả hai lệnh đều trả về phiên bản.
Bước 2: Tạo khóa API Kimi
Mở nền tảng Kimi API. Tạo một khóa API từ bảng điều khiển, sau đó lưu vào trình quản lý mật khẩu hoặc trình quản lý bí mật. Nếu bảng điều khiển chỉ hiển thị khóa đầy đủ một lần, hãy sao chép nó trước khi rời khỏi trang.
Bước 3: Thiết lập MOONSHOT_API_KEY trong Terminal A
Ở đâu: Quay lại Terminal A.
Chạy:
export MOONSHOT_API_KEY="YOUR_KIMI_API_KEY"Chỉ thay YOUR_KIMI_API_KEY bằng khóa Kimi thật. Giữ nguyên dấu ngoặc kép và tên biến MOONSHOT_API_KEY.
Kết quả mong đợi: Lệnh export không in ra gì. Hãy kiểm tra xem giá trị có tồn tại hay không mà không hiển thị nó:
test -n "$MOONSHOT_API_KEY" && echo "Kimi key is set"Terminal sẽ in ra Kimi key is set.
Bước 4: Kiểm tra Kimi trực tiếp từ Terminal A
Ở đâu: Tiếp tục sử dụng Terminal A, nơi đã thiết lập MOONSHOT_API_KEY.
Chạy:
curl --silent --show-error https://api.moonshot.ai/v1/chat/completions \
-H "Authorization: Bearer $MOONSHOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"kimi-k2.7-code","messages":[{"role":"user","content":"Say hello in one sentence."}],"stream":false}'Kết quả mong đợi: Xuất hiện một phản hồi JSON chứa văn bản được sinh ra trong choices[0].message.content.
Bước 5: Mở Terminal B và khởi động router trong Terminal A
Ở đâu: Với Terminal A đang hoạt động, nhấn Command+N để mở một cửa sổ thứ hai. Gọi cửa sổ mới này là Terminal B. Quay lại Terminal A trước khi chạy lệnh router.
Chạy trong Terminal A:
npx @codeproxy/cli --base-url https://api.moonshot.ai/v1 --model kimi-k2.7-code --apikey "$MOONSHOT_API_KEY"Không thay đổi URL gốc hoặc mô hình. $MOONSHOT_API_KEY phải giữ nguyên là tham chiếu biến, không phải một bản sao thứ hai của khóa được dán trực tiếp.
Lời nhắc có thể xuất hiện ở lần chạy đầu: npx có thể hiển thị Need to install ... Ok to proceed? (y). Hãy xem xét tên gói và nguồn bên thứ ba được liên kết trước. Chỉ gõ y và nhấn Enter nếu bạn chấp nhận gói đó. Tài liệu này không khẳng định đã kiểm thử với một phiên bản gói cụ thể nào.
Kết quả mong đợi: Tiến trình vẫn tiếp tục chạy và báo rằng nó đang lắng nghe tại 127.0.0.1:8787. Để Terminal A mở.
Nếu thất bại: Nếu npm không thể tải gói, hãy kiểm tra kết nối internet và chạy lại node --version và npm --version. Nếu cổng 8787 đã được sử dụng, hãy dừng tiến trình cục bộ khác đang dùng cổng đó hoặc quay lại terminal của nó và nhấn Ctrl+C, sau đó chạy lại lệnh router.
Bước 6: Kiểm tra localhost từ Terminal B
Ở đâu: Nhấp vào Terminal B.
Chạy:
curl --no-buffer --show-error http://127.0.0.1:8787/v1/responses \
-H "Content-Type: application/json" \
-d '{"model":"kimi-k2.7-code","input":"Say hello in one sentence.","stream":true}'Kết quả mong đợi: Terminal B hiển thị các sự kiện streaming kiểu Responses hoặc đầu ra chứa một câu chào ngắn. Trình tự sự kiện chính xác có thể khác nhau tùy phiên bản router.
Nếu bạn thấy Connection refused: Hãy kiểm tra Terminal A. Nếu router đã dừng, chạy lại lệnh ở Bước 5 và giữ nó mở. Nếu Terminal A hiển thị lỗi 401 từ upstream, đặt lại MOONSHOT_API_KEY ở đó rồi khởi động lại router.
Bước 7: Tạo và chỉnh sửa cấu hình Codex trên macOS
Nơi thực hiện: Tiếp tục dùng Terminal B.
Chạy:
mkdir -p "$HOME/.codex"
if [ -f "$HOME/.codex/config.toml" ]; then cp "$HOME/.codex/config.toml" "$HOME/.codex/config.toml.backup-$(date +%Y%m%d-%H%M%S)"; fi
touch "$HOME/.codex/config.toml"
open -e "$HOME/.codex/config.toml"Các lệnh này sẽ tạo tệp cấu hình cấp người dùng nếu cần, sao lưu tệp hiện có, và mở ~/.codex/config.toml bằng TextEdit.
Nếu tệp trống
Dán toàn bộ cấu hình sau vào:
model = "kimi-k2.7-code"
model_provider = "kimi-proxy"
model_context_window = 256000
model_supports_reasoning_summaries = false
[model_providers.kimi-proxy]
name = "Kimi via local proxy"
base_url = "http://127.0.0.1:8787/v1"
wire_api = "responses"
stream_idle_timeout_ms = 600000Nếu tệp đã có sẵn cấu hình
Không dán đè toàn bộ cấu hình lên tệp hiện có. Giữ nguyên các cài đặt không liên quan và chỉ cập nhật riêng từng dòng cần thiết.
Tìm dòng bắt đầu bằng
model =và thay toàn bộ dòng đó bằng:
model = "kimi-k2.7-code"Tìm dòng bắt đầu bằng
model_provider =và thay toàn bộ dòng đó bằng:
model_provider = "kimi-proxy"Tìm dòng bắt đầu bằng
model_context_window =và thay toàn bộ dòng đó bằng:
model_context_window = 256000Tìm dòng bắt đầu bằng
model_supports_reasoning_summaries =và thay toàn bộ dòng đó bằng:
model_supports_reasoning_summaries = falseNếu bất kỳ cài đặt nào trong 4 cài đặt trên chưa tồn tại, hãy thêm dòng còn thiếu gần đầu tệp.
Tìm và xóa toàn bộ dòng bắt đầu bằng:
model_catalog_json =Đồng thời tìm và xóa toàn bộ dòng bắt đầu bằng:
service_tier =Thêm phần dưới đây:
[model_providers.kimi-proxy]
name = "Kimi via local proxy"
base_url = "http://127.0.0.1:8787/v1"
wire_api = "responses"
stream_idle_timeout_ms = 600000Không xóa các phần provider khác, chẳng hạn [model_providers.openai].
Giữ nguyên các cài đặt hiện có không liên quan, bao gồm notify, tùy chọn phê duyệt, sandbox, dự án và giao diện. Không sao chép dòng notify của người dùng khác vì nó có thể chứa đường dẫn tuyệt đối đặc thù cho máy tính đó.
Nhấn Command+S để lưu tệp, sau đó đóng TextEdit.
Bước 8: Khởi động lại Codex và chạy bài kiểm tra hoàn chỉnh trên macOS
Nơi thực hiện: Giữ router đang chạy ở Terminal A. Ở Terminal B, đóng phiên Codex hiện có bằng Ctrl+C, sau đó chuẩn bị một thư mục dùng để bỏ đi sau khi test.
Chạy trong Terminal B:
mkdir -p "$HOME/codex-kimi-test"
cd "$HOME/codex-kimi-test"
codexKiểm tra: Gõ hello. rồi nhấn Enter. Một câu trả lời ngắn gọn xác nhận đường xử lý yêu cầu cơ bản đã hoạt động.
Thiết lập trên Windows
Sử dụng hai cửa sổ PowerShell độc lập. PowerShell A lưu khóa Kimi cho phiên hiện tại và chạy router. PowerShell B kiểm tra localhost, chỉnh sửa cấu hình và khởi động Codex. Biến User lâu dài hỗ trợ các cửa sổ mở sau này; việc gán cho phiên hiện tại giúp khóa được sử dụng ngay lập tức trong PowerShell A.
Bước 1: Mở PowerShell A và kiểm tra Node.js cùng npm
Vị trí: Nhấn phím Windows, gõ PowerShell, rồi mở Windows PowerShell. Gọi cửa sổ này là PowerShell A.
Chạy lệnh:
node --version
npm --versionKết quả mong đợi: Cả hai lệnh đều in ra phiên bản. Các giá trị như v22.x.x và 10.x.x chỉ là ví dụ, không phải yêu cầu phiên bản tối thiểu.
Nếu lệnh không được nhận diện: Mở trình duyệt và truy cập https://nodejs.org/en/download. Tải file .msi bản LTS cho Windows, mở thư mục Downloads trong File Explorer, nhấp đúp vào trình cài đặt, chấp nhận các thiết lập mặc định và đảm bảo trình cài đặt vẫn giữ tùy chọn thêm Node.js vào PATH. Đóng tất cả các cửa sổ PowerShell, mở lại PowerShell A, rồi chạy lại cả hai lệnh.
Bước 2: Tạo khóa API Kimi
Mở nền tảng Kimi API. Tạo một khóa API từ bảng điều khiển, sau đó lưu vào trình quản lý mật khẩu hoặc trình quản lý bí mật. Nếu bảng điều khiển chỉ hiển thị khóa đầy đủ một lần duy nhất, hãy sao chép nó trước khi rời khỏi trang.
Bước 3: Thiết lập biến môi trường lâu dài và biến của phiên hiện tại trong PowerShell A
Vị trí: Quay lại PowerShell A.
Chạy lệnh:
[Environment]::SetEnvironmentVariable("MOONSHOT_API_KEY", "YOUR_KIMI_API_KEY", "User")
$env:MOONSHOT_API_KEY = "YOUR_KIMI_API_KEY"Chỉ thay YOUR_KIMI_API_KEY ở cả hai dòng bằng cùng một khóa Kimi. Giữ nguyên MOONSHOT_API_KEY, User, dấu ngoặc kép và dấu câu. Dòng đầu tiên lưu giá trị này cho các tiến trình sau này. Dòng thứ hai giúp giá trị đó có hiệu lực ngay trong PowerShell A.
Kết quả mong đợi: Cả hai lệnh đều không trả về kết quả nào. Kiểm tra xem giá trị đã tồn tại chưa mà không in ra khóa:
$null -ne $env:MOONSHOT_API_KEYPowerShell sẽ in ra True.
Nếu in ra False: Chạy lại lệnh gán cho phiên hiện tại với dấu ngoặc kép thẳng. Nếu việc ghi vào biến User bị chính sách chặn, hãy tiếp tục hướng dẫn này với giá trị của phiên hiện tại và hỏi quản trị viên của bạn về cách lưu trữ biến môi trường người dùng đúng quy định. Thu hồi mọi khóa đã bị lộ trong log hoặc văn bản được chia sẻ.
Bước 4: Kiểm tra Kimi trực tiếp từ PowerShell A
Tài liệu tham khảo API có thể hiển thị POST URL, nhưng đừng bao giờ gõ riêng POST https://... vào PowerShell. Hãy dùng Invoke-RestMethod -Method Post như được thể hiện ở đây.
Vị trí: Ở lại PowerShell A, nơi $env:MOONSHOT_API_KEY đã được thiết lập.
Chạy lệnh:
$headers = @{ Authorization = "Bearer $env:MOONSHOT_API_KEY" }
$body = @{ model = "kimi-k2.7-code"; messages = @(@{ role = "user"; content = "Say hello in one sentence." }); stream = $false } | ConvertTo-Json -Depth 5
$response = Invoke-RestMethod -Method Post -Uri "https://api.moonshot.ai/v1/chat/completions" -Headers $headers -ContentType "application/json" -Body $body
$response.choices[0].message.contentKhông được thay đổi endpoint, model hay tên biến. PowerShell sẽ đọc khóa từ $env:MOONSHOT_API_KEY.
Kết quả mong đợi: Dòng cuối cùng in ra một câu chào từ choices[0].message.content.
Nếu bạn nhận được 401: Xác nhận khóa được lấy từ bảng điều khiển .ai toàn cầu, thu hồi và tạo lại nếu cần, chạy lại cả hai lệnh gán ở Bước 3, rồi thử lại. Nếu model bị từ chối, xác nhận ID chính xác là kimi-k2.7-code và kiểm tra quyền truy cập model trong bảng điều khiển Kimi.
Bước 5: Mở PowerShell B và khởi động router trong PowerShell A
Vị trí: Nhấn phím Windows một lần nữa, gõ PowerShell, rồi mở cửa sổ Windows PowerShell thứ hai. Gọi cửa sổ này là PowerShell B. Quay lại PowerShell A để chạy lệnh router.
Chạy trong PowerShell A:
npx @codeproxy/cli --base-url https://api.moonshot.ai/v1 --model kimi-k2.7-code --apikey $env:MOONSHOT_API_KEYGiữ nguyên $env:MOONSHOT_API_KEY; đừng dán trực tiếp khóa vào lệnh.
Có thể xuất hiện thông báo ở lần chạy đầu tiên: npx có thể hiển thị Need to install ... Ok to proceed? (y). Xem xét gói và nguồn của bên thứ ba. Chỉ gõ y rồi nhấn Enter nếu bạn chấp nhận. Không có khẳng định về phiên bản gói cụ thể nào đã được kiểm chứng.
Kết quả mong đợi: Tiến trình vẫn ở trạng thái mở và báo rằng nó đang lắng nghe tại 127.0.0.1:8787. Giữ PowerShell A luôn mở.
Nếu thất bại: Chạy node --version và npm --version trong PowerShell A. Nếu một trong hai lệnh lỗi, lặp lại Bước 1. Nếu cổng 8787 đang bị chiếm dụng, dừng router khác bằng Ctrl+C trong cửa sổ của nó, rồi chạy lại lệnh.
Bước 6: Kiểm tra localhost từ PowerShell B
Vị trí: Nhấp vào PowerShell B. Không dừng router trong PowerShell A.
Chạy:
$localBody = @{ model = "kimi-k2.7-code"; input = "Say hello in one sentence."; stream = $false } | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri "http://127.0.0.1:8787/v1/responses" -ContentType "application/json" -Body $localBodyKhông thay đổi URL localhost. Nó trỏ đến router trong PowerShell A.
Kết quả mong đợi: PowerShell trả về một đối tượng dạng Responses hoặc đầu ra chứa lời chào. Các trường chính xác có thể khác nhau tùy theo phiên bản router.
Nếu kết nối bị từ chối: Xem lại PowerShell A và khởi động lại lệnh ở Bước 5 nếu router đã thoát. Nếu PowerShell A hiển thị lỗi xác thực upstream, nhấn Ctrl+C, đặt lại $env:MOONSHOT_API_KEY, rồi khởi động lại router. Không thêm tiêu đề authorization cục bộ cho quick start mặc định của @codeproxy/cli.
Bước 7: Tạo và chỉnh sửa cấu hình Codex trên Windows
Vị trí: Tiếp tục dùng PowerShell B. Cấu hình nhà cung cấp phải nằm ở $HOME\.codex\config.toml, không phải trong thư mục dự án.
Chạy:
New-Item -ItemType Directory -Force -Path "$HOME\.codex" | Out-Null
$configPath = "$HOME\.codex\config.toml"
if (Test-Path $configPath) { Copy-Item $configPath "$configPath.backup-$(Get-Date -Format 'yyyyMMdd-HHmmss')" }
if (-not (Test-Path $configPath)) { New-Item -ItemType File -Path $configPath | Out-Null }
notepad "$HOME\.codex\config.toml"Các lệnh này tạo thư mục người dùng, sao lưu cấu hình hiện có, tạo tệp nếu chưa có, và mở tệp bằng Notepad.
Trong Notepad: Dán toàn bộ cấu hình mặc định sau, xóa các khóa model hoặc provider trùng lặp nếu tệp đã chứa chúng:
model_provider = "kimi-proxy"
model = "kimi-k2.7-code"
model_context_window = 256000
model_supports_reasoning_summaries = false
[model_providers.kimi-proxy]
name = "Kimi via local proxy"
base_url = "http://127.0.0.1:8787/v1"
wire_api = "responses"
stream_idle_timeout_ms = 600000Không thay đổi kimi-proxy, URL localhost, hoặc responses. Nhấn Ctrl+S rồi đóng Notepad.
Xác nhận tên tệp: Chạy:
Get-Item "$HOME\.codex\config.toml" | Select-Object FullName, Name, LengthKết quả mong đợi: Name chính xác là config.toml, không phải config.toml.txt, và Length lớn hơn 0.
Nếu Notepad tự thêm .txt: Trong Notepad, chọn File → Save As, đặt Save as type thành All Files, nhập config.toml, và lưu trong $HOME\.codex. Chạy lại Get-Item. Nếu Codex bỏ qua nhà cung cấp, hãy kiểm tra lại xem bạn đã chỉnh sửa đúng đường dẫn cấp người dùng chưa và xóa các khóa TOML trùng lặp.
Bước 8: Khởi động lại Codex và chạy kiểm tra đầy đủ trên Windows
Vị trí: Giữ nguyên PowerShell A và router của nó đang chạy. Đóng hoàn toàn mọi ứng dụng hoặc phiên Codex. Đóng PowerShell B, mở lại bằng cách nhấn phím Windows → gõ PowerShell → mở Windows PowerShell, rồi tạo một thư mục tạm dùng một lần.
Chạy trong PowerShell B vừa mở lại:
New-Item -ItemType Directory -Force -Path "$HOME\codex-kimi-test" | Out-Null
Set-Location "$HOME\codex-kimi-test"
codexKiểm tra: Gõ hello. rồi nhấn Enter. Một câu trả lời ngắn gọn xác nhận đường dẫn yêu cầu cơ bản hoạt động.
Sử dụng Kimi trong ứng dụng desktop Codex
Trước khi tiếp tục, hãy hoàn tất Bước 1–7 của phần thiết lập trên macOS hoặc Windows cho router cục bộ và config.toml. Bạn không cần hoàn tất bài kiểm tra CLI trước, nhưng router phải luôn chạy khi bạn sử dụng Kimi trong ứng dụng desktop.
Bước 1: Giữ router cục bộ luôn chạy
Giữ Terminal A hoặc PowerShell A mở với @codeproxy/cli đang chạy trên:
http://127.0.0.1:8787Bước 2: Xác nhận cấu hình nhà cung cấp
Mở tệp cấu hình Codex ở cấp người dùng.
Trên macOS, chạy:
open -e "$HOME/.codex/config.toml"Trên Windows, chạy:
notepad "$HOME\.codex\config.toml"Xác nhận tệp chứa các thiết lập cấp cao nhất sau:
model = "kimi-k2.7-code"
model_provider = "kimi-proxy"
model_context_window = 256000
model_supports_reasoning_summaries = false
[model_providers.kimi-proxy]
name = "Kimi via local proxy"
base_url = "http://127.0.0.1:8787/v1"
wire_api = "responses"
stream_idle_timeout_ms = 600000Bước 3: Khởi động lại hoàn toàn ứng dụng desktop
Trên macOS, nhấn Command+Q để thoát hoàn toàn ứng dụng desktop. Chỉ đóng cửa sổ là chưa đủ.
Trên Windows, đóng mọi cửa sổ của ứng dụng desktop và xác nhận rằng ứng dụng không còn chạy trong khay hệ thống.
Mở lại ứng dụng desktop và mở một thư mục dự án.
Bước 4: Giữ nguyên mô hình Custom đang chọn
Bộ chọn mô hình trên ứng dụng desktop có thể hiển thị Custom thay vì Kimi K2.7 Code. Đây là điều bình thường.
Các nhà cung cấp tùy chỉnh được định nghĩa trong config.toml không phải lúc nào cũng hiển thị đúng tên trong danh sách mô hình trên desktop. Đừng chọn một mô hình OpenAI như GPT-5.6 Sol khi bạn muốn dùng nhà cung cấp Kimi. Hãy giữ nguyên lựa chọn Custom.
Bạn cũng có thể thấy cảnh báo sau:
Model metadata for `kimi-k2.7-code` not found.
Defaulting to fallback metadata.Đây chỉ là cảnh báo, không phải lỗi kết nối. Các cài đặt sau đã cung cấp đầy đủ thông tin mô hình quan trọng cần thiết để sử dụng bình thường:
model_context_window = 256000
model_supports_reasoning_summaries = falseBước 5: Xác minh đường dẫn request của ứng dụng desktop
Gửi prompt này trong ứng dụng desktop:
Theo dõi Terminal A hoặc PowerShell A trong lúc ứng dụng desktop phản hồi. Nếu cửa sổ Terminal A nhận được một request mới và ứng dụng desktop trả về câu trả lời, tức là ứng dụng desktop đang dùng tuyến Kimi cục bộ (local route).
Khắc phục các lỗi tích hợp thường gặp
zsh: command not found: POST
POST URL là ký hiệu trong tài liệu API, không phải một lệnh. Trên macOS, hãy sao chép toàn bộ ví dụ curl. Trên Windows, hãy sao chép toàn bộ ví dụ Invoke-RestMethod -Method Post.
Bị từ chối kết nối ở cổng 8787
Quay lại Terminal A hoặc PowerShell A. Nếu không có tiến trình router nào đang chạy, hãy đặt biến Kimi cho phiên hiện tại và chạy lại lệnh npx @codeproxy/cli ... như đã hướng dẫn trong tài liệu. Giữ cửa sổ đó mở, sau đó lặp lại bài kiểm tra localhost ở cửa sổ B.
Phản hồi 401
Đọc cửa sổ router để xác định bước nào bị lỗi. Lỗi 401 từ phía Kimi thượng nguồn thường có nghĩa là MOONSHOT_API_KEY không hợp lệ, đã bị thu hồi, hoặc thuộc tài khoản khu vực sai. Hãy thu hồi khóa này trong console .ai toàn cục, tạo khóa mới, đặt lại biến của phiên hiện tại, rồi khởi động lại router. Đường dẫn router mặc định không có cơ chế kiểm tra bearer token đầu vào. Một lỗi 401 cục bộ với adapter khác có thể do CODEX_KIMI_PROXY_KEY tùy chọn bị thiếu hoặc không hợp lệ.
Lỗi tham số hoặc công cụ không được hỗ trợ
Router có thể đang chuyển tiếp một trường mà Kimi không chấp nhận. Các trường sampling nên để trống; nếu có gửi đi, chúng phải dùng đúng các giá trị cố định được chấp nhận. Hãy xác nhận tool_choice là auto hoặc none và adapter có giữ lại reasoning_content. Nếu bài kiểm tra nhiều bước vẫn thất bại, ngừng dùng phiên bản router đó và chọn hoặc cập nhật một phiên bản có hỗ trợ Kimi rõ ràng.
Codex bỏ qua nhà cung cấp
Mở trực tiếp file người dùng: chạy open -e "$HOME/.codex/config.toml" trên macOS hoặc notepad "$HOME\.codex\config.toml" trên Windows. Xác nhận chỉ có một model_provider = "kimi-proxy" ở cấp cao nhất, một bảng provider, base URL localhost, và wire_api = "responses". Lưu lại, thoát hoàn toàn Codex, rồi mở lại. Đừng chỉ đặt lựa chọn provider trong file .codex/config.toml của dự án.
npx không khởi động được router
Chạy node --version và npm --version trong cửa sổ router A. Nếu một trong hai lệnh bị lỗi, hãy cài gói Node.js LTS từ nodejs.org/download, đóng và mở lại terminal, rồi thử lại. Nếu npx yêu cầu quyền tải gói, hãy kiểm tra gói và nguồn trước khi nhập y.
Lợi ích khi dùng Kimi API
Dùng Kimi trong các quy trình làm việc với Cursor API có thể cải thiện việc viết code, gỡ lỗi và các tác vụ phát triển phần mềm. Các khả năng nâng cao của Kimi giúp tạo ra phản hồi chính xác, xử lý các chỉ dẫn phức tạp, và hỗ trợ giải quyết vấn đề nhanh hơn. Dưới đây là những lợi ích chính khi dùng Kimi trong quy trình làm việc với Cursor để tăng năng suất và hiệu quả.
Hiểu code với ngữ cảnh dài
Kimi có thể xử lý cùng lúc một lượng lớn code và thông tin. Nó nhận diện mối quan hệ giữa các file và các phần khác nhau của dự án hiệu quả hơn. Nhờ đó, việc làm việc với các codebase lớn hoặc phức tạp trở nên dễ dàng hơn nhiều.
Phân tích tài liệu và repository tốt hơn
Tài liệu dự án, ghi chú kỹ thuật, và repository có thể được xem xét nhanh chóng với Kimi. Các chi tiết quan trọng dễ tìm hơn mà không cần rà soát thủ công từng file. Nhà phát triển có thể hiểu rõ hơn về toàn bộ dự án trong thời gian ngắn hơn.
Phát triển AI tiết kiệm chi phí
Kimi mang đến một lựa chọn thiết thực và tiết kiệm chi phí cho việc xử lý nhiều tác vụ phát triển phần mềm. Đội ngũ có thể tận dụng khả năng hỗ trợ AI mạnh mẽ mà không phải phụ thuộc hoàn toàn vào các mô hình chi phí cao hơn. Nhờ đó, năng suất tổng thể được cải thiện trong khi chi phí vẫn được kiểm soát tốt hơn.
Tra cứu thông tin nhanh hơn
Thông tin hữu ích có thể được tìm thấy nhanh chóng trong các codebase, tập dữ liệu và tệp dự án lớn. Ít thời gian hơn bị tiêu tốn để tìm kiếm tài liệu tham khảo hay câu trả lời. Nhiều sự chú ý hơn có thể dành cho việc viết code, kiểm thử và cải thiện dự án.
Tự động hóa quy trình làm việc tốt hơn
Các tác vụ phát triển lặp đi lặp lại trở nên dễ quản lý và hoàn thành hơn với Kimi. Kimi có thể hỗ trợ tạo code, rà soát nội dung và các hoạt động thường nhật của dự án. Quy trình làm việc hàng ngày luôn được tổ chức gọn gàng, hiệu quả và năng suất hơn theo thời gian.
Codex cải thiện quy trình phát triển như thế nào
Một quy trình Codex CLI API được cấu hình sẽ kết nối việc kiểm tra kho lưu trữ, chỉnh sửa, chạy lệnh và đánh giá trong cùng một ngữ cảnh. Codex có thể dựng khung file, giải thích các module xa lạ, tái hiện lỗi, đề xuất bài kiểm thử và chạy các kiểm tra đã được phê duyệt. Việc hỗ trợ nhà cung cấp bên ngoài mang lại thêm lựa chọn mô hình nhưng không loại bỏ trách nhiệm rà soát.
Hãy bắt đầu mỗi tác vụ với một mục tiêu cụ thể, hẹp. Yêu cầu Codex kiểm tra trước khi chỉnh sửa, rà soát các thay đổi được đề xuất, chỉ phê duyệt những lệnh bạn hiểu rõ, chạy các bài kiểm thử của kho lưu trữ, và kiểm tra bản diff cuối cùng. Hãy xem code được tạo ra là một đóng góp chưa được tin cậy cho đến khi nó vượt qua rà soát và xác minh.
Kết luận
Việc sử dụng Codex API đáng tin cậy đến từ việc kiểm tra từng lớp theo thứ tự: xác thực Codex, gọi trực tiếp Kimi, khởi động và kiểm tra localhost, lưu cấu hình nhà cung cấp ở cấp người dùng, chạy một prompt chỉ đọc, và hoàn thành một tác vụ liên quan đến file và công cụ. Hãy giữ khóa Kimi thật ở router, giữ các thông tin bí mật tránh xa các file dùng chung, và dừng router khi bạn hoàn tất.