Cắm DeepSeek V4-Pro vào Cursor với cài đặt mặc định tương thích OpenAI và lần gọi công cụ đầu tiên sẽ trả về lỗi 400. Lý do rất nhỏ nhưng khó giải quyết: V4-Pro là một mô hình tư duy trả về khối reasoning_content, Cursor loại bỏ trường đó khỏi các yêu cầu tiếp theo, và API của DeepSeek từ chối các tin nhắn gọi công cụ bỏ qua chuỗi lý luận. Một proxy mã nguồn mở tại yxlao/deepseek-cursor-proxy sẽ lưu trữ nội dung lý luận và tiêm lại vào các yêu cầu gửi đi. Sau khi proxy đang chạy, V4-Pro hoạt động như bất kỳ mô hình nào khác trong bảng điều khiển mô hình tùy chỉnh của Cursor, với các token tư duy được hiển thị dưới dạng markdown có thể thu gọn. Dưới đây là toàn bộ thiết lập, cách tính chi phí và danh sách khắc phục sự cố.
Tóm tắt
- Cursor kết hợp DeepSeek V4-Pro mặc định trả về lỗi 400, vì V4-Pro là một mô hình tư duy và Cursor loại bỏ
reasoning_contentkhỏi các tin nhắn gọi công cụ. deepseek-cursor-proxy(mã nguồn mở, Python) nằm giữa Cursor và DeepSeek, lưu trữreasoning_contentcủa mỗi cuộc trò chuyện và tiêm lại để các lệnh gọi công cụ không bị lỗi.- Thiết lập: cài đặt qua
uvhoặcpip, chạydeepseek-cursor-proxy, dán URL ngrok cùng với khóa API DeepSeek của bạn vào cài đặt mô hình tùy chỉnh của Cursor. - V4-Pro trong Cursor hiện có giá khoảng ~0,87 USD cho mỗi triệu token đầu ra, rẻ hơn khoảng 34 lần so với GPT-5.5 về đầu ra. Xem DeepSeek V4-Pro Giảm Giá 75% Vĩnh Viễn để biết toàn bộ ngữ cảnh về giá.
Tại sao bạn cần một proxy ngay từ đầu
V4-Pro trả về hai thứ trong mỗi phản hồi: một trường content thông thường và một trường reasoning_content chứa chuỗi suy nghĩ. Đối với cuộc trò chuyện thông thường, bạn có thể bỏ qua reasoning_content. Vấn đề bắt đầu với các lệnh gọi công cụ.
Hợp đồng API của DeepSeek dành cho các mô hình tư duy yêu cầu rằng khi bạn tiếp tục một cuộc trò chuyện có chứa khối reasoning_content, bạn phải bao gồm khối đó trong yêu cầu tiếp theo cùng với kết quả tool_calls. Chuỗi lý luận là một phần của trạng thái cuộc trò chuyện. Cursor không biết về yêu cầu này. Nó sử dụng một client chat kiểu OpenAI, và reasoning_content không phải là một phần của lược đồ OpenAI, vì vậy nó bỏ qua trường này. Lệnh gọi công cụ tiếp theo trả về HTTP 400 và một thông báo về việc thiếu reasoning_content.
Đây không hẳn là lỗi của Cursor. Đó là sự không khớp hợp đồng giữa hai nhà cung cấp chia sẻ hầu hết giao diện API của họ. Cho đến khi Cursor thêm hỗ trợ V4-Pro chính thức hoặc DeepSeek nới lỏng hợp đồng, giải pháp thay thế là một proxy ghi nhớ những gì Cursor đã quên.
Proxy làm gì, trong ba dòng
- Lắng nghe trên một cổng cục bộ (mặc định 9000) các yêu cầu chat gửi đi của Cursor.
- Lưu trữ
reasoning_contenttừ mỗi phản hồi của V4-Pro, được khóa bằng SHA-256 của tiền tố cuộc trò chuyện chuẩn hóa. - Trên mỗi yêu cầu mới, tìm kiếm
reasoning_contentđã lưu trữ cho tiền tố phù hợp và thêm nó vào tin nhắn trước khi chuyển tiếp đến DeepSeek.
Nó cũng hiển thị cổng cục bộ thông qua một đường hầm ngrok, vì cài đặt mô hình tùy chỉnh của Cursor yêu cầu HTTPS và sẽ không chấp nhận URL localhost.
Bộ nhớ đệm nằm trong ~/.deepseek-cursor-proxy/reasoning_content.sqlite3. Việc khóa bằng SHA-256 có nghĩa là hai cuộc trò chuyện song song không xung đột. Nội dung lý luận được lưu trữ chính xác như DeepSeek đã trả về, vì vậy bộ nhớ đệm lời nhắc của DeepSeek vẫn hoạt động, điều này quan trọng đối với chính sách giá vĩnh viễn mới.
Điều kiện tiên quyết
Bạn cần bốn điều sau trước khi bắt đầu:
- Cursor 2.0 trở lên. Giao diện người dùng mô hình tùy chỉnh giống nhau trong 3.x; cả hai đều hoạt động.
- Khóa API DeepSeek. Đăng ký tại platform.deepseek.com nếu bạn chưa có. Một số dư nhỏ là đủ; chi tiết giá được nêu dưới đây.
- Python 3.11 trở lên. Proxy là Python thuần túy.
uvđược khuyến nghị nhưng pip cũng hoạt động. - Tài khoản ngrok có mã xác thực. Gói miễn phí đủ cho các nhà phát triển độc lập. Tên miền tĩnh là tùy chọn nhưng giúp cuộc sống dễ dàng hơn nếu bạn thường xuyên khởi động lại proxy.
Nếu bạn chưa bao giờ cài đặt uv, hãy xem tài liệu cài đặt uv chính thức. Đối với ngrok, hướng dẫn khởi động nhanh ngrok sẽ hướng dẫn bạn qua bước mã xác thực.
Bước 1: Cài đặt proxy
Cách nhanh nhất là uv. Từ bất kỳ thư mục nào:
uv tool install deepseek-cursor-proxy
Nếu bạn thích pip, hãy sao chép kho lưu trữ và cài đặt nó dưới dạng một gói có thể chỉnh sửa:
git clone https://github.com/yxlao/deepseek-cursor-proxy.git
cd deepseek-cursor-proxy
pip install -e .
Cả hai cách đều đặt lệnh deepseek-cursor-proxy vào PATH của bạn. Xác minh bằng deepseek-cursor-proxy --help.
Bước 2: Cấu hình ngrok
Proxy cần một URL HTTPS công khai vì trường mô hình tùy chỉnh của Cursor sẽ không chấp nhận http://localhost. ngrok cung cấp đường hầm.
ngrok config add-authtoken YOUR_NGROK_AUTHTOKEN
Lấy mã xác thực của bạn từ bảng điều khiển ngrok sau khi đăng ký. Gói miễn phí cung cấp cho bạn một tên miền phụ ngẫu nhiên mỗi khi khởi động lại. Nếu đó là vấn đề, hãy yêu cầu một tên miền dành riêng trong bảng điều khiển và chuyển nó cho proxy bằng --ngrok-url https://your-reserved.ngrok-free.app.
Bước 3: Khởi động proxy
Các cài đặt mặc định phù hợp với hầu hết các thiết lập:
deepseek-cursor-proxy
Khi chạy lần đầu, proxy tạo ~/.deepseek-cursor-proxy/config.yaml, mở một đường hầm và in URL công khai. Đầu ra trông như thế này:
Starting deepseek-cursor-proxy
Tunnel: https://random-name.ngrok-free.app
Local: http://127.0.0.1:9000
Cache: /Users/you/.deepseek-cursor-proxy/reasoning_content.sqlite3
Các cờ hữu ích:
--port 9000: thay đổi cổng cục bộ nếu cổng 9000 đã được sử dụng.--verbose: in nội dung yêu cầu và phản hồi. Sử dụng cái này khi gỡ lỗi tích hợp Cursor.--no-ngrok: bỏ qua đường hầm. Hữu ích khi kiểm thử từ một công cụ chấp nhậnhttp://localhost.--no-display-reasoning: loại bỏ các khối suy nghĩ có thể thu gọn khỏi chế độ xem của Cursor. Quá trình suy luận vẫn diễn ra; chỉ có việc hiển thị bị ẩn.
Giữ cho proxy chạy trong một terminal riêng biệt, hoặc gói nó trong một công việc launchctl trên macOS. Cursor giao tiếp với nó trong mỗi yêu cầu.
Bước 4: Cấu hình Cursor
Mở cài đặt của Cursor, điều hướng đến Models, và thêm một mô hình tùy chỉnh. Các trường bạn cần:
- Tên mô hình:
deepseek-v4-pro. Proxy chuyển tiếp chuỗi này thẳng đến DeepSeek, vì vậy nó phải khớp với một định danh mô hình DeepSeek thực tế. Sử dụngdeepseek-v4-flashcho biến thể rẻ hơn. - URL cơ sở: URL ngrok mà proxy đã in, cộng thêm
/v1. Ví dụ:https://random-name.ngrok-free.app/v1. - Khóa API: khóa API DeepSeek của bạn (bắt đầu bằng
sk-). Proxy không có lớp xác thực riêng; nó chuyển tiếp khóa như hiện trạng.
Cursor chạy kiểm tra "Xác minh mô hình". Kiểm tra gửi một lần hoàn thành trò chuyện. Một dấu tích xanh có nghĩa là bạn đã hoàn tất. Lỗi kết nối thường chỉ ra URL ngrok: sao chép lại từ đầu ra của proxy và xác nhận nó kết thúc bằng /v1.
Bước 5: Chọn mô hình và thử một lệnh gọi công cụ
Mở bộ chọn mô hình trong bảng chat và chọn mô hình tùy chỉnh mới của bạn. Lời nhắc đầu tiên cần thử là một lời nhắc buộc sử dụng công cụ, vì các lệnh gọi công cụ là nơi xuất hiện các lỗi 400 ban đầu:
“Mở README trong repo này, liệt kê mọi khối mã, và cho tôi biết khối nào thiếu gợi ý ngôn ngữ.”
Cursor sẽ phát hành một lệnh gọi công cụ read_file. Nếu proxy đang làm việc của nó, chuỗi phản hồi sẽ trông như sau:
- Cursor gửi tin nhắn người dùng đến proxy.
- Proxy chuyển tiếp đến DeepSeek mà không có
reasoning_content(đây là lượt đầu tiên). - DeepSeek trả về văn bản cộng với một khối
reasoning_contentcộng với một yêu cầutool_calls. - Proxy lưu trữ
reasoning_contentđược khóa bằng hàm băm tiền tố cuộc trò chuyện. - Cursor chạy công cụ, sau đó gửi một yêu cầu tiếp theo với kết quả công cụ. Yêu cầu tiếp theo không có
reasoning_contentvì Cursor đã bỏ nó. - Proxy tìm kiếm
reasoning_contentđã lưu trữ bằng hàm băm tiền tố và tiêm lại trước khi chuyển tiếp. - DeepSeek chấp nhận yêu cầu, tiếp tục suy luận và trả về câu trả lời cuối cùng.
Chạy với --verbose và bạn sẽ thấy việc tiêm diễn ra trong nhật ký.
Chi phí thực tế trông như thế nào
V4-Pro trong Cursor trả theo giá API tiêu chuẩn của DeepSeek, không phải giá tín dụng gói của Cursor. Những mức giá đó là vĩnh viễn kể từ tháng 5 năm 2026:
| Loại token | Tỷ lệ mỗi 1 triệu token |
|---|---|
| Đầu vào (cache miss) | $0.435 |
| Đầu vào (cache hit) | $0.003625 |
| Đầu ra | $0.87 |
Một ngày sử dụng Cursor nhiều trông giống như khoảng 50 lượt chat cộng với 20 chuỗi gọi công cụ. Mỗi lượt trung bình khoảng 8.000 token nhắc nhở (ngữ cảnh tệp cộng với lời nhắc hệ thống cộng với lịch sử) và 1.500 token đầu ra. Đó là:
- 50 lượt × 8.000 đầu vào × 0,435 USD / 1.000.000 = 1,74 USD trường hợp xấu nhất
- Với lượt truy cập bộ nhớ đệm trên tiền tố hệ thống và ngữ cảnh 6.000 token ở mức 60%: khoảng 0,85 USD
- 50 × 1.500 × 0,87 USD / 1.000.000 = 0,065 USD đầu ra
Tổng cộng: khoảng 1 USD mỗi ngày sử dụng nhiều. So với việc chạy cùng một khối lượng công việc thông qua hạn ngạch GPT-5.5 đi kèm của Cursor Pro, điều này rẻ hơn một bậc trước khi việc giới hạn hạn ngạch bắt đầu. Chi tiết tính toán giảm giá đầy đủ có trong DeepSeek V4-Pro Giảm Giá 75% Vĩnh Viễn.
Để biết ngữ cảnh về phần còn lại của dòng sản phẩm DeepSeek, hãy xem DeepSeek V4 là gì và Cách sử dụng API DeepSeek V4.
Cảm nhận về V4-Pro bên trong Cursor
Ba điểm khác biệt so với mô hình Cursor mặc định của bạn.
1. Các token suy nghĩ có thể nhìn thấy. Theo mặc định, proxy hiển thị suy luận của DeepSeek dưới dạng một khối markdown có thể thu gọn phía trên mỗi phản hồi. Bảng chat của Cursor hiển thị nó dưới dạng một phần tử <details>. Hữu ích để gỡ lỗi lời nhắc; ồn ào cho công việc thường xuyên. Bật/tắt bằng --no-display-reasoning.
2. Độ trễ trong lệnh gọi công cụ đầu tiên cao hơn. V4-Pro là một mô hình tư duy, và chuỗi chạy trước bất kỳ lệnh gọi công cụ nào. Hãy đợi 2 đến 4 giây trước khi công cụ đầu tiên hoạt động, sau đó là thông lượng tiêu chuẩn cho các yêu cầu tiếp theo.
3. Các gợi ý "Apply" của Cursor trở nên tốt hơn trong các refactor phức tạp. Đây là tiêu đề chính. Chuỗi suy luận của V4-Pro bắt được các phụ thuộc đa tệp mà các mô hình hoàn thành đơn giản bỏ lỡ. Việc đổi tên, thay đổi chữ ký và các refactor dựa trên cấu hình mà trước đây cần ba vòng với GPT-5.5 thường hoàn thành trong một lần với V4-Pro.
Các hướng dẫn DeepSeek-với-Cursor khác tồn tại cho các mô hình tiền nhiệm. Xem Cách sử dụng DeepSeek R1 cục bộ với Cursor và DeepSeek V3 với Cursor: từng bước cho các mẫu cũ hơn. Proxy trong hướng dẫn này thay thế các thủ thuật tiêm lý luận thủ công được ghi lại trong các bài đăng đó.
Kiểm tra thiết lập DeepSeek của bạn với Apidog
Tích hợp Cursor chỉ chứng minh đường dẫn từ bên trong Cursor. Nếu bạn đang gửi V4-Pro đến các bề mặt khác (một bot CI, một tác nhân backend, một plugin IDE tùy chỉnh), bạn muốn có một bộ kiểm thử xác định chống lại cùng một điểm cuối mà proxy của bạn đang chuyển tiếp đến.

Đó là nơi Apidog phát huy tác dụng. Chỉ định một môi trường Apidog tại https://api.deepseek.com/v1, nhập khóa API của bạn và nhập lược đồ OpenAI Chat Completion. Bạn có thể:
- Ghi lại các phản hồi vàng từ V4-Pro và phát lại chúng trên mỗi lần thay đổi lời nhắc để phát hiện sự sai lệch.
- Xác thực hình dạng
tool_callsbằng các xác nhận JSON Schema để một chỉnh sửa lời nhắc hệ thống không tốt không làm hỏng tác nhân sản xuất của bạn một cách thầm lặng. - So sánh V4-Pro và GPT-5.5 cạnh nhau trên cùng một lô đầu vào bằng cách sử dụng các kịch bản kiểm thử của Apidog.
Tải xuống Apidog, nhập thông số kỹ thuật DeepSeek OpenAPI và bạn sẽ có một bàn kiểm thử V4-Pro hoạt động trong năm phút. Quy trình làm việc tương tự mà chúng tôi đã đi qua trong Cách sử dụng API DeepSeek V4.
Những lỗi thường gặp
Lỗi 400 sau lệnh gọi công cụ đầu tiên. Chế độ lỗi kinh điển mà proxy này được xây dựng để khắc phục. Nếu bạn vẫn thấy nó sau khi thiết lập, proxy không chạy hoặc Cursor đang trỏ đến sai URL cơ sở. Kiểm tra lại xem URL có kết thúc bằng /v1 không và nhật ký proxy có hiển thị các yêu cầu đến không.
Đường hầm ngrok liên tục kết nối lại. Đường hầm miễn phí sẽ xoay vòng khi khởi động lại. Nếu xác minh của Cursor thành công nhưng sau đó thất bại vài phút sau, đường hầm của bạn đã được thay đổi. Chuyển sang một tên miền dành riêng (một cú nhấp chuột trong bảng điều khiển ngrok) và chuyển nó bằng --ngrok-url.
Nội dung lý luận hiển thị trùng lặp. Điều này xảy ra khi hai phiên bản proxy chạy với cùng một đường dẫn bộ nhớ đệm SQLite. Dừng cả hai, xóa ~/.deepseek-cursor-proxy/reasoning_content.sqlite3 và khởi động một phiên bản.
Tỷ lệ truy cập bộ nhớ đệm thấp. Bộ nhớ đệm lời nhắc của DeepSeek yêu cầu các tiền tố giống hệt nhau theo byte. Cursor chèn dấu thời gian và ID phiên vào một số lời nhắc hệ thống, điều này làm hỏng các lượt truy cập bộ nhớ đệm. Khắc phục không nằm bên trong proxy; hãy chấp nhận chi phí hoặc sử dụng chế độ "không-lời-nhắc-hệ-thống" của Cursor cho các phiên V4-Pro.
Cursor báo cáo "không tìm thấy mô hình." Tên mô hình trong cài đặt của Cursor phải khớp với một mô hình DeepSeek thực. Các giá trị hợp lệ hiện nay là deepseek-v4-pro, deepseek-v4-flash, deepseek-v3-2-pro và deepseek-r1-1. Proxy không dịch tên; nó chuyển tiếp chúng.
Các lựa chọn thay thế nếu proxy không phù hợp với bạn
Proxy là cách sạch nhất hiện nay, nhưng có hai lựa chọn thay thế:
- V4-Flash không cần proxy. V4-Flash không phải là mô hình tư duy và không trả về
reasoning_content. Cursor giao tiếp trực tiếp với nó mà không cần giải pháp thay thế. Bạn từ bỏ khả năng tư duy theo chuỗi nhưng giữ cho việc tích hợp đơn giản. Giá là 0,14 USD / 0,28 USD mỗi triệu token. - Cline, Continue, hoặc các plugin IDE AI khác có hỗ trợ mô hình tư duy gốc. Các công cụ này xử lý
reasoning_contenttrên các tin nhắn gọi công cụ một cách tự nhiên. Nếu bạn không đặc biệt cam kết với Cursor, việc chuyển đổi trình chỉnh sửa đôi khi dễ dàng hơn là chạy proxy. Xem Trợ lý mã hóa mã nguồn mở tốt nhất năm 2026: các lựa chọn thay thế Cursor miễn phí để biết thêm về lĩnh vực này.
Các tích hợp mô hình Cursor khác được đề cập chi tiết: Claude Opus 4.6 với Cursor, Kimi K2.5 với Cursor và Gemini 3.0 Pro với Cursor.
Câu hỏi thường gặp
- Tại sao Cursor không hỗ trợ DeepSeek V4-Pro một cách tự nhiên? Client chat của Cursor tuân theo lược đồ OpenAI Chat Completions.
reasoning_contentkhông phải là một phần của lược đồ đó; nó là một phần mở rộng dành riêng cho DeepSeek xuất hiện với dòng R1 và vẫn còn trong V4-Pro. Cursor sẽ cần thêm xử lý dành riêng cho nhà cung cấp để chuyển trường này. Họ có thể làm vậy; cho đến lúc đó, proxy là giải pháp thay thế. - Proxy có hoạt động với DeepSeek R1 hoặc V3.2 không? Có. Bất kỳ mô hình tư duy DeepSeek nào trả về
reasoning_contentvà yêu cầu nó trong các lệnh gọi công cụ tiếp theo đều được hỗ trợ. Đặt tên mô hình trong cài đặt của Cursor thành định danh mô hình DeepSeek thực. - Proxy có an toàn để chạy liên tục không? Có, với một lưu ý: bộ nhớ đệm SQLite chứa nội dung lý luận thô từ các phiên của bạn. Nếu bạn thiết lập nhiều người dùng hoặc chia sẻ máy, hãy hạn chế quyền truy cập thư mục bộ nhớ đệm hoặc chạy với
--no-cache(chỉ trong bộ nhớ, điều này có nghĩa là các lệnh gọi công cụ sẽ thất bại sau khi proxy khởi động lại). - Tôi có thể sử dụng proxy mà không cần ngrok không? Có, với
--no-ngrok. Khi đó proxy chỉ hiển thịhttp://127.0.0.1:9000. Giao diện người dùng mô hình tùy chỉnh của Cursor từ chối các URLhttp://trong các bản phát hành tiêu chuẩn, nhưng một số bản dựng được tải bên ngoài và cấu hình được vá chấp nhận localhost. Hầu hết người dùng sẽ muốn ngrok hoặc một công cụ tương đương (Cloudflare Tunnel, Tailscale Funnel). - Cái này có hoạt động với Cursor Composer 2.5 không? Composer sử dụng cùng một quy trình định tuyến mô hình như bảng chat, vì vậy có. Lệnh gọi công cụ đầu tiên bên trong một tác nhân Composer sẽ kích hoạt cùng yêu cầu
reasoning_contentvà proxy sẽ khắc phục nó theo cùng một cách. - Độ trễ do proxy gây ra là bao nhiêu? Không đáng kể. Proxy thêm một bước nhảy mạng cục bộ, một lượt tra cứu SQLite và vài KB thao tác JSON cho mỗi yêu cầu. Độ trễ đo được là 5 đến 15 ms mỗi lần gọi. ngrok thêm 30 đến 80 ms tùy thuộc vào điểm gần nhất. Proxy không phải là nút thắt cổ chai.
- Proxy quyết định lưu trữ cái gì? Nó băm tiền tố cuộc trò chuyện (mọi thứ trước tin nhắn người dùng hoặc công cụ gần nhất), khóa SHA-256 của băm đó vào
reasoning_contenttừ phản hồi DeepSeek cuối cùng, và lưu trữ cả hai trong SQLite. Trong yêu cầu tiếp theo, nó tính toán băm của tiền tố mới và tìm kiếm mục phù hợp. Điều này là thận trọng. Các khớp tiền tố một phần không kích hoạt lượt truy cập bộ nhớ đệm, vì vậy hai cuộc trò chuyện gần như giống hệt nhau không làm ô nhiễm lẫn nhau. - Anthropic, OpenAI, hay Cursor có làm hỏng cái này không? Anthropic và OpenAI không liên quan. Cursor có thể thêm hỗ trợ mô hình tư duy gốc (trong trường hợp đó proxy trở nên không cần thiết) hoặc thay đổi định dạng yêu cầu theo cách làm hỏng proxy. Repo được duy trì; hãy theo dõi các vấn đề của nó để cập nhật tương thích.
Điều này có ý nghĩa gì đối với bạn
Khả năng mã hóa của V4-Pro nằm trong vài điểm chuẩn của GPT-5.5 (so sánh của DataCamp) với giá đầu ra chỉ bằng khoảng 1/34. Rào cản duy nhất cho người dùng Cursor là sự không khớp hợp đồng API về reasoning_content. Kho lưu trữ deepseek-cursor-proxy giải quyết vấn đề đó chỉ trong chưa đầy một trăm dòng mã có ý nghĩa và thiết lập trong năm phút.
Ba bước tiếp theo cụ thể:
- Cài đặt proxy và chạy kiểm tra song song với mô hình mặc định hiện tại của Cursor trên năm yêu cầu kéo thực tế từ kho lưu trữ của bạn.
- Kiểm tra lời nhắc hệ thống của Cursor để tìm nội dung biến đổi (dấu thời gian, ID phiên) có thể phá hủy các lượt truy cập bộ nhớ đệm. Chuyển nội dung đó vào tin nhắn người dùng.
- Kết nối bộ hồi quy Apidog với
api.deepseek.comđể bạn có thể phát hiện sự thay đổi hợp đồng mà không cần kiểm tra lại qua Cursor mỗi lần.
Thuế token tư duy đã được trả. Giá thì không.
