OpenClaw + Qwen本地大模型部署教程:Mac上打造零Token成本的AI助手
作为一个每天和Token账单打交道的人,我一直渴望真正的“调用自由”。上一篇文章我们讲了Ollama通用方案,这次聚焦通义千问(Qwen)系列——从Qwen2.5到最新的Qwen3.5,如何在Mac上完美运行,并与OpenClaw无缝对接。本文将提供完整的配置代码、硬件选型指南和避坑方案,让你彻底告别Token焦虑。
一、为什么选择Qwen系列本地部署?
1.1 Qwen的核心优势
通义千问(Qwen)是阿里云开源的大语言模型系列,在中文理解、代码生成和推理能力上表现优异。最新发布的Qwen3.5系列更是首个原生视觉-语言模型家族,支持多模态理解,在TAU2-Bench评测中得分86.7。
| 特性 | Qwen系列优势 |
|---|---|
| 中文能力 | 原生中文训练,理解和生成远超国外开源模型 |
| 模型规格 | 从0.6B到235B全覆盖,适配各种硬件 |
| 量化支持 | Ollama提供多种量化版本(Q4_0/Q8_0等),内存友好 |
| 上下文长度 | 最高支持128K-256K token,处理长文档无压力 |
| 多模态能力 | Qwen3.5支持图像理解,可处理截图、图片等 |
1.2 Mac硬件选型指南
在Mac上跑Qwen,内存(统一内存)是决定性因素。以下是基于实测的硬件建议:
| Mac内存 | 推荐模型及量化 | 文件大小 | 适用场景 |
|---|---|---|---|
| 8GB | Qwen2.5 7B (Q4_0) / Qwen3 4B (Q4_0) | 4-5GB | 轻量对话、文件整理、基础问答 |
| 16GB | Qwen2.5 7B (Q8_0) / Qwen3.5 9B (Q4_0) | 5-9GB | 复杂推理、代码生成、中等上下文 |
| 24-32GB | Qwen3.5 14B (Q4_0) / 35B (Q4_0) | 8-18GB | 长文本处理、多模态任务、专业应用 |
| 64GB+ | Qwen3 72B (Q4_0) / 235B MoE | 37GB+ | 科研、全场景覆盖 |
小知识:量化版本中,Q4_0是4-bit量化,文件最小、速度最快,适合内存有限的设备;Q8_0是8-bit量化,在速度和精度间取得平衡。
二、Ollama部署Qwen全流程
2.1 安装Ollama
# 使用Homebrew安装(推荐) brew install ollama # 或从官网下载安装包# 访问 https://ollama.com/download 下载macOS版本# 启动Ollama服务(后台运行) ollama serve # 验证安装 ollama --version# 应显示 0.5.0 或更高设置开机自启:
# 将Ollama添加到登录项# 系统设置 → 通用 → 登录项 → 点击"+"添加Ollama2.2 下载Qwen模型
Ollama支持全系列Qwen模型,包括最新的Qwen2.5和Qwen3.5。
# 查看可用Qwen模型列表 ollama list |grep qwen # 下载Qwen2.5 7B(中文能力强,推荐) ollama pull qwen2.5:7b-instruct-q4_0 # 约4.1GB# 下载Qwen2.5 14B(需要16GB+内存) ollama pull qwen2.5:14b-instruct-q4_0 # 约8.2GB# 下载Qwen3.5 9B("小钢炮",平衡之选) ollama pull qwen3.5:9b-instruct-q4_0 # 约5.3GB# 下载Qwen3.5 35B(需要24GB+内存,支持多模态) ollama pull qwen3.5:35b-instruct-q4_0 # 约20GB# 验证下载 ollama list 模型选择建议:
- 16GB Mac:首选
qwen2.5:7b-instruct-q4_0或qwen3.5:9b-instruct-q4_0 - 32GB Mac:可以考虑
qwen2.5:14b-instruct-q4_0 - 需要多模态:选
qwen3.5:35b-instruct-q4_0(需足够内存)
2.3 测试模型运行
# 直接在终端对话 ollama run qwen2.5:7b-instruct-q4_0 # 输入测试问题>>> 介绍一下通义千问模型的特点 >>> /bye # 退出# 测试Ollama的OpenAI兼容APIcurl http://localhost:11434/v1/chat/completions \-H"Content-Type: application/json"\-d'{ "model": "qwen2.5:7b-instruct-q4_0", "messages": [{"role": "user", "content": "你好,请做个自我介绍"}], "stream": false }'如果返回正常,说明Ollama服务已经就绪。
三、OpenClaw安装与配置
3.1 安装OpenClaw
OpenClaw需要Node.js 22或更高版本。
# 1. 检查Node.js版本node--version# 如果低于22,需要升级# 2. 使用nvm安装Node.js 22(推荐)curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh |bash."$HOME/.nvm/nvm.sh" nvm install22 nvm use 22# 3. 配置npm国内镜像(加速安装)npm config set registry https://registry.npmmirror.com # 4. 全局安装OpenClawnpminstall-g openclaw@latest # 5. 验证安装 openclaw --version# 应显示 2026.3.x 或更高3.2 初始化OpenClaw
# 执行初始化向导 openclaw onboard 按照提示完成基础配置:
| 步骤 | 选项 | 说明 |
|---|---|---|
| 安全提示 | Yes | 确认理解使用风险 |
| Onboarding mode | QuickStart | 快速开始模式 |
| Model/auth provider | Skip for now | 稍后手动配置Ollama |
| Select channel | Skip for now | 暂不配置消息渠道 |
| Configure skills | No | 后续按需安装 |
3.3 启动OpenClaw服务
# 启动网关服务 openclaw gateway start # 生成访问令牌(用于Web控制台登录) openclaw token generate # 复制输出的token,保存备用# 访问Web控制台# 浏览器打开 http://127.0.0.1:18789/?token=你的Token四、OpenClaw对接Ollama Qwen(核心步骤)
4.1 配置文件方式(推荐)
OpenClaw通过配置文件~/.openclaw/openclaw.json管理所有设置。我们需要添加Ollama作为模型提供商。
# 编辑配置文件vim ~/.openclaw/openclaw.json 将以下配置内容粘贴进去(注意替换API Key占位符):
{"meta":{"lastTouchedVersion":"2026.3.1"},"models":{"mode":"merge","providers":{"ollama":{"baseUrl":"http://localhost:11434/v1","apiKey":"ollama",// Ollama不需要真实API Key,但不能为空"api":"openai-completions","models":[{"id":"qwen2.5:7b-instruct-q4_0","name":"Qwen2.5 7B (本地)","reasoning":false,"input":["text"],"contextWindow":32768,"maxTokens":8192},{"id":"qwen3.5:9b-instruct-q4_0","name":"Qwen3.5 9B (本地)","reasoning":false,"input":["text"],"contextWindow":128000,"maxTokens":32768}]}},"ollama/qwen2.5:7b-instruct-q4_0":{"priority":1,"default":true}},"agents":{"defaults":{"model":{"primary":"ollama/qwen2.5:7b-instruct-q4_0"},"models":{"ollama/qwen2.5:7b-instruct-q4_0":{},"ollama/qwen3.5:9b-instruct-q4_0":{}}}},"gateway":{"mode":"local","auth":{"mode":"token","token":"你的token"// 替换为openclaw token generate生成的token}}}配置要点:
baseUrl必须是http://localhost:11434/v1,这是Ollama的OpenAI兼容接口地址apiKey可以任意填写,但不能为空models数组中列出你下载的所有Qwen模型contextWindow根据模型实际能力填写(Qwen2.5支持32K,Qwen3.5支持128K)- 在
ollama/模型ID对象中设置默认模型
4.2 保存并重启
# 保存文件后,重启OpenClaw网关 openclaw gateway restart # 检查配置是否生效 openclaw models list # 应该显示已配置的Qwen模型,并标注default4.3 Web控制台配置方式(备选)
如果你更习惯图形界面,也可以通过Web控制台配置:
- 访问
http://127.0.0.1:18789/?token=你的Token - 左侧菜单选择 配置 → RAW
- 在编辑器中粘贴上述JSON配置
- 点击 Save 保存,再点击 Update 应用
4.4 验证集成是否成功
方法一:Web控制台对话
- 在聊天框输入:“你好,请介绍一下你自己”
- 如果回复中包含"通义千问"或"Qwen"相关描述,说明对接成功
方法二:命令行测试
# 进入命令行交互模式 openclaw tui # 输入测试指令 你用的是哪个模型? 帮我列出当前目录下的文件 方法三:查看Ollama模型状态
# 查看当前运行的模型 ollama ps# 应该显示qwen2.5:7b-instruct-q4_0正在运行五、高级配置:多模型混合架构
5.1 同时配置多个Qwen版本
你可以在配置文件中添加多个模型,根据需要切换:
"models":{"providers":{"ollama":{"baseUrl":"http://localhost:11434/v1","apiKey":"ollama","models":[{"id":"qwen2.5:7b-instruct-q4_0","name":"Qwen2.5 7B"},{"id":"qwen2.5:14b-instruct-q4_0","name":"Qwen2.5 14B"},{"id":"qwen3.5:9b-instruct-q4_0","name":"Qwen3.5 9B"},{"id":"qwen3.5:35b-instruct-q4_0","name":"Qwen3.5 35B"}]}}}在对话中可以通过指令切换模型:
切换到 Qwen3.5 35B 用 Qwen2.5 14B 帮我写一段代码 5.2 本地+云端混合模式
对于偶尔需要的复杂任务,可以配置阿里云百炼API作为备用:
"providers":{"ollama":{// 本地Ollama配置},"bailian":{"baseUrl":"https://dashscope.aliyuncs.com/compatible-mode/v1","apiKey":"你的阿里云百炼API Key","api":"openai-completions","models":[{"id":"qwen3.5-plus","name":"Qwen3.5 Plus (云端)"},{"id":"qwen3-coder","name":"Qwen Coder (云端)"}]}}成本优化策略:
- 日常任务:本地Qwen模型(零成本)
- 复杂推理/长文本:切换云端Qwen-plus(按量付费)
- 代码任务:使用Qwen Coder专用模型
5.3 为Qwen3.5开启多模态能力
如果你下载了Qwen3.5的多模态版本(如qwen3.5:35b),可以通过以下方式使用图像理解:
// 在模型配置中添加image输入支持{"id":"qwen3.5:35b-instruct-q4_0","name":"Qwen3.5 35B (多模态)","reasoning":false,"input":["text","image"],// 关键:声明支持图像输入"contextWindow":256000,"maxTokens":65536}使用方式:在对话中上传图片,输入“这张图里有什么?”即可。
六、性能优化与问题排查
6.1 Mac性能优化技巧
1. 确保Ollama使用GPU加速
M系列芯片的GPU对推理加速明显:
# 查看Ollama日志,确认Metal是否启用 ollama serve --verbose# 设置环境变量强制使用GPUexportOLLAMA_NUM_GPU=999 ollama serve 2. 限制CPU核心数(防止影响其他应用)
exportOLLAMA_NUM_THREADS=4# 限制使用4个CPU核心 ollama serve 3. 减少内存占用
如果内存紧张,可以选择更小的量化版本:
# Q2_K是更激进的量化,内存占用更低 ollama pull qwen2.5:7b-instruct-q2_k 6.2 常见问题及解决方案
| 问题 | 现象 | 解决方案 |
|---|---|---|
| 模型未找到 | OpenClaw提示"model not found" | ollama list确认模型名称,配置文件中ID必须完全匹配 |
| 连接拒绝 | ECONNREFUSED http://localhost:11434/v1 | 确认Ollama服务是否运行:ollama ps;重启:ollama serve |
| 响应为空 | 模型返回空内容 | 检查配置中reasoning是否为false,Qwen不支持reasoning模式 |
| 速度慢 | 推理速度低于预期 | 检查是否使用GPU:ollama ps查看Processor列;关闭其他占用内存的应用 |
| 内存不足 | 模型加载失败 | 换更小的模型或量化版本;使用ollama stop 模型名释放内存 |
| 多模态失效 | 上传图片后模型不理解 | 确认模型支持多模态(如35b版本);检查配置中input是否包含image |
6.3 常用管理命令
# Ollama相关 ollama list # 查看已下载模型 ollama ps# 查看正在运行的模型 ollama stop 模型名 # 停止指定模型 ollama rm 模型名 # 删除模型# OpenClaw相关 openclaw status # 查看服务状态 openclaw gateway restart # 重启网关 openclaw models list # 查看可用模型 openclaw logs # 查看日志七、实战:让Qwen帮你干活
7.1 安装实用技能
# 安装文件管理技能 openclaw plugins install @openclaw/file-manager # 安装系统控制技能 openclaw plugins install @openclaw/system-ctl # 安装联网搜索技能(需申请Exa API Key) openclaw plugins install exa-search 7.2 日常任务示例
| 场景 | 指令示例 | 说明 |
|---|---|---|
| 文件整理 | 「把下载文件夹里所有PDF按日期归类到子文件夹」 | 自动整理 |
| 代码编写 | 「用Python写一个快速排序函数,添加详细注释」 | 代码生成 |
| 内容总结 | 「总结这份周报的核心内容」(上传文件) | 长文本处理 |
| 系统监控 | 「查看当前CPU和内存使用情况」 | 调用系统命令 |
| 多模态理解 | 「这张截图里有什么问题?」(上传截图) | Qwen3.5视觉能力 |
八、总结:零成本AI助手的价值
通过OpenClaw + Ollama + Qwen的组合,你可以在Mac上获得一个完全免费、数据私有、离线可用的强大AI助手。
8.1 核心收益
- ✅ 零Token成本:无限次调用,彻底告别API账单
- ✅ 数据完全私有:所有对话、文件处理都在本地
- ✅ 离线可用:飞机上、咖啡馆断网也能用
- ✅ 中文友好:Qwen原生中文理解,效果优于同规模国外模型
- ✅ 灵活扩展:支持多模型切换、技能插件、多模态输入
8.2 硬件投入产出
以16GB Mac为例:
- 一次性投入:已有设备(零新增成本)
- 运行成本:电费(约0.1元/天)
- 相比云端API:每天100次对话可节省200-300元/月
8.3 下一步探索
- 模型微调:用MLX框架在Mac上微调Qwen,打造专属模型
- 接入消息渠道:配置飞书/Telegram,实现移动端调用
- 自动化工作流:结合cron定时任务,让AI自动执行重复工作
参考资料: