零外网依赖!用 Mattermost + Ollama + OpenClaw 搭建全内网 AI 助手

104 阅读7分钟

大家好,我是闻为。闻所见,为所能。

这里是闻为AI空间,专注分享AI应用实战、自动化工作流、效率工具拆解与成长思考,从工具到框架,从入门到进阶,做一个有干货、能落地的 AI 技术空间。

不依赖任何外部服务,完全自主可控。你的 AI,只属于你。


背景:完全内网环境的 AI 助手需求

我所在单位是完全的内网环境,无法访问任何外部网络。想在这样的环境部署 OpenClaw,面临一个现实问题:不能用飞书、企业微信、钉钉等主流聊天工具

怎么办?只能寻找开源、可自托管的聊天方案。

调研过程

我调研了市面上主流的开源聊天工具,对比它们与 OpenClaw 的兼容性:

方案开源OpenClaw 支持部署难度社区活跃度
Mattermost✅ 是官方支持⭐⭐ 中等🔥 高
Matrix/Element✅ 是✅ 官方支持⭐⭐⭐ 较复杂🔥 高
Rocket.Chat✅ 是⚠️ 社区插件⭐⭐ 中等

最终选择:Mattermost

经过调研和实际测试,我选择了 Mattermost 方案,原因如下:

  1. OpenClaw 官方支持:Mattermost 是 OpenClaw 官方文档中明确支持的平台
  2. 部署相对简单:Docker 一键部署,配置清晰
  3. 功能完善:支持频道、私信、机器人、插件扩展
  4. 社区活跃:文档丰富,问题容易找到解决方案
  5. 企业级稳定:很多大公司在用,成熟可靠

架构一览

┌─────────────────────────────────────────────────────────────┐
│                        内网环境                              │
│                                                              │
│  ┌─────────────┐                                            │
│  │ Mattermost  │  ◄── 团队协作聊天                          │
│  │   :8065     │                                            │
│  └──────┬──────┘                                            │
│         │                                                    │
│         ▼                                                    │
│  ┌───────────────┐                                          │
│  │   OpenClaw    │  ◄── AI 网关 + 多 Agent 系统             │
│  │   Gateway     │                                          │
│  └───────┬───────┘                                          │
│          │                                                   │
│          ▼                                                   │
│  ┌───────────────┐                                          │
│  │    Ollama     │  ◄── 本地大模型推理(Qwen3.5)           │
│  │   :11434      │                                          │
│  └───────────────┘                                          │
│                                                              │
└─────────────────────────────────────────────────────────────┘

核心组件

组件作用端口
Mattermost团队协作聊天平台8065
OpenClawAI Agent 网关18789
Ollama本地模型推理11434

先看效果:在Mattermost 中与 AI 对话

部署完成后,我配置了两个机器人,以下是我在 Mattermost 中跟机器人聊天的记录:

image.png

image.png

接下来讲一下详细的安装步骤

一、部署 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的桌面客户端,打开桌面客户端进行配置,需要输入服务器配置地址和服务器显示名称

image.png

点击连接,创建账号

image.png

创建组织

image.png

4. 创建机器人账号

继续后,需要创建机器人才能使用,点击左上角的菜单,选择集成

image.png

点击添加机器人账号

image.png

填写 机器人信息,点击创建你就完成了一个机器人的创建,创建好之后会产生令牌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 显存,给大家几个实用推荐:

显存大小推荐模型用途
8Gqwen2.5:7bllama3.2:3b日常对话、简单任务
12Gqwen2.5:14bmistral:7b代码生成、文档处理
16G+qwen3:14bopenclaw-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

模型列表

⚠️ 注意事项

  1. 首次下载需要网络:模型文件较大,建议找个网速好的时候下载
  2. 显存不够怎么办:选小一点的模型,或者用量化版本(带 q4_K_M 后缀的)
  3. 模型在哪里:默认在 ~/.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" }
        ]
      }
    }
  }
}

配置项说明

配置项说明
apiAPI 类型,Ollama 兼容 OpenAI 格式
apiKey随便写,Ollama 不验证
baseUrlOllama 服务地址
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 中和创建的机器人对话,首次对话,也需要配对: image.png

配对完成后就可以跟机器人对话了

image.png

多 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" }
    }
  ]
}


五、总结

部署步骤回顾

  1. 部署 Mattermost → 团队聊天平台
  2. 安装 Ollama → 下载本地模型
  3. 安装 OpenClaw → 配置并配对
  4. 开始使用 → @机器人 对话

全内网部署的核心优势

优势说明
🔒 数据安全数据不出内网,完全可控
💰 零 API 成本本地推理,无需付费
🛠️ 高度定制可根据需求自由扩展
🌐 离线可用不依赖外部网络

适合场景

  • 企业内部 AI 助手
  • 敏感行业(金融、医疗、政务)
  • 教育/研究机构
  • 个人私有云

六、预告:Matrix + OpenClaw 内网部署

本文介绍了 Mattermost + Ollama + OpenClaw 的内网部署方案。

下一期将带来 Matrix + OpenClaw 内网部署教程:

  • 🔮 Matrix Synapse 服务器部署
  • 💬 Element Web 客户端配置
  • 🔗 OpenClaw + Matrix 通道配对
  • 🤖 多平台统一接入

敬请期待!


扩展阅读


你的 AI,只属于你。