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ụ

Qwen Code sau khi đóng qwen-oauth: làm việc qua JoinGonka Gateway

Qwen Code (lệnh qwen) — tác nhân terminal mã nguồn mở để lập trình từ đội ngũ Qwen tại Alibaba: hiểu dự án, sửa tệp, chạy lệnh và kiểm thử — từ terminal, trình soạn thảo hoặc tập lệnh. Dự án phát triển từ Google Gemini CLI và đang tự phát triển, mã nguồn mở theo giấy phép Apache-2.0. Tác nhân hỗ trợ nhiều giao thức — OpenAI, Anthropic, Gemini — vì vậy gần như bất kỳ nhà cung cấp model nào cũng có thể kết nối với nó.

Việc bắt đầu làm việc với Qwen Code mà không cần khóa trước đây cho phép đăng nhập miễn phí qua tài khoản qwen.ai — loại xác thực qwen-oauth. Vào ngày 15 tháng 4 năm 2026, gói miễn phí này đã bị đóng, nhưng hành vi mặc định vẫn không thay đổi: nếu không chọn loại xác thực, Qwen Code vẫn sẽ thử kết nối theo cách cũ, và cài đặt cũ sẽ trả về dòng Qwen OAuth free tier was discontinued on 2026-04-15. Tài liệu khuyến nghị chuyển sang nhà cung cấp khác, và cách dễ nhất là thực hiện qua endpoint tương thích với OpenAI.

JoinGonka Gateway — chính là endpoint như vậy: thông qua đó Qwen Code hoạt động trên các model của mạng phi tập trung Gonka — DeepSeek V4 Flash, GLM-5.3 Flash và MiniMax M2.7 — với giá đồng nhất $0.0069 cho mỗi triệu token đầu vào, không cần đăng ký gói cước. Hiện không có model Qwen riêng nào trong mạng, nhưng tác nhân không cần điều đó: nó hoạt động với bất kỳ model nào hỗ trợ gọi công cụ (tool calling). Các lệnh và thông báo dưới đây đã được xác minh qua quá trình chạy thử Qwen Code 0.24.4 thực tế qua gateway vào ngày 23 tháng 9 năm 2026. Sau khi xác nhận địa chỉ, tài khoản của bạn sẽ nhận được 3M token miễn phí — đủ để bạn tự mình lặp lại toàn bộ quy trình.

Bắt đầu nhanh: cài đặt và một lệnh duy nhất

Bước 1: cài đặt Qwen Code. Các cách chính thức từ README của dự án:

# Linux and macOS: standalone build with its own Node.js
curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.sh | bash

# Windows (PowerShell)
irm https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.ps1 | iex

# npm (requires Node.js 22 or newer)
npm install -g @qwen-code/qwen-code@latest

# Homebrew
brew install qwen-code

Script sẽ đặt lệnh vào ~/.local/bin/qwen và thêm đường dẫn vào tệp cấu hình shell nếu cần. Hãy mở lại terminal và kiểm tra: qwen --version.

Bước 2: lấy khóa. Đăng ký tại gate.joingonka.ai/register, xác nhận địa chỉ email rồi tạo khóa có tiền tố jg- trong mục «Khóa API».

Bước 3: chạy trình cài đặt.

npx @joingonka/setup --tool qwen-code

Trình cài đặt sẽ hỏi khóa (khóa không được truyền qua đối số dòng lệnh để tránh lưu lại trong lịch sử shell) và chỉnh sửa ~/.qwen/settings.json — tệp mà tài liệu Qwen Code đề xuất để cấu hình «trong một tệp duy nhất»:

  • ghi khóa vào khối env của chính tệp đó dưới tên JOINGONKA_API_KEY — đây cũng là nơi lệnh /auth của chính Qwen Code lưu khóa; tệp sẽ có quyền 600, môi trường shell không thay đổi;
  • thêm các mô hình của mạng vào danh sách modelProviders.openai — kèm địa chỉ gateway, cửa sổ ngữ cảnh thực và giới hạn phản hồi thực; các mục của những nhà cung cấp khác bạn đang dùng trong danh sách này vẫn được giữ nguyên;
  • nếu kiểu xác thực chưa được chọn hoặc vẫn đang trỏ tới qwen-oauth đã ngừng hoạt động, trình cài đặt sẽ chuyển sang openai và đặt DeepSeek V4 Flash làm mô hình mặc định; nếu bạn đang dùng một kiểu khác hoạt động được — anthropic, gemini, vertex-ai — thì sẽ không đụng tới trừ khi có cờ --model;
  • lưu một bản sao của tệp cũ, không động đến chú thích và các cài đặt khác, và cuối cùng gửi một yêu cầu thực tới gateway để cho biết khóa, địa chỉ và mô hình đã được chấp nhận hay chưa.

Đây là kết quả trên một máy vẫn còn qwen-oauth (đã lược bớt):

Configured ~/.qwen/settings.json
Base URL: https://gate.joingonka.ai/v1
Default model: deepseek-ai/DeepSeek-V4-Flash-0731 (replaces qwen-oauth — that free tier was discontinued on 2026-04-15)
Switched Qwen Code to JoinGonka (auth type "openai") — this replaced your previous auth type "qwen-oauth".
To go back: run /auth (and /model) inside Qwen Code, or restore ~/.qwen/settings.json.bak.2026-09-23T04-22-32-159Z.
…
✓ Verified: the gateway accepted the key, base URL and model.

Để đặt một mô hình mặc định khác, dùng cờ --model: viết tắt glm, minimax hoặc mã định danh đầy đủ; mô hình được chỉ định rõ ràng thì luôn được ghi vào. Chế độ không hỏi đáp sẽ lấy khóa từ biến môi trường:

JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool qwen-code --model glm --non-interactive

Thư mục được chuyển qua biến QWEN_HOME sẽ được trình cài đặt tự động tìm thấy. Chạy lại lần nữa sẽ cập nhật danh mục mô hình nhưng vẫn giữ mô hình mạng mà bạn đã chọn: Kept your current default model.

Cấu hình thủ công: settings.json

Mọi thứ mà trình cài đặt thực hiện đều có thể viết tay. Tệp là ~/.qwen/settings.json (hoặc $QWEN_HOME/settings.json); Qwen Code đọc nó dưới dạng JSON có chú thích. Cấu hình hoạt động cho mạng Gonka đầy đủ như sau:

{
  "env": { "JOINGONKA_API_KEY": "jg-your-key" },
  "modelProviders": {
    "openai": [
      { "id": "deepseek-ai/DeepSeek-V4-Flash-0731", "name": "DeepSeek V4 Flash (Gonka)",
        "baseUrl": "https://gate.joingonka.ai/v1", "envKey": "JOINGONKA_API_KEY",
        "generationConfig": { "contextWindowSize": 380000, "samplingParams": { "max_tokens": 32768 } } },
      { "id": "zai-org/GLM-5.3-Flash", "name": "GLM 5.3 Flash (Gonka)",
        "baseUrl": "https://gate.joingonka.ai/v1", "envKey": "JOINGONKA_API_KEY",
        "generationConfig": { "contextWindowSize": 390000, "samplingParams": { "max_tokens": 8192 } } },
      { "id": "MiniMaxAI/MiniMax-M2.7", "name": "MiniMax M2.7 (Gonka)",
        "baseUrl": "https://gate.joingonka.ai/v1", "envKey": "JOINGONKA_API_KEY",
        "generationConfig": { "contextWindowSize": 200000, "samplingParams": { "max_tokens": 8192 } } }
    ]
  },
  "security": { "auth": { "selectedType": "openai" } },
  "model": { "name": "deepseek-ai/DeepSeek-V4-Flash-0731", "baseUrl": "https://gate.joingonka.ai/v1" }
}
TrườngGiá trịĐiều quan trọng
env.JOINGONKA_API_KEYkhóa jg-…Bản thân khóa. Bản ghi model không có trường cho khóa — nó tham chiếu đến biến này qua envKey
baseUrlhttps://gate.joingonka.ai/v1Phải có /v1 ở cuối: đường dẫn /chat/completions Qwen Code tự thêm vào. Khóa danh sách openai chính là giao thức Chat Completions
contextWindowSizecửa sổ của modelNếu không có, Qwen Code sẽ ước lượng cửa sổ theo tên model; dựa vào con số này nó quyết định khi nào nén lịch sử
samplingParams.max_tokensgiới hạn tối đa của phản hồiCố định giới hạn phản hồi. Nếu không có, khi chạm giới hạn, Qwen Code có thể lặp lại yêu cầu với giới hạn từ 64K — vượt mức tối đa của mọi model trong mạng
security.auth.selectedTypeopenaiGiao thức nào được bật khi khởi động; nếu thiếu trường này Qwen Code sẽ chuyển sang qwen-oauth đóng
model.name, model.baseUrlmodel mặc định và địa chỉ của nóCặp này chỉ rõ ràng đến bản ghi của cổng, ngay cả khi model có cùng id được đăng ký ở nhà cung cấp khác

Nên để khóa ở đâu. Giá trị của biến từ envKey được Qwen Code tìm theo thứ tự: môi trường shell, sau đó là tệp .env đầu tiên tìm thấy (.qwen/.env hoặc .env từ thư mục hiện tại trở lên, rồi ~/.qwen/.env và ~/.env), và chỉ sau đó mới đến khối env trong tệp. Từ đây xuất hiện cái bẫy chính: biến JOINGONKA_API_KEY đã export trong shell với giá trị cũ sẽ ghi đè tệp — chúng tôi đã cố tình kiểm tra và nhận được 401 Invalid API key dù khóa trong settings.json là đúng. Trình cài đặt sẽ cảnh báo khi thấy trong môi trường có giá trị khác.

Và một lưu ý về dự án: tệp .qwen/settings.json của dự án với modelProviders riêng không bổ sung mà thay thế danh sách từ thư mục home — bên trong dự án như vậy các model của cổng sẽ biến mất khỏi /model. Tốt nhất là không nên đặt khóa vào tệp dự án: cùng với nó, khóa sẽ lọt vào repository.

Phiên đang chạy sẽ tiếp nhận các chỉnh sửa modelProviders mà không cần khởi động lại — chỉ cần mở lại /model. Nếu không có trình soạn thảo, trình hướng dẫn /auth → Custom Provider cũng làm điều tương tự.

Ủy quyền và model: cách Qwen Code chọn công cụ làm việc

Qwen Code có hai lựa chọn độc lập: loại xác thực — giao thức nào sẽ được bật và lấy khóa ở đâu — và mô hình. Loại xác thực được lưu trong security.auth.selectedType, và trình cài đặt sẽ xử lý dựa trên loại này:

Giá trị trong selectedTypeHành động của trình cài đặt
trống hoặc qwen-oauthSẽ cài đặt openai và mô hình mặc định từ mạng lưới Gonka; gói thuê bao trả phí không được coi là lựa chọn hoạt động, nhưng trình cài đặt sẽ thông báo đã thay thế và cách để hoàn tác
openaiGiữ nguyên mô hình đã chọn — của gateway hoặc nhà cung cấp khác — chỉ cập nhật danh mục
anthropic, gemini, vertex-aiKhông thay đổi: đây là cấu hình đang hoạt động. Với cờ --model, nó sẽ chuyển đổi và hướng dẫn cách hoàn tác

Bên trong phiên làm việc, lệnh /model sẽ thay đổi mô hình. Trong lần chạy thử của chúng tôi, nó hiển thị tất cả các mục của gateway kèm theo nhãn giao thức, và dưới danh sách là cửa sổ context, địa chỉ và tên biến chứa khóa:

Select Model

  1. [openai] MiniMax M2.7 (Gonka) (MiniMaxAI/MiniMax-M2.7)
› 2. [openai] DeepSeek V4 Flash (Gonka) (deepseek-ai/DeepSeek-V4-Flash-0731)
  3. [openai] GLM 5.3 Flash (Gonka) (zai-org/GLM-5.3-Flash)

Modality:       text-only
Context Window: 380,000 tokens
Base URL:       https://gate.joingonka.ai/v1
API Key:        JOINGONKA_API_KEY

Lựa chọn từ /model được lưu giữa các phiên. Đối với một lần khởi chạy, mô hình được xác định bằng cờ -m cùng với định danh: qwen -m zai-org/GLM-5.3-Flash. Lệnh /model --fast cho phép chọn một mô hình nhẹ riêng biệt cho các gợi ý và bộ phân loại quyền; nếu chưa có, mô hình chính sẽ đảm nhận công việc này.

Nên chọn mô hình nào. Giá của tất cả các mô hình trong mạng lưới là như nhau, vì vậy sự lựa chọn phụ thuộc vào hành vi. Đây là cách chúng thể hiện trong Qwen Code 0.24.4 trên cùng một tác vụ — đọc tệp và tìm lỗi (đã đối chiếu ngày 23 tháng 9 năm 2026):

Mô hìnhContext / phản hồiCách hoạt động trong Qwen Code
DeepSeek V4 Flash380K / 32768Lựa chọn của trình cài đặt: cửa sổ lớn và giới hạn phản hồi cao nhất trong mạng lưới. Hoàn thành tác vụ sau hai bước
GLM-5.3 Flash390K / 8192Mô hình lập luận: phản hồi chính xác nhất, quá trình lập luận xuất hiện dưới dạng luồng riêng biệt và nằm trong giới hạn phản hồi
MiniMax M2.7200K / 8192Phản hồi chính xác sau hai bước và khoảng bảy giây; quá trình lập luận xuất hiện dưới dạng luồng riêng biệt và không nằm trong văn bản phản hồi

Lập luận ở GLM-5.3 Flash. Trình cài đặt đặt samplingParams cho mỗi mô hình, nhưng trong trường hợp này, Qwen Code không thêm cấp độ lập luận vào yêu cầu: lệnh /effort không chuyển đến các mô hình mạng lưới, và GLM-5.3 Flash luôn thực hiện lập luận. Nếu cần bộ chuyển đổi, hãy khai báo các cấp độ trực tiếp trong mục mô hình:

{
  "id": "zai-org/GLM-5.3-Flash",
  "capabilities": {
    "reasoning": { "profile": "openai-effort", "efforts": ["low", "high"], "defaultEffort": "high" }
  },
  …
}

Khi đó Qwen Code sẽ bắt đầu gửi reasoning_effort, và với GLM-5.3 Flash, giá trị low sẽ tắt hoàn toàn khả năng lập luận — chi tiết xem trong tổng quan về mô hình. Trong lần chạy thử của chúng tôi với "defaultEffort": "low", Qwen Code đã gửi reasoning_effort: "low", và mô hình đã phản hồi mà không có khối lập luận.

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

Cách kiểm tra nhanh nhất là một lần chạy đơn. Đặt vào một thư mục trống file calc.py với hàm cộng mà thực ra lại trừ, rồi yêu cầu tìm lỗi:

qwen -p "Read calc.py and tell me in one sentence whether it has a bug."

Agent phải tự gọi công cụ đọc và trả lời đúng trọng tâm. GLM-5.3 Flash đã trả lời như sau (chạy với -m zai-org/GLM-5.3-Flash):

Yes, there is a bug: the `add` function subtracts instead of adding (`return a - b`), so `print(add(2, 3))` prints `-1` instead of `5`.

Trong giao diện (qwen không có tham số), phần đầu sẽ hiển thị model đã chọn — API Key | DeepSeek V4 Flash (Gonka), — và cùng yêu cầu đó sẽ chạy như sau:

> Read calc.py and tell me in one sentence whether it has a bug.
  ✓ Read calc.py, README.md

  ◆ Yes, calc.py has a bug: the add function returns the difference (a - b) instead of the sum (a + b). …

  ➜ demo · DeepSeek V4 Flash (Gonka) · 380.0k Context 5.1% used

Lệnh /stats sẽ hiển thị các yêu cầu và token theo model, còn bảng điều khiển gateway — cùng mức tiêu thụ đó trong mục «Mức sử dụng».

Chế độ phê duyệt trong -p. Không có cờ, lần chạy đơn diễn ra ở chế độ Ask Permissions: không có ai để xác nhận, nên các công cụ cần quyền — lệnh shell, sửa và ghi file — đơn giản là không được truyền cho model. Khi được yêu cầu thực hiện ls, agent trong lần chạy của chúng tôi trả lời rằng nó không có công cụ đó. Để sửa, thêm --approval-mode auto-edit, để chạy lệnh — --yolo; cái sau Qwen Code kèm cảnh báo rằng sandbox chưa được bật.

Nếu có gì đó không ổn, chẩn đoán thường đọc được ngay từ thông báo:

Điều bạn thấyĐiều đó nghĩa là gìCần làm gì
No auth type is selected. Please configure an auth type …Chưa chọn loại xác thựcChạy trình cài đặt hoặc ghi "selectedType": "openai" như trong ví dụ trên
Qwen OAuth free tier was discontinued on 2026-04-15 …Trong cài đặt còn lại qwen-oauth đã đóngChạy trình cài đặt: nó sẽ chuyển loại và cho biết đã thay thế
[API Error: 401 Invalid API key]Gateway không chấp nhận keyKiểm tra block env và xem có biến JOINGONKA_API_KEY với giá trị cũ trong shell hay .env không: nó có quyền cao hơn file
429 Model "…" is currently overloaded in the Gonka network (rate limit)Model trên mạng đã hết dung lượng trốngThử lại sau một phút hoặc đổi model; trạng thái xem tại trang trạng thái
Request timeout after 151s …, sau đó Retrying provider attemptMạng dưới tải không bắt đầu phản hồi trong hai phút rưỡiQwen Code sẽ tự thử lại yêu cầu; kéo dài — hãy đổi model

Chi phí là bao nhiêu

Tác nhân (agent) tiêu thụ token khác với trò chuyện: với mỗi câu lệnh của bạn, Qwen Code sẽ thêm vào một hệ thống prompt và các mô tả công cụ, trong khi một tác vụ thường mất vài lượt. Trong thử nghiệm của chúng tôi, mỗi yêu cầu qwen -p đã chứa khoảng 13 nghìn token đầu vào trước khi đi vào nội dung chính, còn lệnh "đọc tệp, tìm lỗi" tiêu tốn hai lượt và khoảng 27 nghìn token. Giao diện công cụ còn nhiều hơn thế, và sau khi Qwen Code phản hồi, nó sẽ sử dụng cùng một mô hình để thực hiện các yêu cầu dịch vụ — ví dụ: gợi ý câu trả lời tiếp theo: /stats đã cho thấy 4 yêu cầu và khoảng 79 nghìn token đầu vào cho cùng một tác vụ đó.

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

Kịch bảnMức tiêu thụQua Gateway
Tác vụ đơn lẻ trong qwen -p: đọc tệp, tìm lỗi~27K tokenvài phần trăm xu
Tác vụ tương tự trong giao diện, có kèm yêu cầu dịch vụ~79K tokenvài phần trăm xu
Một ngày làm việc tích cực3-7M tokenvài xu
Một tháng phát triển tích cực~150M tokenkhoảng một đô la

Các ước tính trong cột bên phải dựa trên giá tháng 9 năm 2026. Để so sánh — cách bạn có thể thanh toán cho các mô hình trong Qwen Code:

Phương thứcMô hình thanh toánHạn chế
qwen-oauthđã từng miễn phíđã đóng cửa vào ngày 15 tháng 4 năm 2026
Alibaba Cloud Coding Plansố tiền cố định hàng thánghạn ngạch phía nhà cung cấp, khóa riêng sk-sp-…
Alibaba Cloud Token Plantheo token, dành cho nhóm và doanh nghiệpendpoint khu vực và khóa Alibaba Cloud
JoinGonka Gatewaytheo token, số dư trả trướcmức tiêu thụ hiển thị trong bảng điều khiển; không có đăng ký và không có hạn ngạch hàng tháng

Các yêu cầu dịch vụ có thể tắt nếu không cần thiết: gợi ý câu trả lời tiếp theo — "ui": { "enableFollowupSuggestions": false }, tự động ghi nhớ nền — "memory": { "enableManagedAutoMemory": false, "enableManagedAutoDream": false }. Mức tiêu thụ chính xác và số dư còn lại nằm trong bảng điều khiển, tại các phần "Sử dụng" (Usage) và "Thanh toán" (Billing). Lý do tại sao DeepSeek V4 Flash được chọn làm mặc định đã được giải thích chi tiết trong đánh giá mô hình.

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

Chế độ phê duyệt. Trong giao diện, Qwen Code khởi động ở chế độ Auto: việc đọc, tìm kiếm và chỉnh sửa trong dự án được cho phép ngay lập tức, trong khi các lệnh shell và các hành động rủi ro khác sẽ được đánh giá bởi một bộ phân loại — một yêu cầu riêng gửi tới mô hình. Các chế độ khác — Plan, Ask Permissions, Auto-Edit và YOLO — được chuyển đổi bằng Shift+Tab (trên Windows là Tab) hoặc bằng lệnh /approval-mode; chế độ mặc định được thiết lập bởi khóa tools.approvalMode.

Hoạt động nền. Theo mặc định, Qwen Code duy trì tính năng tự động ghi nhớ: sau khi trò chuyện, nó sẽ trích xuất các ghi chú về dự án và tùy chọn của bạn trong nền, và dọn dẹp chúng mỗi ngày một lần (Dream) — bằng cùng một mô hình đó. Trong một lần chạy đơn lẻ, điều này rất rõ ràng: qwen -p có thể không kết thúc trong vài phút sau khi đã phản hồi, vì tác vụ nền đang chờ mô hình. Đối với các script và CI, hãy tắt tự động ghi nhớ (các khóa ở phần trên) và đặt giới hạn chạy: --max-wall-time, --max-session-turns, --max-tool-calls.

Hình ảnh. Các mô hình trong mạng lưới là mô hình văn bản (Modality: text-only trong /model). Đối với ảnh chụp màn hình, hãy chỉ định một mô hình trung gian từ nhà cung cấp khác bằng lệnh /model --vision: nó sẽ thuật lại hình ảnh bằng văn bản, và mô hình chính sẽ tiếp tục công việc.

Thống kê. Qwen Code gửi thống kê sử dụng ẩn danh theo mặc định; để tắt, dùng "privacy": { "usageStatisticsEnabled": false }. Gateway không lưu trữ nội dung của các prompt và phản hồi — chỉ lưu trữ tổng hợp mức tiêu thụ.

Các đối tác trong mạng lưới. Các phòng thí nghiệm có mô hình được mạng lưới phục vụ cũng phát hành các tác nhân của riêng họ: với DeepSeek là DeepSeek Harness, với MiniMax là MiniMax Code, và với Z.ai (tác giả của GLM) là ZCode. Tất cả đều kết nối với cùng một gateway bằng cùng một khóa và tiêu thụ chung một số dư.

Qwen Code là một terminal agent mã nguồn mở của đội ngũ Qwen, và sau khi đóng dịch vụ qwen-oauth miễn phí, nó cần một nhà cung cấp mô hình riêng. Cách nhanh nhất là npx @joingonka/setup --tool qwen-code: trình cài đặt sẽ nhập khóa vào khối env của tệp ~/.qwen/settings.json, thêm DeepSeek V4 Flash, GLM-5.3 Flash và MiniMax M2.7 vào modelProviders.openai với các giới hạn thực tế, chuyển security.auth.selectedType sang openai và kiểm tra kết nối bằng một yêu cầu thực tế. Cả ba mô hình của mạng đều hoạt động: mặc định là DeepSeek V4 Flash, trong khi GLM-5.3 Flash và MiniMax M2.7 được chọn bằng lệnh /model. Để kiểm tra — hãy dùng qwen -p trên tệp có lỗi và xem phần «Sử dụng» trong bảng điều khiển; thanh toán cho các token thực tế theo giá chung của mạng Gonka.

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í →