在ubuntu2204环境中使用npm部署openclaw对接本地ollama
前言
最近在研究自动化运维工具,正好看到OpenClaw这个项目,据说是AI驱动的命令行助手。那还等什么?必须自己动手部署一个试试水,看看它到底能不能成为提升效率的得力帮手。
一、环境信息
先把这次部署的环境给大家列一下,方便对照参考:
操作系统:Ubuntu 22.04.5 LTS
Node版本:v22.22.0
NPM版本:10.9.4
二、部署步骤
1.部署node环境
第一步自然是搭建基础运行环境。这里选择通过NodeSource仓库来安装Node.js,过程非常顺畅。如果环境处于断网状态,也可以通过源码编译安装,两种方式都挺方便。
# 1. 更新系统 & 安装必要工具
sudo apt update
sudo apt install -y curl
# 2. 添加 NodeSource 仓库(以 Node.js 22.x LTS 为例)
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
# 3. 安装 Node.js(自动包含 npm)
sudo apt install -y nodejs
# 4. 验证安装
node -v # 查看 Node.js 版本
npm -v # 查看 npm 版本
2.安装openclaw
基础环境搞定后,就可以安装OpenClaw本体了。这里使用NPM进行全局安装。
# 安装git环境
apt install git -y
# 安装openclaw
npm install -g openclaw@latest --force
# 启动openclaw
openclaw onboard --install-daemon
启动后,系统会给出交互式提示,根据自己环境的实际情况一步步操作就行。我这边计划对接自己本地已经部署好的Ollama服务。
3.对接本地ollama所需的配置
要让OpenClaw使用我们自己的模型,关键就在于配置文件:~/.openclaw/openclaw.json。核心是修改models部分,指向本地的Ollama API地址。
"models": {
"mode": "merge",
"providers": {
"custom-172-16-113-20-11434": {
"baseUrl": "http://172.16.113.20:11434/v1",
"apiKey": "test",
"api": "ollama",
"models": [{
"id": "llama3.2",
"name": "llama3.2 (Custom Provider)",
"reasoning": false,
"input": ["text"],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 16000,
"maxTokens": 4096
},{
"id": "qwen2.5-coder:0.5b-instruct-q4_K_M",
"name": "qwen2.5-coder:0.5b-instruct-q4_K_M",
"reasoning": false,
"input": ["text"],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 32000,
"maxTokens": 4096
},{
"id": "qwen3.5:4b",
"name": "qwen3.5:4b",
"reasoning": false,
"input": ["text"],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 32000,
"maxTokens": 4096
}]
}
},
"agents": {
"defaults": {
"model": {
"primary": "custom-172-16-113-20-11434/qwen2.5-coder:0.5b-instruct-q4_K_M"
},
"models": {
"custom-172-16-113-20-11434/llama3.2": {
"alias": "llama3.2"
},
"custom-172-16-113-20-11434/qwen2.5-coder:0.5b-instruct-q4_K_M": {
"alias": "qwen2.5-coder:0.5b-instruct-q4_K_M"
},
"custom-172-16-113-20-11434/qwen3.5:4b": {
"alias": "qwen3.5:4b"
},
"workspace": "/root/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
配置文件修改完成后,别忘了重启服务让配置生效。
# 重启命令
systemctl --user restart openclaw-gateway
# 状态
systemctl --user status openclaw-gateway
# 查看日志命令
tail -f /tmp/openclaw/openclaw-2026-03-05.log
总结
部署完成后,我第一时间想测试下它的自动化能力,比如让它直接去服务器上执行个命令。结果你猜怎么着?它非常“有原则”地告诉我,它只是一个辅助工具,没有权限在机器上直接执行命令。这个边界划得很清楚。
初步体验下来,整个安装和配置流程还算清晰。不过,工具的能力边界和具体应用场景,还需要更多时间去挖掘。正好手头来了新任务,关于OpenClaw的更深度折腾,就留到下次有空再继续吧。

