小白也能懂的Clawdbot配置:Qwen3-32B代理直连教程

你是不是也遇到过这样的情况:好不容易搭好了一个大模型,却卡在“怎么让前端页面连上它”这一步?界面打开了,输入框也亮着,可一点击发送,就卡住、报错、或者返回一堆看不懂的连接拒绝提示……别急,这不是你的问题——而是代理链路没对齐。

今天这篇教程,不讲原理、不堆参数、不画架构图,就用最直白的方式,带你把 Clawdbot 整合 Qwen3:32B 的 Web 网关从零配通。全程不需要改一行代码,不用碰 Dockerfile,也不用查端口冲突日志。只要你会复制粘贴、会点鼠标、知道 localhost 是啥,就能搞定。

我们聚焦一个最核心的问题:为什么浏览器打不开聊天页?为什么发消息没反应?为什么明明 Ollama 跑着,Clawdbot 却连不上?
答案就藏在那句被很多人忽略的描述里:“通过内部代理进行 8080 端口转发到 18789 网关”。

下面,咱们就一层层剥开它。

1. 先搞清三件事:谁在哪儿?谁找谁?谁转给谁?

很多配置失败,不是操作错了,而是压根没理清角色关系。我们用一句话说清:

Ollama 是“模型服务员”,Clawdbot 是“前台接待员”,而中间那个“内部代理”,是唯一能听懂双方语言的翻译官。

1.1 Ollama:安静待命的模型本体

  • 它运行在后台,监听默认的 http://localhost:11434(这是 Ollama 自己的 API 地址)
  • 它不直接对外提供网页聊天界面,也不认识 Clawdbot 的请求格式
  • 它只做一件事:收到 /api/chat 这类标准请求,就调用 Qwen3-32B 模型,返回 JSON 格式的流式响应

验证方式(终端里执行):

curl http://localhost:11434/api/tags

如果返回包含 qwen3:32b 的 JSON 列表,说明 Ollama 已加载模型,服务正常。

1.2 Clawdbot:带网页的聊天平台,但不会“自己走路”

  • 它启动后,默认打开 http://localhost:8080(注意:这是它的前端页面地址,不是 API 地址)
  • 它的界面上所有“发送”按钮,背后其实是在向自己的后端发请求,比如 POST /v1/chat/completions
  • 但它没有内置 Ollama 的适配器——它不认识 http://localhost:11434/api/chat 这套路径和协议
  • 所以,它需要一个“网关”,把它的请求,翻译成 Ollama 能听懂的话,并把响应再翻译回来

常见误区:有人直接把 Clawdbot 的 API 地址改成 http://localhost:11434,结果 404 或 500。因为路径不匹配、Header 不兼容、Body 结构不同。

1.3 内部代理:真正的“连接 glue”

这才是本教程的关键角色。它不是可有可无的中间件,而是必须存在的协议转换层

  • 它监听 http://localhost:18789(即文档中写的“网关端口”)
  • 它接收 Clawdbot 发来的标准 OpenAI 格式请求(如 /v1/chat/completions
  • 它把请求重写为 Ollama 格式(如 /api/chat),加上必要 Header(Content-Type: application/json)、调整 Body 字段(把 messages 映射为 messages,但把 model 改成 qwen3:32b
  • 再转发给 http://localhost:11434,拿到响应后,再反向翻译回 OpenAI 格式,返回给 Clawdbot

一句话记住端口分工:

  • 11434 → Ollama 原生接口(模型本体)
  • 18789 → 代理网关入口(Clawdbot 认得的“门牌号”)
  • 8080 → Clawdbot 前端页面(你用浏览器打开的地方)

2. 四步实操:从零启动,一次配通

整个过程无需安装新软件,所有组件都已打包在镜像中。你只需要按顺序执行四步,每步都有明确反馈判断是否成功。

2.1 第一步:确认 Ollama 已加载 Qwen3-32B

进入镜像容器或宿主机终端,执行:

ollama list

你应该看到类似输出:

NAME            ID              SIZE      MODIFIED
qwen3:32b       abc123...       18.2 GB   2 hours ago

如果没有,请先拉取:

ollama pull qwen3:32b

提示:qwen3:32b 是镜像内预置的 tag 名,不要写成 qwen3:32b-fp16 或其他变体,否则代理无法识别。

2.2 第二步:启动代理网关(关键!)

镜像已内置轻量代理服务(基于 gin + fasthttp),只需一条命令启动:

clawdbot-gateway --ollama-host http://localhost:11434 --port 18789

你会看到类似日志:

INFO[0000] Starting gateway on :18789
INFO[0000] Forwarding to Ollama at http://localhost:11434

验证是否启动成功:
在另一个终端执行:

curl -X POST http://localhost:18789/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3:32b",
    "messages": [{"role": "user", "content": "你好"}],
    "stream": false
  }'

如果返回一段 JSON,且 "choices" 中有 "content" 字段(比如 "你好!我是通义千问"),说明代理已通,能正确翻译并调用模型。

如果报 Connection refused:检查端口是否被占用(lsof -i :18789),或确认命令是否执行成功。
如果返回 404 Not Found:说明代理服务未监听 /v1/chat/completions,请确认使用的是镜像内置的 clawdbot-gateway,而非自行搭建的 Nginx/traefik。

2.3 第三步:配置 Clawdbot 指向网关

Clawdbot 启动时,需显式指定后端 API 地址。镜像提供了环境变量方式,无需修改配置文件:

CLAWDBOT_API_BASE_URL="http://localhost:18789" \
CLAWDBOT_MODEL_NAME="qwen3:32b" \
clawdbot-server --port 8080

注意:CLAWDBOT_API_BASE_URL 必须是 http://localhost:18789(不能少 http://,不能写成 127.0.0.1,某些容器网络下 localhost 才可达)
CLAWDBOT_MODEL_NAME 必须与 Ollama 中的模型名完全一致(大小写、冒号、空格都不能错)

启动后你会看到:

INFO[0000] Server starting on :8080
INFO[0000] Using API base URL: http://localhost:18789

2.4 第四步:打开页面,发第一条消息

  • 浏览器访问 http://localhost:8080
  • 页面加载完成后,在输入框输入“今天天气怎么样?”,点击发送
  • 观察右下角状态栏:如果显示“正在思考…”并持续几秒后返回文字,说明全链路打通
  • 如果卡住、报错 Network Error502 Bad Gateway,请回头检查第二步代理是否在运行、第三步环境变量是否生效

小技巧:打开浏览器开发者工具(F12)→ Network 标签页,发送消息时观察 POST /v1/chat/completions 请求:

  • Status 应为 200 OK
  • Headers 中 x-proxy-to 应显示 http://localhost:11434
  • Response 内容应为标准 OpenAI 格式 JSON(含 choices[0].message.content

3. 常见问题速查:90% 的失败都出在这几个地方

配置失败往往不是技术多难,而是某个小细节没对齐。以下是真实高频问题及解法,按排查顺序排列:

3.1 “页面能打开,但发消息一直转圈”

  • 检查项:代理网关进程是否仍在运行?
    ps aux | grep clawdbot-gateway —— 若无输出,说明已退出。常见原因是端口被占或 Ollama 地址写错。
  • 检查项:Clawdbot 启动时是否漏了 CLAWDBOT_API_BASE_URL
    echo $CLAWDBOT_API_BASE_URL —— 应输出 http://localhost:18789。若为空,说明环境变量未生效,改用 export 命令或写入 .env 文件。

3.2 “报错 502 Bad Gateway”

  • 检查项:代理能否连通 Ollama?
    在代理所在机器执行:curl -v http://localhost:11434/api/tags —— 必须返回 200。若失败,说明 Ollama 未启动或监听地址非 localhost:11434(比如绑定了 127.0.0.1 但代理用 localhost 解析失败,可统一改为 127.0.0.1)。
  • 检查项:代理日志是否有 failed to proxy request
    有则说明 Ollama 返回了非 200 响应(如 404 模型不存在、500 内存不足),此时需检查 ollama list 和系统内存。

3.3 “返回内容乱码 / 格式错误 / 缺少字段”

  • 检查项:Clawdbot 是否启用了 stream: true
    镜像默认开启流式响应,但部分前端版本对 SSE 处理不稳定。临时关闭流式:启动 Clawdbot 时加参数 --disable-streaming
  • 检查项:代理是否版本匹配?
    本镜像使用 v0.3.1 代理,若手动替换了其他版本,可能因 OpenAI 接口字段变更(如 tool_callsrefusal)导致解析失败。请严格使用镜像内置二进制。

3.4 “能发消息,但响应极慢(>30秒)”

  • 检查项:是否启用了 INT4 量化?
    Qwen3-32B 原生 FP16 加载需约 64GB 显存,A10 单卡 24GB 无法承载。必须使用量化模型:
ollama run qwen3:32b-q4_k_m  # 推荐,4-bit 量化,显存占用约 18GB

然后在 Clawdbot 启动时,将 CLAWDBOT_MODEL_NAME 改为 qwen3:32b-q4_k_m,代理会自动识别。

4. 进阶小技巧:让体验更稳、更快、更省心

配通只是开始。以下三个小设置,能显著提升日常使用体验,且全部一行命令搞定:

4.1 设置超时,避免前端无限等待

默认代理无超时,若 Ollama 响应慢,Clawdbot 会卡死。添加 --timeout 60s

clawdbot-gateway --ollama-host http://localhost:11434 --port 18789 --timeout 60s

这样,单次请求超过 60 秒自动中断,前端显示“请求超时”,而非假死。

4.2 启用日志记录,问题秒定位

--log-file /var/log/clawdbot-gateway.log,所有转发请求、耗时、错误都会落盘:

clawdbot-gateway --ollama-host http://localhost:11434 --port 18789 --log-file /var/log/gateway.log

排查时直接 tail -f /var/log/gateway.log,比看控制台滚动日志清晰十倍。

4.3 一键重启脚本:告别重复敲命令

新建 start.sh,内容如下:

#!/bin/bash
# 停止旧进程
pkill -f "clawdbot-gateway"
pkill -f "clawdbot-server"

# 启动代理(后台)
nohup clawdbot-gateway \
  --ollama-host http://localhost:11434 \
  --port 18789 \
  --timeout 60s \
  --log-file /var/log/gateway.log > /dev/null 2>&1 &

# 启动 Clawdbot(后台)
nohup CLAWDBOT_API_BASE_URL="http://localhost:18789" \
     CLAWDBOT_MODEL_NAME="qwen3:32b-q4_k_m" \
     clawdbot-server --port 8080 > /dev/null 2>&1 &

echo " Clawdbot + Qwen3-32B 已启动"
echo " 前端地址: http://localhost:8080"
echo "🔧 网关日志: tail -f /var/log/gateway.log"

赋予执行权限并运行:

chmod +x start.sh && ./start.sh

以后只需 ./start.sh,三秒完成全栈启动。

5. 总结:你已经掌握了私有大模型落地的核心能力

回顾一下,今天我们完成了什么:

  • 理清了 Ollama、Clawdbot、代理网关三者的角色与协作逻辑
  • 实操四步,从模型加载到页面可用,全程无报错打通
  • 掌握了 4 类高频问题的精准定位与解决方法
  • 学会了 3 个提升稳定性和效率的实用技巧

这看似只是一个“配置教程”,但背后是你对大模型本地化部署最关键一环的理解:API 协议桥接。未来无论换 Llama、Mixtral,还是接入 RAG 插件、数据库工具,底层思路都是相通的——找对入口、配好翻译、验证通路。

不需要背命令,不需要记参数。只要记住这个铁律:前端认网关,网关认模型,三者端口不打架,名字完全一致,就一定能通。

现在,关掉教程,打开 http://localhost:8080,试着问 Qwen3-32B 一个你真正关心的问题。这一次,它应该会认真回答你。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐