OpenClaw 本地化部署指南
在本地构建 AI Agent 时,把模型请求放到局域网里的 Ollama 上,省掉公网依赖,也更容易控制数据边界。下面这套配置是在 Linux 环境里跑通 OpenClaw 后,再接入本地 Ollama,并顺手把飞书机器人挂上去的做法。
环境准备
先确认开发机这几项没问题:
- 操作系统:Linux(这里用 CentOS 8)
- Node.js:已安装 Node 22+,npm 源建议顺手换成更快的镜像
- Ollama 服务:已经在局域网另一台机器 B 上跑起来了,模型也提前下好了
可以先用下面这条命令确认 Ollama 服务能访问:
curl http://local.ollama.host:11434/v1/models
如果返回了模型列表,说明后端没问题。
安装与初始化
先把 OpenClaw 全局装上:
npm install -g openclaw@latest
# 或者使用 pnpm
pnpm add -g openclaw@latest
装完后启动守护进程:
openclaw onboard --install-daemon
第一次启动会进引导流程,几个选项按实际情况处理就行:
workspace:默认是~/clawd,不满意可以改channel:先跳过,后面再配飞书provider:先跳过,后面手动接 Ollamamodel:先随便选一个skill:跳过Gateway:保持默认
跑完引导后,会生成 SSH 连接地址和 WebUI 入口。
接入本地模型
OpenClaw 默认不会自动知道你的局域网 Ollama,要自己改配置。打开 ~/.openclaw/openclaw.json,重点看 models 和 agents 两块。
{
"models": {
"providers": {
"ollama": {
"baseUrl": "http://local.ollama.host:11434/v1",
"apiKey": "ollama-local",
"api": "openai-completions",
"models": [
{
"id": "qwen3:30b",
"name": "Qwen3 30B",
"reasoning": true,
"input": ["text"],
"cost": { "input": 0, "output": 0 },
"contextWindow": 32768,
"maxTokens": 327680
},
{
"id": "qwen3-coder:30b",
"name": "Qwen3 Coder 30B",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0 },
"contextWindow": 32768,
"maxTokens": 327680
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "ollama/qwen3-coder:30b",
"fallbacks": ["ollama/qwen2.5:14b"]
},
"workspace": "/root/clawd",
"compaction": { "mode": "safeguard" },
"thinkingDefault": "off",
"maxConcurrent": 4
}
}
}
这里我比较在意的是 baseUrl 和模型名是否对得上。apiKey 只是占位写法,本地 Ollama 一般不校验,但保持字段完整能少踩一些兼容性问题。保存后,就可以直接用本地模型做对话测试。
集成飞书机器人
1. 安装插件
clawdbot plugins install @m1heng-clawd/feishu
2. 创建企业自建应用
登录飞书开放平台,创建「企业自建应用」。
- 应用名称:自定义
- 应用图标:建议用清晰一点的图
创建完成后,进入详情页拿到这两个值:
- App ID
- App Secret
⚠️ App Secret 是敏感信息,别直接丢到公开仓库里。
3. 配置 ClawdBot
用命令行把飞书通道参数写进去:
clawdbot config set channels.feishu.appId "cli_xxxxxxxxxxxxxxxx"
clawdbot config set channels.feishu.appSecret "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
clawdbot config set channels.feishu.enabled true
4. 添加机器人能力
回到应用管理页面,把「机器人」能力加上,再配事件订阅:
- 订阅方式:推荐长连接
- 订阅事件:
im.message.receive_v1(接收消息)
5. 开通权限
在权限管理里把下面这些权限打开:
| 权限 | 范围 | 说明 |
|---|---|---|
im:message | 消息 | 发送和接收消息 |
im:message.p2p_msg:readonly | 私聊 | 读取私聊消息 |
im:message.group_at_msg:readonly | 群聊 | 接收群内@消息 |
im:message:send_as_bot | 发送 | 以机器人身份发送 |
im:resource | 媒体 | 上传下载图片/文件 |
权限配完之后,记得创建版本并发布。少了这一步,前面的配置大多都只是'看起来对了'。
6. 重启服务
clawdbot gateway restart
测试与验证
先发一条消息到飞书机器人,看它是否能正常回复。也可以直接从命令行主动发消息测试:
openclaw message send --channel feishu --target "chat:oc_XXXXXXX" --message "这是一条测试"
如果想做定时任务,比如定时检查 AI 服务器状态,也能直接加一个 cron:
openclaw cron add --name "AI Server Monitor" --cron "0 * * * *" --session isolated --message "定时检查任务" --model "qwen3-coder:30b" --deliver --channel feishu --to "chat:oc_XXXXXXXXXXX"
扩展能力
需要更多功能的话,可以继续通过 clawhub 装 skill 扩展,具体参数还是看官方文档最稳。

