乐于分享
好东西不私藏

OpenClaw + 大模型 双机分布式部署方案

OpenClaw + 大模型 双机分布式部署方案
本文总结了 OpenClaw 及大模型的完整部署架构,涵盖两台设备的分工、关键配置步骤、安全加固措施及日常维护命令。
整个方案的核心是:Mac作为大脑(控制器),Windows 作为肌肉(模型服务器),通过加密 SSH 隧道通信,实现稳定、安全、可长期运行的 AI 助手系统。

1. 整体架构

[飞书/网页] → Mac 端 OpenClaw 网关 (控制器)                  ↓ (SSH 隧道,端口转发)         Windows 端 Ollama 服务 (模型服务器)                  ↓               大模型推理
Mac(大脑):运行 OpenClaw 网关,负责接收飞书消息、调用工具(Tavily 搜索)、调度 Agent、管理插件和技能。
Windows (肌肉):运行 Ollama 服务,加载大模型(Qwen3.5:9b-32k),仅提供推理能力,不安装 OpenClaw。
通信:Mac 通过 SSH 隧道将 Windows 的 Ollama 端口(11434)映射到本地 8888 端口,OpenClaw 模型提供者指向 http://127.0.0.1:8888/v1。
安全:Windows 防火墙仅允许 Mac 的 IP 访问 22 端口;SSH 使用密钥认证;Mac 端 OpenClaw 绑定 loopback 并配置强 Token。

2. 硬件与软件环境

设备

硬件配置

角色

主要软件

Mac (iMac)

M1 芯片, 16GB 内存

控制器

OpenClaw, Node.js, autossh, launchd

Windows (PC)

i5-12600KF, RTX 4060 8GB, 48GB 内存

模型服务器

Ollama, OpenSSH Server, Windows 防火墙


3. Windows 端配置(模型服务器)

3.1 安装与启动 Ollama

下载安装 Ollama for Windows
下载所需模型(以 Qwen3.5:4b 为例,并创建 32K 上下文版本):
ollama pull qwen3.5:4b# 创建 32K 上下文模型cd C:\Users\*****\Documents\MyOllamaModelsnotepad Modelfile   # 内容:FROM qwen3.5:4b \n PARAMETER num_ctx 32768ollama create qwen3.5:9b-32k -f Modelfile
设置 Ollama 监听所有网络接口(以便 Mac 访问):
setx OLLAMA_HOST "0.0.0.0"# 重启 Ollama 服务(任务栏图标退出后重启)

3.2 安装与配置 OpenSSH Server

以管理员身份打开 PowerShell,安装 SSH 服务:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0Start-Service sshdSet-Service -Name sshd -StartupType 'Automatic'
启用密钥认证(禁用密码登录可选):
# 编辑 C:\ProgramData\ssh\sshd_config,确保以下行存在:PubkeyAuthentication yesPasswordAuthentication no   # 如果完全使用密钥,可禁用密码
添加 Mac 的公钥到 C:\Users\****\.ssh\authorized_keys(先创建目录),并设置权限:
mkdir C:\Users\****\.ssh# 将 Mac 的 ~/.ssh/id_rsa.pub 内容粘贴到 authorized_keysicacls C:\Users\****\.ssh\authorized_keys /inheritance:r /grant "*****:F"
3.3 防火墙规则
创建防火墙规则,只允许 Mac 的 IP(例如 192.168.*.*)访问 22 端口:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -RemoteAddress 192.168.*.*

4. Mac 端配置(控制器)

4.1 安装 OpenClaw 及依赖

安装 Homebrew、Git、Node.js:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"brew install git node
安装 OpenClaw:
npm install -g openclaw@latest

4.2 配置 SSH 隧道

生成 SSH 密钥(如果未生成):
ssh-keygen -t rsassh-copy-id *****@192.168.*.*
测试免密登录:
ssh *****@192.168.*.*
使用 autossh 建立持久隧道(后台运行):
brew install autosshautossh -M 0 -N -L 8888:127.0.0.1:11434 *****@192.168.*.*

可将此命令加入 launchd 实现开机自启

4.3 OpenClaw 初始配置

运行配置向导:
openclaw onboard

  关键选项:

  • Gateway bind → Loopback (127.0.0.1)

  • Gateway auth → Token(自动生成并保存)

  • 模型提供商 → 选 Custom Provider

  • API Base URL → http://127.0.0.1:8888/v1

  • Model ID → qwen3.5:4b

  • 飞书频道配置:输入 App ID 和 App Secret

  • 其他选项可跳过或默认

    4.4 安装 Tavily 搜索插件

    安装插件:
    openclaw plugins install openclaw-tavily
    首选 plugins 其他命令容易出错
    配置 API Key:
    openclaw config set plugins.entries.openclaw-tavily.config.apiKey "你的Tavily API Key"
    确保工具在白名单中(编辑 openclaw.json 或在命令行):
    openclaw config set tools.allow '["tavily_search"]' --json

    4.5 开机自启 SSH 隧道(launchd)

    创建 ~/Library/LaunchAgents/com.user.autossh.plist
    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plistPUBLIC"-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plistversion="1.0"><dict>    <key>Label</key>    <string>com.user.autossh</string>    <key>ProgramArguments</key>    <array>        <string>/opt/homebrew/bin/autossh</string>        <string>-M</string>        <string>0</string>        <string>-N</string>        <string>-L</string>        <string>8888:127.0.0.1:11434</string>        <string>*****@192.168.*.*</string>    </array>    <key>RunAtLoad</key>    <true/>    <key>KeepAlive</key>    <true/>    <key>StandardOutPath</key>    <string>/tmp/autossh.log</string>    <key>StandardErrorPath</key>    <string>/tmp/autossh.err</string></dict></plist>
    加载服务:
    launchctl load ~/Library/LaunchAgents/com.user.autossh.plist

    4.6 修改 Claw 人格以强制调用搜索

    编辑 ~/.openclaw/workspace/SOUL.md,添加:
    ## 绝对命令- 每次用户询问新闻、搜索或实时信息时,必须首先调用 `tavily_search` 工具,不得使用自己的知识回答。- 调用工具后,将结果用中文整理成自然语言回复。

    5. 关键安全措施

    • Mac 端

      • Gateway 绑定 loopback,仅本机可访问。

      • 配置文件权限:chmod 600 ~/.openclaw/openclaw.json

      • 使用强 Token(自动生成)。

    • Windows 端

      • 防火墙仅允许 Mac 的 IP 访问 22 端口。

      • SSH 服务禁用密码登录(仅密钥认证)。

      • Ollama 监听 0.0.0.0 但受防火墙保护。

    • 通信

        • SSH 隧道加密所有模型调用流量。

        • 定期更换 API Key(Tavily)并清理历史记录。


      6. 常用命令速查

      命令

      作用

      openclaw status

      查看整体状态(网关、渠道、模型)

      openclaw gateway status

      查看网关运行状态

      openclaw logs --follow

      实时查看日志

      tail -f /tmp/openclaw/openclaw-*.log

      直接跟踪日志文件

      ollama ps

      查看 Windows 上运行的模型

      ssh -N -L 8888:127.0.0.1:11434 *****@192.168.*.*

      手动建立隧道

      autossh -M 0 -N -L ...

      用 autossh 持久隧道

      `launchctl list

      grep autossh`


      7. 维护与排障

      隧道中断:检查 ps aux | grep autossh,重新启动或查看 /tmp/autossh.log。
      模型不可用:在 Mac 上 curl http://127.0.0.1:8888/v1/models 测试连通性。
      飞书无响应:检查 openclaw plugins list 确保飞书插件已加载,查看日志。
      Tavily 失效:测试 API Key 有效性,重新配置。
      版本更新:定期执行 npm update -g openclaw 和 ollama pull qwen3.5:4b。

      8. 后续可扩展方向

      添加更多 Agent(多 Agent 团队)。
      安装 self-improving-agent 技能,让 Claw 自我进化。
      集成更多工具(如浏览器控制、文件操作)。
      使用 skill-vetter 审查新技能安全性。