OpenClaw部署与调用本地部署的大模型
记录一下这个部署过程:不想调云端API,毕竟花钱买Token还是有点肉疼,所以打算在本地部一个大模型。有一台放在内网机房的服务器,用来做大模型的宿主机。有了大模型之后,需要找个终端来运行 OpenClaw 框架,所以去闲鱼淘了台便宜二手旧电脑,安装Ubuntu 24.04 系统,作为物理沙箱。
机房里的服务器本身无法连外网;工位笔记本条件最好,能正常上网,能通过有线SSH连到内网机房的服务器。用来跑龙虾的闲鱼二手电脑,只能通过连接热点获取外部网络,不在内网环境里。
服务器:位于内网机房,运行大模型后端。
电脑 A:能连内网的笔记本,作为网关桥梁。
电脑 B:闲鱼买来的二手本(Ubuntu 24.04),通过热点上网,运行 OpenClaw 客户端。
其实如果能把大模型跟openclaw放到同一台机子上更简单一些,但这样主要是考虑到安全问题,万一龙虾一不高兴删点啥就完蛋了。
ollama与大模型部署
ssh连服务器
官方安装脚本是这样的:
curl -fsSL https://ollama.com/install.sh | sh
这里它相当于先把安更具体的bash脚本给下载下来,然后根据脚本里的步骤去下载完整的ollama。
但是由于我们的服务器是通过远程ssh访问的,且服务器没法直接访问互联网,因此这里需要借助能上网的笔记本作为中转,设置临时代理去下载:
curl -x http://笔记本内网ip:7890 -fsSL https://ollama.com/install.sh | HTTPS_PROXY=http://笔记本内网ip:7890 sh
下完后改它的配置文件:
sudo mkdir -p /etc/systemd/system/ollama.service.d/
sudo vim /etc/systemd/system/ollama.service.d/override.conf
把这一段加上
[Service]
Environment="CUDA_VISIBLE_DEVICES=0,1"
Environment="HTTP_PROXY=http://笔记本ip:7890"
Environment="HTTPS_PROXY=http://笔记本ip:7890"
其中CUDA_VISIBLE_DEVICES主要是指定它可调用的gpu,这里不写也行,因为我希望它的调用局限于两个gpu,不要把服务器上所有gpu全折腾起来。
下面那俩还是代理,因为ollama也需要联网去拉取模型。
wq!保存后,接下来:
告诉系统你修改了配置:sudo systemctl daemon-reload
重启ollama服务:sudo systemctl restart ollama
重启后,我们要检查一下 Ollama 进程是否真的拿到了代理设置,运行下面这行命令:
-
如果屏幕输出了你设置的那几行
Environment内容,说明配置成功! -
如果啥也没输出,说明配置还是没生效,那可能需要检查文件权限。
下载模型(这里我们选择Qwen3.5):
ollama pull qwen3.5:35b-a3b
下载完成后在服务器终端运行:
ollama run qwen3.5:35b-a3b
退出聊天界面: 在 >>> 提示符处,直接输入 /bye 然后回车,或者按快捷键 Ctrl + D,就可以退出当前的对话界面,回到普通的终端命令行。
强制立刻释放资源: 退出聊天界面后,模型默认还会占 5 分钟显存。如果想立刻把显存清空(比如想跑其他任务),可以在终端直接运行这条命令:
ollama stop qwen3.5:35b-a3b
openclaw部署
以下是在电脑B上的操作:
cd
sudo apt update
sudo apt install -y git curl
# 安装 Node.js
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
sudo npm install -g pnpm
我的这个笔记本B没有挂节点,需要走笔记本A上的梯子流量,否则git下载不下来,可以这样搞:
git config --global http.proxy http://192.168.137.1:7890
git config --global https.proxy http://192.168.137.1:7890
git clone https://github.com/OpenClaw/OpenClaw.git
cd OpenClaw
npm run build
pnpm install
pnpm run build
pnpm run start
pnpm run start -- setup
pnpm run start -- gateway
内网服务器(运行 Qwen 模型)无法直接暴露在公网,客户端笔记本通过连接手机热点或随身 WiFi 获得外部网络,同时需要访问内网服务器的模型 API。
所以这里需要在电脑A上开一个窗口:
# 假设模型 API 运行在 11434 端口
# 这里相当于我们把服务器的11434端口中转到电脑A的11435端口
# 为啥不也中转到电脑A的11434端口?因为不知道为啥它报错了,总之换个端口中转也行
ssh -N -f -L 0.0.0.0:11435:127.0.0.1:11434 用户名@服务器ip
此时如何验证一下电脑B上能不能走这个接口呢?在B上输入运行curl http://192.168.137.1:11435/api/tags试试。
如果输出是类似这样的一大串:
{"models":[{"name":"glm-4.7-flash:latest","model":"glm-4.7-flash:latest","modified_at":"2026-03-18T08:30:20.430865628Z","size":19019270852,"digest":"d1a8a26252f18eb157e01321222","details":{"parent_model":"","format":"gguf","family":"glm4moelite","families":["glm4moelite"],"parameter_size":"29.9B","quantization_level":"Q4_K_M"}},{"name":"qwen3.5:35b-a3b","model":"qwen3.5:35b-a3b","modified_at":"2026-03-12T16:00:38.591154269Z","size":23869191742,"digest":"3460ffeede5453ea30971993babdb2165221f7","details":{"parent_model":"","format":"gguf","family":"qwen35moe","families":["qwen35moe"],"parameter_size":"36.0B","quantization_level":"Q4_K_M"}}]}
说明跑通了。
回到电脑B,我们再打开一个窗口,配置一下model提供方
cd OpenClaw
pnpm run start -- configure
配置时这样选:
◇ Where will the Gateway run?
│ Local (this machine)
│
◇ Select sections to configure
│ Model
│
◇ Model/auth provider
│ Ollama
│
◇ Ollama base URL
│ http://电脑A的局域网ip:11435
#例如http://192.168.137.1:11435,一般是这个,可以ipconfig看一下
#然后等着它在服务器上下载一个glm-4.7-flash(我也不知道为啥它非得下这个,没有提供一个直接的qwen3.5的接口)
启动openclaw
cd ~/OpenClaw
pnpm run start -- tui
此时就可以用了,但是它用的模型api默认是那个glm-4.7-flash,这个算是一个轻量化的小模型,如何把它切换成qwen3.5:35b-a3b或者其他模型?
修改配置文件,如下流程
rm -rf ~/.openclaw/agents/main #把之前那个对话给扬了,避免留下缓存
vim ~/.openclaw/openclaw.json
#这里要修改以下参数:
#"primary": "ollama/qwen3.5:35b-a3b",
#意思是把它作为主要的模型api
然后重启服务
pnpm run start -- gateway stop
pnpm run start -- tui
每次电脑关机后重新启动应该怎么办呢
#在电脑A上
ssh -N -f -L 0.0.0.0:11435:127.0.0.1:11434 用户名@服务器ip
#在电脑B上开第一个窗口
cd ~/OpenClaw
pnpm run start -- gateway
#第二个窗口
cd ~/OpenClaw
pnpm run start -- tui


浙公网安备 33010602011771号