大家好,我是闻为。闻所见,为所能。
这里是闻为AI空间,专注分享AI应用实战、自动化工作流、效率工具拆解与成长思考,从工具到框架,从入门到进阶,做一个有干货、能落地的 AI 技术空间。
不依赖任何外部服务,完全自主可控。你的 AI,只属于你。
背景:完全内网环境的 AI 助手需求
我所在单位是完全的内网环境,无法访问任何外部网络。想在这样的环境部署 OpenClaw,面临一个现实问题:不能用飞书、企业微信、钉钉等主流聊天工具。
怎么办?只能寻找开源、可自托管的聊天方案。
调研过程
我调研了市面上主流的开源聊天工具,对比它们与 OpenClaw 的兼容性:
| 方案 | 开源 | OpenClaw 支持 | 部署难度 | 社区活跃度 |
|---|---|---|---|---|
| Mattermost | ✅ 是 | ✅ 官方支持 | ⭐⭐ 中等 | 🔥 高 |
| Matrix/Element | ✅ 是 | ✅ 官方支持 | ⭐⭐⭐ 较复杂 | 🔥 高 |
| Rocket.Chat | ✅ 是 | ⚠️ 社区插件 | ⭐⭐ 中等 | 中 |
最终选择:Mattermost
经过调研和实际测试,我选择了 Mattermost 方案,原因如下:
- OpenClaw 官方支持:Mattermost 是 OpenClaw 官方文档中明确支持的平台
- 部署相对简单:Docker 一键部署,配置清晰
- 功能完善:支持频道、私信、机器人、插件扩展
- 社区活跃:文档丰富,问题容易找到解决方案
- 企业级稳定:很多大公司在用,成熟可靠
架构一览
┌─────────────────────────────────────────────────────────────┐
│ 内网环境 │
│ │
│ ┌─────────────┐ │
│ │ Mattermost │ ◄── 团队协作聊天 │
│ │ :8065 │ │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌───────────────┐ │
│ │ OpenClaw │ ◄── AI 网关 + 多 Agent 系统 │
│ │ Gateway │ │
│ └───────┬───────┘ │
│ │ │
│ ▼ │
│ ┌───────────────┐ │
│ │ Ollama │ ◄── 本地大模型推理(Qwen3.5) │
│ │ :11434 │ │
│ └───────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
核心组件:
| 组件 | 作用 | 端口 |
|---|---|---|
| Mattermost | 团队协作聊天平台 | 8065 |
| OpenClaw | AI Agent 网关 | 18789 |
| Ollama | 本地模型推理 | 11434 |
先看效果:在Mattermost 中与 AI 对话
部署完成后,我配置了两个机器人,以下是我在 Mattermost 中跟机器人聊天的记录:
接下来讲一下详细的安装步骤
一、部署 Mattermost(团队聊天)
Mattermost 是开源的团队协作聊天平台,支持自托管,非常适合内网环境。
1. Docker Compose 部署
我使用 docker-compose 进行部署,创建 docker-compose.yml:
version: "3.8"
services:
mattermost:
image: mattermost/mattermost-team-edition:latest
ports:
- "8065:8065"
environment:
MM_SQLSETTINGS_DRIVERNAME: postgres
MM_SQLSETTINGS_DATASOURCE: "postgres://mmuser:mmuser@db:5432/mattermost?sslmode=disable"
volumes:
- ./data:/mattermost/data
depends_on:
- db
db:
image: postgres:15
environment:
POSTGRES_USER: mmuser
POSTGRES_PASSWORD: mmuser
POSTGRES_DB: mattermost
volumes:
- ./postgres:/var/lib/postgresql/data
2. 启动服务
# 启动
docker-compose up -d
# 查看状态
docker-compose ps
3. 初始化配置
启动docker后,可以安装一个mattermost的桌面客户端,打开桌面客户端进行配置,需要输入服务器配置地址和服务器显示名称
点击连接,创建账号
创建组织
4. 创建机器人账号
继续后,需要创建机器人才能使用,点击左上角的菜单,选择集成
点击添加机器人账号
填写 机器人信息,点击创建你就完成了一个机器人的创建,创建好之后会产生令牌ID,这个后面需要配置到OpenClaw的配置文件中
二、部署 Ollama(本地大模型)
Mattermost 搭建好后,接下来部署本地 AI 模型。
为什么选择 Ollama?
- ✅ 零成本:一次部署,永久免费
- ✅ 隐私安全:数据完全本地处理
- ✅ 响应快:本地推理,低延迟
- ✅ 离线可用:断网也能跑
1. 安装 Ollama
Windows 用户:
直接从官网下载:ollama.com/,一路 next 即可。
Linux 用户:
# 一键安装
curl -fsSL https://ollama.com/install.sh | sh
# 启动服务
ollama serve
Mac 用户:
brew install ollama
Docker 部署:
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
2. 显存与模型选择
我这边用的是 RTX 3090 显卡,24G 显存,给大家几个实用推荐:
| 显存大小 | 推荐模型 | 用途 |
|---|---|---|
| 8G | qwen2.5:7b、llama3.2:3b | 日常对话、简单任务 |
| 12G | qwen2.5:14b、mistral:7b | 代码生成、文档处理 |
| 16G+ | qwen3:14b、openclaw-oss-20b | 复杂工作流、自动化任务 |
| 24G+ | 随便造作! | 多模型同时跑 |
我的主力配置:
- 日常用:
voytas26/openclaw-oss-20b-deterministic:latest- 这个模型对 OpenClaw 进行了专门优化
- 输出简洁,自动化工作流中行为稳定
- 不容易"抽风",适合生产环境
- 备用模型:
qwen3:14b- 中文能力强,通用性好
- 适合日常对话和文档处理
下载模型:
# 下载推荐模型
ollama pull voytas26/openclaw-oss-20b-deterministic:latest
# 下载备用模型
ollama pull qwen3:14b
# 下载代码专用模型
ollama pull qwen3-coder
# 下载视觉模型(支持图片理解)
ollama pull qwen3-vl:8b
⚠️ 注意事项
- 首次下载需要网络:模型文件较大,建议找个网速好的时候下载
- 显存不够怎么办:选小一点的模型,或者用量化版本(带
q4_K_M后缀的) - 模型在哪里:默认在
~/.ollama/models/目录,可以 symlink 到其他盘
三、部署 OpenClaw(AI 网关)
把 Mattermost 和 Ollama 安装好了,我们需要把他们和OpenClaw连接起来。
1. 安装 OpenClaw
现在OpenClaw的安装教程实在是太多了,这里不再重复,不会的可以网上查一查,我们重点讲下如何配置。
2. 配置 Ollama 模型
编辑 ~/.openclaw/openclaw.json:
{
"models": {
"mode": "merge",
"providers": {
"ollama": {
"api": "openai-completions",
"apiKey": "ollama-local", // 随便写,Ollama 不需要真正的 key
"baseUrl": "http://192.168.8.173:11434/v1", // 改成你的 Ollama 服务地址
"models": [
{ "id": "voytas26/openclaw-oss-20b-deterministic", "name": "openclaw-oss-20b" },
{ "id": "qwen3:14b", "name": "qwen3-14b" },
{ "id": "qwen3-coder", "name": "qwen3-coder" },
{ "id": "qwen3-vl:8b", "name": "qwen3-vl-8b" },
{ "id": "glm-4.7-flash:q4_K_M", "name": "glm-4.7-flash" }
]
}
}
}
}
配置项说明:
| 配置项 | 说明 |
|---|---|
api | API 类型,Ollama 兼容 OpenAI 格式 |
apiKey | 随便写,Ollama 不验证 |
baseUrl | Ollama 服务地址 |
id | 模型 ID,和 ollama list 一致 |
name | 显示名称 |
3. 配置 Mattermost 通道
OpenClaw默认已经安装 mattermost 插件,不需要再次安装
编辑 ~/.openclaw/openclaw.json:
{
channels: {
mattermost: {
enabled: true,
botToken: "mm-token",
baseUrl: "http://192.168.8.225:8065",
dmPolicy: "pairing",
},
},
}
4. 重启 Gateway
openclaw gateway restart
# 查看状态
openclaw status
四、开始使用
在 Mattermost 中和创建的机器人对话,首次对话,也需要配对:
配对完成后就可以跟机器人对话了
多 Agent 支持
OpenClaw 支持多个专业 Agent:
| Agent | 职责 | 适用场景 |
|---|---|---|
| 主助理 | 通用对话、任务分发 | 日常问答 |
| 技术专家 | 代码、架构、运维 | 开发问题 |
| 写作助手 | 文案、文章、润色 | 内容创作 |
| 如果要配置多个机器人,核心和使用飞书是一样的 |
{
"agents": {
"list": [
{
"id": "support",
"default": false,
"name": "客服机器人",
"workspace": "~/.openclaw/workspace-support",
"model": { "primary": "anthropic/claude-sonnet-4" }
},
{
"id": "dev",
"default": false,
"name": "开发助手",
"workspace": "~/.openclaw/workspace-dev",
"model": { "primary": "openai/gpt-4o" },
"tools": { "allow": ["read", "write", "exec", "browser"] }
},
{
"id": "main",
"default": true,
"name": "通用助手",
"workspace": "~/.openclaw/workspace-main"
}
]
},
"channels": {
"mattermost": {
"enabled": true,
"serverUrl": "http://192.168.8.225:8065", // 统一 Mattermost 地址
"accounts": {
// 机器人1:客服专用
"support_bot": {
"botToken": "mmbot_xxxxxxxxxxxxxxxxxxxxxxxx",
"dmPolicy": "pairing"
},
// 机器人2:开发专用
"dev_bot": {
"botToken": "mmbot_yyyyyyyyyyyyyyyyyyyyyyyy",
"dmPolicy": "pairing"
},
// 机器人3:通用
"main_bot": {
"botToken": "mmbot_zzzzzzzzzzzzzzzzzzzzzz",
"dmPolicy": "pairing"
}
}
}
},
"bindings": [
// 路由规则:最具体的放前面
{
"agentId": "support",
"match": { "channel": "mattermost", "accountId": "support_bot" }
},
{
"agentId": "dev",
"match": { "channel": "mattermost", "accountId": "dev_bot" }
},
{
"agentId": "main",
"match": { "channel": "mattermost", "accountId": "main_bot" }
}
]
}
五、总结
部署步骤回顾:
- 部署 Mattermost → 团队聊天平台
- 安装 Ollama → 下载本地模型
- 安装 OpenClaw → 配置并配对
- 开始使用 → @机器人 对话
全内网部署的核心优势:
| 优势 | 说明 |
|---|---|
| 🔒 数据安全 | 数据不出内网,完全可控 |
| 💰 零 API 成本 | 本地推理,无需付费 |
| 🛠️ 高度定制 | 可根据需求自由扩展 |
| 🌐 离线可用 | 不依赖外部网络 |
适合场景:
- 企业内部 AI 助手
- 敏感行业(金融、医疗、政务)
- 教育/研究机构
- 个人私有云
六、预告:Matrix + OpenClaw 内网部署
本文介绍了 Mattermost + Ollama + OpenClaw 的内网部署方案。
下一期将带来 Matrix + OpenClaw 内网部署教程:
- 🔮 Matrix Synapse 服务器部署
- 💬 Element Web 客户端配置
- 🔗 OpenClaw + Matrix 通道配对
- 🤖 多平台统一接入
敬请期待!
扩展阅读
你的 AI,只属于你。