Clawdbot整合Qwen3:32B保姆级教程:Linux/Windows双平台部署与验证
1. 为什么需要这个组合?
你是不是也遇到过这些问题:想用大模型但不想依赖网络API,担心数据外泄;本地跑32B模型又卡得动不了;好不容易搭好Ollama服务,却找不到一个顺手的聊天界面?Clawdbot + Qwen3:32B 这个组合,就是为解决这些实际痛点而生的。
它不是花架子,而是真正能落地的本地AI工作流:Qwen3:32B 提供扎实的中文理解和生成能力,Ollama 负责轻量级模型托管,Clawdbot 则作为友好的Web聊天前端,三者通过本地代理无缝串联。整个过程不联网调用外部服务,所有数据都在你自己的机器上流转。
这篇文章不讲虚的,只做一件事——手把手带你把这套系统在Linux和Windows上都跑起来,从零安装到对话验证,每一步都有截图对照、命令可复制、问题有解法。哪怕你没碰过命令行,也能照着做完。
2. 整体架构与工作流程
2.1 数据是怎么流动的?
别被“代理”“网关”“端口转发”这些词吓住,其实整个链路非常简单,就像你家里的水路系统:
- 源头(水塔):Qwen3:32B 模型运行在 Ollama 中,监听默认的
127.0.0.1:11434 - 管道(水管):Ollama 的 API 是标准的 REST 接口,Clawdbot 本可以直接连,但为了统一管理、加日志、做权限控制,我们加了一层轻量代理
- 中转站(阀门箱):内部代理服务监听
8080端口,接收 Clawdbot 的请求,再原样转发给 Ollama - 终端(水龙头):Clawdbot 前端运行在
18789端口,你打开浏览器就能用,它通过代理访问模型能力
整个过程没有云、没有第三方、没有账号绑定,纯本地闭环。你输入的每一句话,都在自己电脑内存里处理,输出结果也只显示在你自己的屏幕上。
2.2 各组件角色一句话说明
| 组件 | 作用 | 你需关注什么 |
|---|---|---|
| Qwen3:32B | 阿里最新发布的320亿参数开源大模型,中文理解强、逻辑推理稳、支持长上下文 | 不用下载模型文件,Ollama 会自动拉取 |
| Ollama | 开源模型运行时,让大模型像 Docker 容器一样一键启停、切换模型 | 只需安装一次,后续换模型不用重配 |
| 内部代理 | 一个极简的 Node.js 或 Python 转发服务(本文提供完整代码),负责端口映射和请求透传 | 你只需启动它,无需修改任何配置 |
| Clawdbot | 基于 Web 的轻量级聊天界面,支持多轮对话、历史记录、提示词模板 | 安装即用,界面直观,无学习成本 |
关键提醒:文中所有端口(8080、11434、18789)均可自定义,但必须保证代理的监听端口与 Clawdbot 配置的请求地址一致,否则会“连不上”。
3. Linux平台部署全流程
3.1 准备工作:确认系统环境
请先打开终端,执行以下命令检查基础环境:
# 检查是否已安装 curl 和 wget(绝大多数 Linux 发行版默认自带) which curl wget # 检查是否已安装 git(用于拉取 Clawdbot) which git # 检查磁盘空间(Qwen3:32B 占用约 65GB 存储) df -h / | grep -E "(Size|Use%|Available)"如果你看到curl、wget、git都有返回路径,且/分区剩余空间大于 70GB,就可以继续了。如果缺某个工具,用对应包管理器安装即可:
- Ubuntu/Debian:
sudo apt update && sudo apt install -y curl wget git - CentOS/RHEL:
sudo yum install -y curl wget git或sudo dnf install -y curl wget git
3.2 安装 Ollama 并加载 Qwen3:32B
Ollama 官方提供一键安装脚本,执行后自动完成安装并加入系统服务:
# 下载并运行安装脚本(全程无需 root 密码,会自动提权) curl -fsSL https://ollama.com/install.sh | sh # 启动 Ollama 服务(首次运行会自动后台常驻) ollama serve & # 加载 Qwen3:32B 模型(注意:这是官方模型名,非社区魔改版) ollama run qwen3:32b第一次运行ollama run qwen3:32b会自动从registry.ollama.ai拉取模型(约 65GB),耗时取决于你的网络速度。期间你会看到类似这样的进度条:
pulling manifest pulling 0e7a... 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████......等看到>>>提示符,说明模型已加载成功。此时你可以先试一句:
你好,你是谁?它会用中文回答你,证明模型本身工作正常。
小技巧:如果你只想加载模型而不进入交互模式,用
ollama pull qwen3:32b即可,后续 Clawdbot 启动时会自动调用。
3.3 启动轻量代理服务(8080 → 11434)
我们不依赖 Nginx 或 Apache 这类重型网关,而是用一个仅 30 行的 Python 脚本完成端口转发。新建文件proxy.py:
# proxy.py from http.server import HTTPServer, BaseHTTPRequestHandler import urllib.request import json class ProxyHandler(BaseHTTPRequestHandler): def do_POST(self): if self.path == "/api/chat": self.send_response(200) self.send_header("Content-type", "application/json") self.end_headers() # 读取原始请求体 content_length = int(self.headers.get('Content-Length', 0)) post_data = self.rfile.read(content_length) # 转发给 Ollama req = urllib.request.Request( "http://127.0.0.1:11434/api/chat", data=post_data, headers={"Content-Type": "application/json"} ) try: with urllib.request.urlopen(req) as response: self.wfile.write(response.read()) except Exception as e: self.wfile.write(json.dumps({"error": str(e)}).encode()) else: self.send_response(404) self.end_headers() if __name__ == "__main__": server = HTTPServer(('127.0.0.1', 8080), ProxyHandler) print(" 代理服务已启动,监听 127.0.0.1:8080,转发至 Ollama 11434") server.serve_forever()保存后,在终端中运行:
python3 proxy.py你会看到提示“ 代理服务已启动”,说明它已在后台等待 Clawdbot 的请求。
验证代理是否通?打开新终端窗口,执行:
curl -X POST http://127.0.0.1:8080/api/chat \ -H "Content-Type: application/json" \ -d '{ "model": "qwen3:32b", "messages": [{"role": "user", "content": "一句话介绍你自己"}], "stream": false }' | jq '.message.content'如果返回类似
"我是通义千问Qwen3,阿里巴巴全新推出的超大规模语言模型...",说明代理+Ollama 链路完全打通。
3.4 安装并配置 Clawdbot(18789 端口)
Clawdbot 是一个纯前端项目,无需构建,直接用npx启动最方便:
# 全局安装 npx(如未安装 Node.js,请先去官网下载 LTS 版本) curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt-get install -y nodejs # 拉取 Clawdbot 并启动(默认监听 18789) git clone https://github.com/Clawdbot/clawdbot.git cd clawdbot npm install npm run dev启动成功后,终端会显示:
Clawdbot 已启动,访问 http://localhost:18789打开浏览器,输入http://localhost:18789,你将看到熟悉的聊天界面——就是你截图里那个样子。
但此时还不能对话,因为 Clawdbot 默认连的是http://localhost:11434,而我们要让它走代理。只需修改一行配置:
- 打开
clawdbot/src/config.ts(或clawdbot/src/config.js) - 找到
API_BASE_URL字段,改为:export const API_BASE_URL = "http://localhost:8080"; - 保存后重启:
npm run dev
刷新页面,现在就可以输入问题,点击发送,看到 Qwen3:32B 的实时回复了。
4. Windows平台部署全流程
4.1 安装前检查:确认 PowerShell 和 WSL 状态
Windows 用户请先以管理员身份打开PowerShell,执行:
# 检查是否启用 WSL(推荐,兼容性最好) wsl --list --verbose # 如果返回空或报错,启用 WSL(需重启) wsl --install # 检查 Node.js 是否已安装 node -v npm -v # 若未安装,请前往 https://nodejs.org/ 下载 Windows Installer (LTS)重要建议:虽然 Windows 原生也支持 Ollama,但实测在 WSL2 中运行 Qwen3:32B 更稳定、内存管理更优。本文以 WSL2 为默认环境,兼顾原生 Windows 方案。
4.2 WSL2 环境下部署(推荐)
打开 Ubuntu(或其他发行版)终端,执行与 Linux 完全相同的步骤:
# 更新系统 sudo apt update && sudo apt upgrade -y # 安装依赖 sudo apt install -y curl wget git python3-pip # 安装 Ollama(WSL 专用脚本) curl -fsSL https://ollama.com/install.sh | sh # 加载模型(耐心等待约 20–40 分钟) ollama pull qwen3:32b # 启动代理(同 Linux 的 proxy.py) python3 proxy.py # 启动 Clawdbot(确保已安装 Node.js) git clone https://github.com/Clawdbot/clawdbot.git cd clawdbot npm install # 修改 config.ts 中 API_BASE_URL 为 "http://localhost:8080" npm run dev启动成功后,在 Windows 浏览器中访问http://localhost:18789即可使用。
注意:WSL2 的
localhost在 Windows 主机上是可直连的,无需额外配置。
4.3 Windows 原生部署(备选方案)
若坚持不用 WSL,可按以下步骤操作:
下载 Ollama Windows 安装包
访问 https://ollama.com/download,下载.exe安装程序,双击安装(全程图形化,无命令行)。通过 PowerShell 加载模型
安装完成后,打开 PowerShell,执行:ollama run qwen3:32b启动代理(Windows 版本)
新建proxy.ps1文件,内容如下:# proxy.ps1 $listener = New-Object System.Net.HttpListener $listener.Prefixes.Add("http://localhost:8080/") $listener.Start() Write-Host " 代理服务已启动,监听 http://localhost:8080" while ($listener.IsListening) { $context = $listener.GetContext() $request = $context.Request $response = $context.Response if ($request.HttpMethod -eq 'POST' -and $request.RawUrl -eq '/api/chat') { $body = [System.IO.StreamReader]::new($request.InputStream, $request.ContentEncoding).ReadToEnd() $webClient = New-Object System.Net.WebClient $webClient.Headers["Content-Type"] = "application/json" try { $result = $webClient.UploadString("http://localhost:11434/api/chat", $body) $response.StatusCode = 200 $response.ContentType = "application/json" $buffer = [System.Text.Encoding]::UTF8.GetBytes($result) $response.ContentLength64 = $buffer.Length $response.OutputStream.Write($buffer, 0, $buffer.Length) } catch { $response.StatusCode = 500 $errorJson = "{`"error`":`"$($_.Exception.Message)`"}" $buffer = [System.Text.Encoding]::UTF8.GetBytes($errorJson) $response.ContentLength64 = $buffer.Length $response.OutputStream.Write($buffer, 0, $buffer.Length) } } else { $response.StatusCode = 404 } $response.Close() }以管理员身份运行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser .\proxy.ps1Clawdbot 启动方式不变,仍用
npm run dev,配置同前。
5. 验证与常见问题排查
5.1 三步快速验证法
别急着聊天,先做这三件事,确保每层都通:
| 步骤 | 操作 | 预期结果 | 不通过怎么办? |
|---|---|---|---|
| ① 模型层 | 终端执行ollama list | 显示qwen3:32b在列表中,状态为latest | 运行ollama pull qwen3:32b重拉 |
| ② 代理层 | 浏览器打开http://localhost:8080 | 显示404 Not Found(说明服务在跑,只是没路由) | 检查proxy.py是否正在运行,端口是否被占用 |
| ③ 前端层 | 浏览器打开http://localhost:18789 | 显示 Clawdbot 界面,右上角无红色错误提示 | 检查config.ts中 URL 是否写错,浏览器控制台是否有 CORS 报错 |
5.2 最常遇到的 4 个问题及解法
问题1:Clawdbot 提示 “Network Error” 或 “Failed to fetch”
解法:打开浏览器开发者工具(F12)→ Network 标签页 → 发送一条消息 → 查看api/chat请求的 Status。如果是502,说明代理没起来;如果是404,说明 Clawdbot 配置的地址不对;如果是CORS错误,说明你没走代理,而是直连了11434(Ollama 默认禁止跨域)。问题2:Ollama 启动后立即退出,日志显示 “out of memory”
解法:Qwen3:32B 至少需要 64GB 内存。关闭其他程序,或在~/.ollama/modelfile中添加PARAMETER num_ctx 4096降低上下文长度,减少显存占用。问题3:代理启动报错 “Address already in use”
解法:说明 8080 端口被占。Linux/macOS 执行lsof -i :8080,Windows 执行netstat -ano | findstr :8080,找到 PID 后kill -9 PID(Linux/macOS)或taskkill /PID <PID> /F(Windows)。问题4:Clawdbot 界面能打开,但发送消息后无响应,控制台无报错
解法:检查代理脚本是否真的在运行(不是后台挂起),并在代理终端中观察是否有请求日志打印。没有日志 = Clawdbot 根本没发出去,大概率是API_BASE_URL配错了协议(比如写了https://而不是http://)。
6. 总结:你已经拥有了一个真正属于自己的AI助手
从今天起,你不再需要:
- 为每次提问支付 token 费用
- 担心对话内容被上传到厂商服务器
- 被限速、被封号、被改接口
- 在十几个网页和 App 之间来回切换
你拥有的是一个安静、稳定、随时待命的本地大模型伙伴。它就运行在你的电脑里,听你指挥,为你所用。
这篇文章里没有黑科技,只有可验证、可复现、可调整的每一步。你照着做一遍,就等于亲手把 AI 的控制权,从云端拉回了自己的桌面。
接下来,你可以:
- 尝试更换其他模型(比如
qwen2.5:7b做快速测试) - 给 Clawdbot 添加自定义提示词模板(如“你是一名资深技术文档工程师”)
- 把代理改成支持鉴权的版本,让家人也能安全使用
- 把整个流程写成一键 shell 脚本,下次重装系统 5 分钟恢复
技术的价值,从来不在参数多大、榜单多高,而在于它是否真正解决了你手头的问题。恭喜你,已经走完了最难的那一步。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。