先说结论:我们在一台 32GB 内存 + 8GB 显存的消费级 Windows 主机上,把 Qwen3.6-35B-A3B 跑成了日常在用的全栈 AI 助手。不是玩具 demo,是真能查本地知识库、读文件、执行命令、语音对话的那一种。下面是不掺水的记录。
为什么非要本地部署
不是赶时髦。工作室的痛点很具体:
- 业务文档、客户资料、项目源码不能上传公有云,担心外泄;
- 云端 AI 受网络、额度、政策影响,不稳定且长期成本不可控;
- 通用在线 AI 读不了我们的本地知识库、操作不了本地文件。
本地化之后,数据不出本机,成本也锁死了——后面会看到总新增成本约等于 0。
硬件现实:就是一台普通主机
| 配置项 | 规格 |
|---|---|
| CPU | Intel i5-12600KF(12 核) |
| 显卡 | NVIDIA RTX 5060 8GB 显存 |
| 内存 | 32GB DDR4 |
| 硬盘 | 1.35 TB NVMe SSD |
| 系统 | Windows 64 位 |
没有 A100,没有服务器。这套配置很多人桌上就有。
选型:为什么是 35B-A3B 这个 MoE
我们选了阿里通义开源的 Qwen3.6-35B-A3B(MoE 混合专家):
| 参数 | 值 |
|---|---|
| 架构 | MoE(总参数 35B,激活参数仅 3B) |
| 量化格式 | GGUF I-Compact,文件 16.1 GB |
| 上下文窗口 | 64K tokens |
| 推理引擎 | llama.cpp |
| 视觉模块 | mmproj-F16(支持图片理解) |
关键在"激活参数 3B"——这就是 32GB 内存能跑起来的根本原因。如果是稠密 35B,内存直接爆。
架构:8 个服务协同
一键启动脚本拉起这 8 个:
llama-server :8081 35B 大模型推理
web-ui :3000 Open WebUI 前端
tool-server :5010 工具服务(读/写/执行)
SenseVoice :5011 语音识别(本地化)
CosyVoice :5012 语音合成(拟人音色)
edge-tts :5005 备用语音
static :8082 生成的网页/3D 本地预览
RAG(内置) 53 篇业务文档本地检索
前端 Open WebUI、后端 llama.cpp,中间串起语音和工具。日常用,点桌面图标 Start-35B 全起来。
踩过的坑(这些都是真金白银的时间)
关掉 MTP 推测解码。我们在 CPU offload 场景下试过开 MTP,结果是负优化——速度不升反降。MoE 本身激活参数小,推测解码的收益被 CPU 搬运开销吃掉。
用 mmap 加载,别让内存顶到 98%。16GB 模型常驻,mmap 模式让系统按需换页,否则内存爆炸直接崩。
长时间运行模型页会被系统换出,速度从 42 tok/s 掉到 21 tok/s。我们的解法是每日重启一次保持满速——简单但管用。
实测数据(热缓存)
| 指标 | 实测值 |
|---|---|
| 推理速度 | 42 tok/s |
| 首 token 延迟 | 244–473 ms |
| 上下文窗口 | 64K tokens |
| 内存占用 | 约 53%(16GB 模型) |
中文对话、代码、推理、写作都流畅。知识库问答能检索本地 53 篇业务文档,工具调用能读文件、执行命令、搜目录。
实际用起来是什么样:5 个真实场景
光看架构和数字还是虚的,给几个我们每天都在跑的真实用法:
1. 知识库问答
"帮我查一下排错记录里 RTX5060 PyTorch 兼容性问题"
35B 检索本地 53 篇业务文档,直接给出当时的结论和处理参数,不用再翻文件夹找记录。
2. 工具型工作助理
"读取 D:\项目\网站 下的文件并预览"
模型读文件 → 丢给本地静态服务器 → 一键点开预览,全程不碰公网。
3. 网页 / 3D 实时生成
"做一个 Three.js 3D 旋转卡片页面"
生成完整 HTML,本地 8082 预览服务直接打开,可交互的 3D 场景当场就能玩。
4. 语音对话
语音说"帮我读取项目目录"→ SenseVoice 本地识别 → 35B 回答 → CosyVoice 情感音色朗读(语音合成走 API 按量计费,有免费额度)。
5. 项目开发辅助
"看看 D:\Projects 里 UE 插件代码"
读取、分析、给出修改建议,涉及项目源码的改动照样能做——因为目录白名单里给了它权限。
这五个场景覆盖了我们日常 80% 的 AI 用量,也是"全栈"两个字的实际含义——不是只会聊天的对话框。
安全:目录白名单比你想的重要
模型能执行命令,就必须圈住它能碰什么。我们做了目录权限白名单:
D:\项目D:\WorkBuddyD:\ProjectsD:\MapData:可读写执行;D:\知识库:只读(模型可检索但工具层硬限制 403,禁止修改);- 白名单外目录一律拒绝,命令执行也有 git/python/node 白名单。
经验:本地 AI 一旦接了工具调用,就等于给了它动你硬盘的钥匙。不圈白名单,迟早出事。
成本:约等于 0
| 项目 | 成本 |
|---|---|
| 硬件 | 消费级主机(已有) |
| 模型 | 开源免费(Apache-2.0) |
| 软件 | 开源免费(llama.cpp / Open WebUI / SenseVoice) |
| 语音合成 | CosyVoice 新用户免费额度 |
| 总新增成本 | ≈ 0 元(不含电费) |
对比同能力的云端 API 长期按调用计费,本地部署在数据安全 + 成本可控上优势明显。
部署步骤:8 步清单
想照着做的,这是完整路径(每一步的坑上面都提了):
- 下载 Qwen3.6-35B-A3B GGUF 模型(魔搭 ModelScope,国内高速);
- 安装 llama.cpp + Open WebUI;
- 部署 Tool Server(7 个工具 + 目录权限白名单);
- 部署 SenseVoice 语音识别(本地化,不依赖云服务);
- 配置 CosyVoice 语音合成(拟人音色);
- 配置本地知识库 RAG(导入业务文档);
- 写一键启动脚本,把 8 个服务串起来;
- 收尾安全策略:只读目录 403、命令执行白名单。
前 6 步都有现成开源方案,真正花时间的是第 3 步和第 8 步——工具边界和安全边界,这两件事没有现成答案,得按自己的目录结构和工作习惯来定。
适合谁
三类人最合适:数据敏感、文档不能上公有云的团队;重度使用、不想按调用付费的 AI 用户;以及想在自己机器上攒一套"私人 AI 工作台"的开发者。如果只是偶尔问答,用轻量方案就够了,没必要上这一整套。
给你避的坑(省流版)
- 消费级硬件跑大模型,MoE 是命门——稠密 35B 别想了,选激活参数小的;
- MTP 推测解码在 CPU offload 下是负优化,关掉;
- mmap 加载 + 每日重启,稳住速度和内存;
- 接了工具调用就一定要上目录白名单,只读目录硬限制 403。
如果你想先从轻量体验上手,可以看我们另一篇《用 LM Studio 管理本地模型》——那篇讲"小模型快速体验怎么安排",这篇讲"生产级全栈怎么落地"。

