基于Qwen3-Code-Next+KTransformer的本地Vibe Coding

技术背景

在前面的一些文章中,我们介绍过大模型启动工具KTransformer的安装与使用,当然,现在KTransformer版本已经有不少的更新,也已经对多用户场景进行了支持,最新版本的部署可以参考官方文档。新版本的KTransformer是调用了sglang的一个定制版来进行服务的启动,相关的安装所需仓库、路径、文件都在源代码中。现在的场景比较建议的是本地直接源码编译,不太建议通过第三方平台或者是Docker来构建

明确需求

跟以往的博客内容不一样,这里我首先是建议大家评估自己的本地环境和硬件条件,确认最适合自己本地的模型。尤其是当GPU显卡不多,或者是配置不太给力的情况下,为了确保模型的可用性,建议还是往小了选型,优先保障性能。常规的tokens速度如果只有个十几二十的,体验会很差。我这里使用一张5090D,运行BF16的Qwen3-Code-Next,在长对话里大约是40 tokens/s的速率,这个已经是略显缓慢了。

安装KTransformer

不要着急下载模型,先把环境弄好,下载模型其实把任务挂在那里就可以了。理论上来说,安装KTransformer就是把最新的仓库clone下来之后一键执行就可以了:

bash 复制代码
$ ./install.sh

但是我建议是在Conda环境中运行,创建一个python3.10或者python3.11的虚拟环境,再进行安装部署。如果中间遇到Github相关的网络问题,可以把相应的第三方仓库地址替换为Gitee上边的镜像版。或者自己在Gitee建仓,拉取最新版本的代码。

安装完成后可以通过如下代码进行校验:

bash 复制代码
$ python3 -m pip show sglang-kt
$ kt version

这两个都正常显示了才说明安装成功了。

模型下载

前面提到,在模型下载之前,要做一个模型的选型。如果是显卡不太充裕的环境,不是很建议直接上全量的DeepSeek大模型,而且有些硬件对于量化版本的支持并不是很好,反而是BF16原生的格式支持的比较好。那么这种场景下,Qwen系列其实会是一个不错的选择。那么就可以找一个用于存放模型的路径,然后执行:

bash 复制代码
$ modelscope download --model Qwen/Qwen3-Coder-Next --local_dir ./

然后就等待模型下载完成就好了。

模型加载

这里加载模型的服务,比较推荐的是直接使用sglang来加载:

bash 复制代码
$ nohup python3 -m sglang.launch_server \
  --host 0.0.0.0 \
  --port 30000 \
  --model /path_to/Qwen3-Coder-Next \
  --kt-weight-path /path_to/Qwen3-Coder-Next \
  --kt-cpuinfer 32 \
  --kt-threadpool-count 1 \
  --kt-num-gpu-experts 48 \
  --kt-method BF16 \
  --kt-gpu-prefill-token-threshold 4096 \
  --attention-backend triton \
  --trust-remote-code \
  --mem-fraction-static 0.85 \
  --chunked-prefill-size 16384 \
  --max-running-requests 5 \
  --max-total-tokens 32768 \
  --served-model-name Qwen3-Coder-Next \
  --enable-mixed-chunk \
  --tensor-parallel-size 1 \
  --tool-call-parser qwen3_coder \
  --kt-enable-dynamic-expert-update \
  --cuda-graph-max-bs 64 \
  --allow-auto-truncate > sglang.log 2>&1 &

这里用的是后台服务启动的方法,相关的运行结果都会保存到sglang.log日志文件中。这里关于参数配置,主要需要注意的是kt-cpuinferkt-num-gpu-expertskt-methodmem-fraction-static这几个。如果配置不当,有可能导致服务直接挂掉。配置的参数也会影响到运行的性能,配置的原则就是,在服务可以正常运行的前提条件下,kt-num-gpu-experts越大则越快。

服务正常启动之后,可以在本地进行一个测试:

bash 复制代码
$ curl -s http://xxx.xxx.xxx.xxx:30000/v1/chat/completions \
   -H "Content-Type: application/json" \
   -d '{
     "model": "Qwen3-Coder-Next",
     "messages": [{"role": "user", "content": "Hello! What can you help me with?"}],
     "stream": false
   }'
{"id":"xxx","object":"chat.completion","created":xxx,"model":"Qwen3-Coder-Next","choices":[{"index":0,"message":{"role":"assistant","content":"Hello! 😊 I'm here to help with a wide range of things---here are just a few examples:\n\n- **Answering questions** (science, history, tech,日常生活, etc.)\n- **Writing assistance** (essays, stories, emails, scripts, creative ideas)\n- **Coding help** (debugging, explanations, snippets in Python, JavaScript, etc.)\n- **Learning support** (math, languages, concepts explained clearly)\n- **Problem solving** (logic puzzles, math problems, planning)\n- **Brainstorming & brainstorming** (names, projects, content ideas)\n- **Logic & reasoning** (truth tables, probability, decision analysis)\n- **Language translation & practice** (grammar, vocabulary, conversation)\n- **Explaining complex topics** (like quantum mechanics, neural networks, or tax law---simplified!)\n\n...and much more! What would you like to explore or work on today? 🌟","reasoning_content":null,"tool_calls":null},"logprobs":null,"finish_reason":"stop","matched_stop":151645}],"usage":{"prompt_tokens":17,"total_tokens":210,"completion_tokens":193,"prompt_tokens_details":null,"reasoning_tokens":0},"metadata":{"weight_version":"default"}}

如果有类似于上述返回内容的就是说明模型可以正常运行了。

绑定cline

因为Qwen系列的模型虽然不大,但是在Vibe Coding方面做的不错,所以这里也介绍一下如何将部署好的Qwen模型配置到AI编程框架中。如果只是想要一个普通的对话,可以参考之前的这篇文章进行配置。需要注意的是,这里KTransformer用的是OpenAI的字段。

先从VSCode商城里边找到cline这个插件,点击安装,然后左侧菜单栏里边最底下会有个cline的机器人图标,点击图标进入cline的配置界面:

供应商选择OpenAI Compatible:

BASE URL填http://xxx.xxx.xxx.xxx:30000/v1,然后API KEY随便填一些内容,MODEL ID填Qwen3-Coder-Next,或者是在本地拉起模型时所用的模型名称。完成这些参数的配置后就可以开始正式使用了:

然后可以发一些简单的测试语句,确认模型是否可以正常运行:

第一次响应比较慢,从第二次开始就会变得快很多:

从后台日志中可以查看到相应的请求:

bash 复制代码
[2026-06-25 14:35:03] INFO:     xxx.xxx.xxx.xxx:xxxxx - "POST /v1/chat/completions HTTP/1.1" 200 OK
[2026-06-25 14:35:04] Prefill batch, #new-seq: 1, #new-token: 331, #cached-token: 11392, full token usage: 0.36, mamba usage: 0.04, #running-req: 0, #queue-req: 0, input t
hroughput (token/s): 134.93, cuda graph: False
[2026-06-25 14:35:04] Decode batch, #running-req: 1, #full token: 11726, full token usage: 0.36, mamba num: 2, mamba usage: 0.04, cuda graph: True, gen throughput (token/s
): 0.50, #queue-req: 0

那么因为我们的核心目的是使用它来做一个辅助编程,所以可以测试下它的agentic功能:

可以直接要求它生成一个官网网站:

后台可以看到有大量的Token:

生成完毕后点击save,可以看看它所生成的网页界面:

OpenClaw配置

除了直接配置进Cline进行AI编程之外,还可以配置到OpenClaw中,跟之前的一篇文章一样的操作,加一个这样的配置项:

json 复制代码
"openai": {
  "baseUrl": "http://xxx.xxx.xxx.xxx:30000/v1",
  "apiKey": "openai-local",
  "api": "openai-completions",
  "models": [
    {
      "id": "Qwen3-Coder-Next",
      "name": "Qwen3-Coder-Next",
      "reasoning": true,
      "input": [
        "text"
      ],
      "cost": {
        "input": 0,
        "output": 0,
        "cacheRead": 0,
        "cacheWrite": 0
      },
      "contextWindow": 16384,
      "maxTokens": 32768
    }
  ]
}

然后优先级改一下:

json 复制代码
"model": {
  "primary": "openai/Qwen3-Coder-Next"
},
"models": {
  "ollama/qwen3.5:latest": {},
  "openai/Qwen3-Coder-Next": {}
}

当然,如果本地只有一个模型的话,就不需要去修改优先级了。配置完成后就可以在小龙虾里边调用模型了,这里我就不做演示了。

总结概要

在往期关于DeepSeek的模型部署、KTransformer的安装与使用、PageAssist和OpenClaw的相关应用部署的基础之上,本文我们再讲述一个新版的KTransformer部署最新的BF16精度的Qwen3-Coder-Next模型的一些技术方案和操作指引。

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/vibe-coding-local.html

作者ID:DechinPhy

更多原著文章:https://www.cnblogs.com/dechinphy/

请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html