【OpenClaw】本地部署的OpenClaw对接本地部署的大模型(以DeepSeek为例)

在使用OpenClaw后最大的一个烦恼是需要经常充值,无论连接的是Qwen还是Kimi,可能是两个方面的原因,一是大模型厂家资源不足,通过收费方式来控制接入使用量,另一个是大模型厂家本身也有资源投入,需要运营投入。
如何实现自由使用大模型呢?本地部署的大模型,实现Token自由!!!

本地部署的OpenClaw对接本地DeepSeek的核心:
让DeepSeek以OpenAI兼容API暴露服务,再在OpenClaw中通过「自定义提供者」指向该本地端点,全程无需云端API Key。以下是企业级可落地的完整步骤,优先采用Ollama作为推理服务(最稳定、适配性最好)。

一、前置准备(必做)

组件 版本 / 要求 作用
DeepSeek 模型 DeepSeek-R1:7B/14B/32B(Ollama 镜像) 本地推理核心
Ollama 最新稳定版 提供 OpenAI兼容API服务
OpenClaw 2026.2.26 自动化编排与交互层
网络 本地 / 局域网互通,防火墙放行目标端口 确保组件间通信

二、安装步骤
步骤 1:本地启动DeepSeek(Ollama方式)

  1. 安装 Ollama
# Linux/macOS
curl -fsSL https://ollama.com/install.sh | sh

# Windows
# 从官网下载安装包:https://ollama.com/download
  1. 拉取并启动 DeepSeek 模型
bash
运行
# 按需选择模型(7B 适合 16GB 内存,32B 需 64GB+)
ollama pull deepseek-r1:7b  # 轻量版
# ollama pull deepseek-r1:32b  # 高性能版

# 启动 API 服务(监听 0.0.0.0,允许局域网访问)
# 临时生效(终端启动)
OLLAMA_HOST=0.0.0.0:11434 OLLAMA_ORIGINS=http://localhost:3000 ollama serve

# 持久化配置(推荐)
# Linux/macOS:编辑 /etc/ollama/config.yaml
echo "host: 0.0.0.0:11434" | sudo tee -a /etc/ollama/config.yaml
echo "origins: http://localhost:3000" | sudo tee -a /etc/ollama/config.yaml  # 允许 OpenClaw 跨域
sudo systemctl daemon-reload && sudo systemctl restart ollama

# Windows:通过服务管理重启 Ollama,环境变量在系统属性中设置
  1. 验证本地 API 可用性
bash
运行
# 测试 OpenAI 兼容端点
curl -X POST http://<本地IP>:11434/v1/chat/completions \
  -H "Authorization: Bearer ollama" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-r1:7b",
    "messages": [{"role": "user", "content": "你好,测试连接"}]
  }'

成功返回 content 字段即表示 DeepSeek 本地 API 就绪。

步骤 2:配置 OpenClaw 对接本地 DeepSeek**
方法 A:交互式向导(推荐,零配置错误)

bash
运行
# 进入 OpenClaw 配置向导
npx openclaw onboard --custom

按以下步骤操作:
Where will the gateway run? → 选 local (this machine)
Select sections to configure → 空格选中 model,回车
Model/auth provider → 选 custom provider
API Base URL → 输入 http://<本地IP>:11434/v1(替换为实际 IP)
How to provide API key? → 选 paste api key now,输入 ollama(固定值)
Endpoint compatibility → 选 openai-compatible
Model ID → 输入 deepseek-r1:7b(与拉取的模型一致)
Model alias → 可选,留空回车
选择 continue 完成配置。

方法 B:手动编辑配置文件(适合批量部署)
编辑 OpenClaw 全局配置文件 ~/.openclaw/openclaw.json:

json
{
  "models": {
    "mode": "merge",
    "providers": {
      "local-deepseek": {
        "baseUrl": "http://<本地IP>:11434/v1",
        "apiKey": "ollama",
        "api": "openai-completions",
        "models": [
          {
            "id": "deepseek-r1:7b",
            "name": "Local DeepSeek R1-7B",
            "contextWindow": 128000,
            "maxTokens": 8192
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "local-deepseek/deepseek-r1:7b"
      }
    }
  }
}

步骤 3:重启 OpenClaw 并验证

  1. 重启 OpenClaw 服务
bash
运行
# 停止旧进程
pkill -f openclaw

# 启动服务
pnpm openclaw start  # 或 npm run dev(开发模式)
  1. 功能验证
    访问 OpenClaw UI:http://localhost:3000
    发送消息,查看是否返回本地 DeepSeek 的回复。
    查看日志确认无报错:
bash
运行
tail -f /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log

三、企业级优化与排坑

  1. 网络与安全优化
    1)固定 IP:使用静态 IP 或 hostname,避免动态 IP 导致配置失效。
    2)防火墙策略:仅放行 OpenClaw 所在 IP 访问 Ollama 端口(11434),禁止公网暴露。
    3)HTTPS 反向代理:生产环境可通过 Nginx 配置 HTTPS,解决跨域与安全问题。
  2. 常见问题排查
问题 原因 解决方案
API request failed 端口不通 / 跨域 检查防火墙,确认 OLLAMA_ORIGINS 包含 OpenClaw 地址
Model not found 模型 ID 不匹配 确保 model.id 与 ollama list 中的名称一致
推理缓慢 内存 / 显卡不足 降级模型(7B→14B),关闭其他进程,启用 GPU 加速
配置不生效 缓存问题 删除 ~/.openclaw/cache,重启 OpenClaw

四、替代方案(无Ollama时)
若直接部署DeepSeek官方源码,需自行搭建OpenAI兼容层(如使用fastapi封装),核心步骤:
1)克隆 DeepSeek 官方仓库:git clone https://github.com/deepseek-ai/core.git
2)安装依赖并启动模型,通过 fastapi 暴露 /v1/chat/completions 端点。
3)按步骤 2 配置 OpenClaw,指向该自定义端点。

总结
通过Ollama封装DeepSeek为OpenAI兼容API,再在OpenClaw中配置「自定义提供者」,是本地对接的最优路径。此方案兼顾稳定性与易用性,适合企业私有化部署场景。核心要点:确保端口互通、跨域配置正确、模型ID一致。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐