数据不出本机:OpenClaw搭配本地大模型的完全离线部署方案

我对一切云端API的态度是:不信任。不是因为它们不好用,而是因为当你把指令和上下文发送到远端服务器时,你的数据就脱离了你的控制。你不知道它会被存储多久、会不会被用于模型训练、会不会在某次数据泄露事件中出现在暗网上。

所以我的原则很简单:数据不出本机。 推理在本地完成,模型在本地运行,对话记录在本地存储。没有任何一个比特的数据需要经过互联网。OpenClaw搭配本地大模型,可以做到这一点。下面是完整的离线部署方案。

核心架构

整个系统由两部分组成:OpenClaw作为操作载体,负责任务调度、工具调用、界面交互;本地大模型作为推理引擎,负责理解指令和生成回复。两者通过本地回环地址(127.0.0.1)通信,流量不经过任何外部网络。

本地模型运行工具有两个主流选择:Ollama(命令行驱动,资源占用低,适合有终端使用习惯的用户)和LM Studio(图形界面,操作直观,适合不习惯命令行的用户)。两者都是开源免费的。

硬件要求:你的机器能不能跑本地模型?

这是第一个必须回答的问题。本地大模型对硬件有明确要求:

基础配置(能跑7B参数模型,如Qwen2.5-7B): CPU需要Intel i5或AMD Ryzen 5及以上,4到6核心。内存至少16GB,8GB也能跑但会明显卡顿。存储预留10到20GB空闲空间给模型文件。没有独立显卡也能运行,CPU推理速度大约5到10 tokens每秒——能用,但不快。

推荐配置(流畅运行7B及以上模型): CPU需要i7或Ryzen 7级别,8核以上。内存32GB。SSD存储(机械硬盘加载模型会慢很多)。显卡8到12GB显存(如RTX 3060或4060),GPU加速后推理速度可达20到60 tokens每秒,体验显著提升。

如果你的机器不满足基础配置,建议暂时使用云端API,等硬件升级后再迁移到本地方案。数据隐私很重要,但卡到无法使用也没有意义。

第一步:安装OpenClaw

这一步各操作系统的流程:

Windows(推荐WSL2方案): 以管理员身份打开PowerShell,执行wsl --install -d Ubuntu安装WSL2。重启后进入Ubuntu终端,执行sudo apt update && sudo apt install -y nodejs git python3-pip安装依赖。然后npm config set registry https://registry.npmmirror.com配置国内镜像,npm install -g openclaw@latest安装OpenClaw。openclaw --version验证。

Windows(原生方案): 安装nvm-windows管理Node.js版本,nvm install 22然后nvm use 22。解锁PowerShell执行策略:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser。安装OpenClaw:npm i -g openclaw@latest

macOS: brew install node@22安装Node.js,npm config set registry https://registry.npmmirror.com配镜像,npm install -g openclaw@latest安装。

Linux(Ubuntu): sudo apt update && sudo apt install -y nodejs git python3-pip,然后同上。

第二步:安装本地模型运行工具

方案A:Ollama(我的首选)

Windows WSL2和Linux用户在终端执行:curl https://ollama.com/install.sh | sh。Windows原生和macOS用户去ollama.com下载安装包,双击安装。

安装完成后,拉取模型。我推荐Qwen2.5-7B,在隐私性和性能之间取得了不错的平衡:

ollama pull qwen2.5:7b

下载大约需要十到二十分钟,取决于网速。模型文件大约4到5GB。

关键步骤:扩展上下文窗口。 默认的4096 tokens上下文太小,AI容易说到一半就断。执行以下命令创建一个32K上下文的自定义模型:

echo "FROM qwen2.5:7b
PARAMETER num_ctx 32768" > Modelfile
ollama create qwen2.5:7b-32k -f Modelfile

启动Ollama服务:ollama serve。验证:浏览器访问http://127.0.0.1:11434,显示"Ollama API is running"即成功。

方案B:LM Studio

去lmstudio.ai下载安装。打开软件后,在模型搜索中找到Qwen2.5-Coder-7B-Instruct,选择Q4_K_M量化版本下载。加载模型时,如果没有独立显卡,把GPU卸载设为0;有显卡则根据显存调整。启动本地API服务器,默认端口1234。

第三步:对接OpenClaw与本地模型

初始化OpenClaw:openclaw init

启动网关服务(后台运行):

Linux/WSL2/macOS:nohup openclaw gateway start > ~/.openclaw/logs/gateway.log 2>&1 &

Windows原生:openclaw gateway install然后openclaw gateway start

验证:openclaw gateway status显示"Gateway running on port 18789"。

修改配置文件: 这是最关键的一步。打开OpenClaw配置文件:

Linux/WSL2/macOS路径:~/.openclaw/config.json

Windows路径:C:\Users\你的用户名\.openclaw\config.json

如果使用Ollama,配置为:

{
  "models": {
    "provider": "ollama",
    "basePath": "http://127.0.0.1:11434/v1",
    "apiKey": "ollama",
    "model": "qwen2.5:7b-32k"
  }
}

如果使用LM Studio,配置为:

{
  "models": {
    "provider": "openai",
    "basePath": "http://127.0.0.1:1234/v1",
    "apiKey": "lmstudio",
    "model": "你下载的模型名称"
  }
}

三个必须注意的配置细节:

第一,basePath必须用127.0.0.1,不要用localhost。部分系统解析localhost时可能出问题。

第二,apiKey不能留空。Ollama和LM Studio虽然不需要真实认证,但OpenClaw的配置校验要求该字段有值。随便填一个非空字符串即可。

第三,如果用了自定义扩窗模型,model字段必须写自定义模型的名称(如qwen2.5:7b-32k),不是原始模型名。

保存配置后重启网关:openclaw gateway restart

第四步:验证部署

生成访问令牌:openclaw token generate。查看令牌,打开浏览器访问http://localhost:18789,输入令牌登录。

在Chat界面输入一段测试文字,比如"用三句话介绍你自己"。如果AI正常回复,整个部署就完成了。所有的推理都在你的本地CPU或GPU上完成,没有任何数据发送到外部。

隐私加固措施

部署完成后,我建议额外做以下几件事情来加固隐私:

防火墙规则。 在系统防火墙中阻止OpenClaw和Ollama进程的所有出站网络连接。它们只需要通过127.0.0.1互相通信,不需要访问互联网。这样即使配置被误改,数据也不会意外外泄。

磁盘加密。 对话记录和配置文件存储在~/.openclaw/目录下。启用全盘加密(Windows用BitLocker,macOS用FileVault)保护这些文件不被物理接触设备的人读取。

独立设备。 如果条件允许,在一台专用设备上运行OpenClaw,不在这台设备上处理其他涉及个人隐私的事务。如果条件不允许,至少在虚拟机中运行。

定期清理。 定期审查并清理~/.openclaw/下的对话记录和日志文件。不需要保留的数据就安全删除,减少数据存量。

模型文件校验。 只从官方渠道下载模型文件。下载完成后检查文件哈希值,确保模型未被篡改。一个被植入后门的模型可以在回复中泄露你的输入内容。

关于性能与隐私的取舍

本地7B模型的推理能力不如GPT-4o或Claude这样的大模型,这是事实。你会注意到它在复杂推理、长文本处理、代码生成方面的表现有差距。但对于大多数日常任务——信息整理、自动回复、文档起草、数据处理——7B模型已经足够胜任。

隐私不是免费的,它的代价是一些推理能力和响应速度。我认为这个代价是值得的。你的数据是你的数据,这个底线不应该因为"云端模型更聪明"就被放弃。

蹲一个后续

这个分析很到位

终于有人把技术细节讲清楚了

逻辑通顺

完全离线方案对数据安全要求高的用户确实刚需

数据不出本机说得好听 你本机被黑了不一样泄露

离线方案的最大价值是在没网的地方也能用 出差高铁上简直救命

@debatex 本机被黑当然会泄露 但攻击面从’任何有网络的人’缩小到’能物理接触你电脑的人’ 安全等级提高了一个数量级

@bolddoe21 离线方案对律所、医院这种对数据隐私极度敏感的行业特别有价值 云端方案他们不敢用 本地方案解决了这个顾虑

回调函数写错了debug半天才发现

用队列做请求调度比较优雅