资讯动态

OpenClaw本地部署实战:AI Agent框架接入Ollama与DeepSeek全指南

发布时间:2026/10/8 14:44:59 来源:尧图企业网站定制
如果你最近在折腾本地大模型大概率已经听过 OpenClaw 这个名字。它就是原来的 Clawdbot2026 年改名后热度涨得很快核心定位一句话一个能装进自己电脑、服务器甚至手机里的 AI Agent 运行框架。它不解决“模型有多聪明”的问题而是解决“模型怎么按你的习惯办事”的问题。你可以把它理解成给大模型配了一个“管家”调度工具、执行任务、加载技能包全都由它来完成。这篇文章直接从我实际部署经验出发不绕弯子。我会把 Docker 一键部署、Ubuntu 裸机安装、Windows Companion 配置、接入 DeepSeek 或 Ollama 本地模型、编写 Skill 这些关键环节都过一遍顺带整理我踩过的坑。不管你是想在内网服务器跑一个私有助手还是想在手机 Termux 里当远程客户端玩这篇应该都能帮上忙。1. 先搞清楚 OpenClaw 到底是什么1.1 从 Clawdbot 到 OpenClaw它解决什么问题很多朋友第一次看到“原 Clawdbot”这几个字就懵了以为是某个项目的考古名词。其实很简单OpenClaw 是 Clawdbot 改名后的新项目名改名主要是为了突出“开放、开源”的属性同时把原来偏工具向的定位扩展成一套更通用的 Agent 运行框架。它解决的核心问题很实在大模型本身只是一个“会说话的大脑”可你让它帮你整理文件、定时发消息、调用某个接口、把一批文档转成结构化数据时它自己做不到。OpenClaw 就在模型和实际操作之间搭了一座桥它把常见操作抽象成 Skill再根据你的指令去选择对应 Skill 执行。你可以把 Skill 理解成给 AI 写好的“岗位说明书”里面写清楚什么时候触发、需要什么参数、调用哪个命令AI 照着说明书干活。和那些纯聊天的套壳应用不同OpenClaw 是可以完全本地化、私有化部署的。你把它装在公司内网服务器上接上本地模型它就能变成一个不依赖外部服务的内部助手。把数据留在自己手里对很多团队来说是硬需求。这也是为什么这个项目在内网部署和大模型私有化部署这两个话题下讨论度特别高。1.2 它和本地大模型、Skill 机制的关系我见过不少新手把 OpenClaw 和大模型混为一谈觉得“部署了 OpenClaw 就等于有自己的大模型了”这是误区。OpenClaw 属于中间层它本身不生成内容它负责调度模型和工具。大模型负责理解和生成OpenClaw 负责执行和连接。举个例子你写了一句“帮我把 /downloads 目录里的图片按月份归类”OpenClaw 会先让模型理解这句话的意图然后从已加载的 Skill 里找到“文件整理”技能再按技能里的规则去执行扫描目录、读取时间戳、创建文件夹、移动文件这些动作。Skill 的格式通常是一组 Markdown 或 JSON 文件放在 OpenClaw 指定目录下。每个 Skill 有名字、描述、触发条件和执行脚本。项目安装完成后自带几个示例 Skill但它们只是给你做参考的真正生产环境下你得根据自己需求去改、去写。至于算力来源OpenClaw 并不强制要求必须接云 API。你完全可以用 Ollama 跑本地模型比如 qwen2.5 或者 deepseek-r1 的量化版再把 OpenClaw 的模型地址指向 Ollama 的 localhost 端口就行。如果你的机器性能一般也可以接 DeepSeek 等模型的 API 作为主模型让本地模型负责一些简单、隐私要求高的任务。混合路由是实际项目里最常见的做法后面我会给配置写法。2. 10 秒极速部署前的三件准备2.1 先选好部署形态Docker 还是裸机“10 秒极速部署”不是装完所有东西只要 10 秒而是指在环境就绪的情况下OpenClaw 服务本身启动只需要差不多 10 秒。为了达到这个效果部署形态的选择很关键。我推荐新手优先用 Docker 方式。镜像已经把运行时环境和项目代码打包好了不需要你在宿主机上装一堆依赖。升级版本时只需要拉新镜像、重启容器不影响宿主机环境。对服务器上还有别的业务的人来说Docker 的隔离性也更安全不会因为 OpenClaw 需要某个 Python 版本而把系统里其他服务搞挂。裸机部署适合两种情况一是你在内网服务器上资源很紧张不想为容器再留一份系统开销二是你要直接调用宿主机硬件资源比如访问 USB 设备、串口、摄像头之类的外设Docker 里还要做设备映射多一层复杂度。两种方式其实可以共存我自己的做法是服务器上用 Docker 跑主服务开发机上用裸机跑测试实例。这样既能体验最新功能又不影响生产环境。2.2 需要准备的大模型与 API 接口部署 OpenClaw 前先把模型选好。选模型的核心不是“越大越好”而是“匹配任务”。如果你只做办公文件整理、定时提醒、日志分析这种轻量任务用 Ollama 跑一个 7B 左右的量化模型就足够了显存或者内存占用不会太夸张。想让它写代码、做复杂推理建议接一个能力更强的云端模型接口。这里补一句很多人问的话OpenClaw 不是只能用 API 接外部算力。它支持本地模型、局域网模型服务、混合路由。比如你可以把默认模型设为 Ollama 上的 7B 模型然后在某个 Skill 里单独声明“这个任务走 DeepSeek API”。这本质上是模型路由的能力也是它能适配复杂场景的原因。准备模型时也要顺手确认一下接口格式。Ollama 的接口地址通常是http://localhost:11434DeepSeek 这类 OpenAI 兼容接口通常需要base_url、api_key、model_name三个参数。OpenClaw 配置文件里一般会用 YAML 写 providers 段把这些信息填进去。如果你用的是自己内网部署的模型服务比如 vLLM 或 TensorRT-LLM只要接口兼容 OpenAI 协议大概率也能直接接入。2.3 环境检查清单与网络准备为了后面不踩坑部署前花两分钟检查下面这几项。操作系统Linux 服务器、Windows 10/11、macOS 都可以跑但生产环境建议 Ubuntu 22.04 或更新版本。内存至少 8GB16GB 以上会更稳。如果同时用 Ollama 跑模型内存建议按模型大小再加。Docker如果走容器方案需要 Docker 20.10 以上能正常使用docker compose命令。端口OpenClaw 默认服务端口一般是 1865控制台和 API 共用。如果端口被占用后面可以改成别的。网络纯内网部署不需要外网访问能力前提是你用的是本地模型或内网模型服务。要是接云端 API就需要保证服务器能访问对应服务域名。这里有个我自己踩过的坑很多人在内网服务器上部署 OpenClaw所有服务都正常但手机或 Windows Companion 连不上原因就是防火墙没放行端口。Ubuntu 上默认 ufw 可能是开启状态光写在应用配置文件里没用系统防火墙也得放行。内网环境虽然相对安全但该开的端口一定要开否则后续联调会非常痛苦。3. 10 秒极速部署实操3.1 Docker 一键启动命令怎么敲这是整个教程的高潮部分。我已经在服务器上装好 Docker只需要把 OpenClaw 的容器跑起来看到心跳日志整个服务就在 10 秒内起来了。下面这套命令是我在 Ubuntu 22.04 上验证过的。docker run -d \ --name openclaw \ --restart unless-stopped \ -p 1865:1865 \ -v ~/.openclaw:/app/data \ openclaw/openclaw:latest拆开解释一下-d表示后台运行--name给容器起个固定名字--restart unless-stopped是让服务器重启后容器自动拉起-p 1865:1865把宿主机 1865 端口映射到容器-v挂载一个数据目录用来保存配置、Skill、日志。这样即使容器删了重拉数据也还在。如果你想改端口比如宿主机 1865 被占了把左边改成 1900 就行docker run -d \ --name openclaw \ -p 1900:1865 \ -v ~/.openclaw:/app/data \ openclaw/openclaw:latest但注意改端口后访问地址和控制台地址都要跟着变Windows Companion 里配置的 server URL 也别忘了同步修改。我更推荐用 docker compose 管理因为后面环境变量多了写在docker run命令里会很长。写一个docker-compose.ymlservices: openclaw: image: openclaw/openclaw:latest container_name: openclaw restart: unless-stopped ports: - 1865:1865 volumes: - ~/.openclaw:/app/data environment: - OPENCLAW_HTTP_PORT1865 - OPENCLAW_LOG_LEVELinfo然后执行docker compose up -d第一次启动需要拉镜像具体时间和你的网络带宽、镜像大小有关。镜像拉完后容器启动只需要几秒钟。你可以用下面的命令确认服务状态docker ps docker logs -f openclaw看到类似OpenClaw started的日志说明服务已经起来了。浏览器访问http://服务器IP:1865就能看到控制台。3.2 裸机安装流程Ubuntu/Debian 类系统如果你的机器不方便装 Docker或者你就是想裸机部署那流程稍微长一点核心是装好运行时依赖、拉取项目代码、运行安装脚本。在 Ubuntu 上我一般这么操作sudo apt update sudo apt install -y git curl python3 python3-venv git clone https://github.com/你的源/openclaw.git cd openclaw bash scripts/install.sh安装脚本会帮你创建虚拟环境、装 Python 依赖然后生成默认配置。安装完成后可以用openclaw start启动服务或者用 systemd 把它注册成后台服务。这里我要特别提醒一句裸机部署最怕依赖冲突。如果你机器上已经有其他 Python 项目千万别直接pip install到全局环境一定用虚拟环境。安装脚本如果自动帮你建了.venv目录就说明项目方已经想到这个问题了别为了省事跳过。启动后配置文件和数据目录一般在~/.openclaw/下面。和 Docker 挂载的目录一致这算是个约定后面迁移数据时很省事把整个目录拷走就行。3.3 用 10 秒完成给急性子的一套最短路径我知道看教程的人里有一批是急性子不想看长篇原理只想先把服务跑起来。最短路径其实是这样的确保 Docker 已安装。直接执行上面的docker run命令。打开浏览器访问控制台。确认页面能打开整个 HTTP 服务已经可用。但这个“可用”只是控制台起来了离“能干活”还差一步你得配置模型和 Skill。也就是说10 秒极速部署这个说法严格来说是指“把 OpenClaw 服务框架拉起来”的时间。真正要跑通一个具体任务还得再花几分钟做配置。这就像装修毛坯交付可以很快但住进去之前还得接线、装灯。所以我的建议是先别急着写自己的 Skill用项目自带示例配置跑通一遍确认模型能响应再逐步扩展。如果你一上来就追求复杂功能很可能卡在某一步反而拖慢整体进度。4. 把 Skill 装进 OpenClaw并接上 DeepSeek/Ollama4.1 模型接入配置两种写法配置模型是 OpenClaw 能否真正干活的第一个门槛。打开~/.openclaw/config.yaml你通常能看到 providers 段。接 Ollama 本地模型时我的配置长这样providers: ollama: base_url: http://localhost:11434 model: qwen2.5:7b enabled: true接 DeepSeek 云端模型时providers: deepseek: base_url: https://api.deepseek.com/v1 api_key: ${DEEPSEEK_API_KEY} model: deepseek-chat enabled: true注意api_key我建议用环境变量DEEPSEEK_API_KEY来引用不要明文写在配置文件里。一方面配置文件可能会被同步到 Git 仓库造成泄露另一方面内网服务器上不同人共用同一台机器明文密钥会被别人看到很危险。如果你两种模型都想用可以让default_provider设为ollama然后在特定 Skill 里强制指定provider: deepseek。这样简单任务走本地模型省钱复杂任务走云端模型保效果。这也是社区里混合路由的常规玩法。4.2 Skill 目录怎么组织Skill 是 OpenClaw 最有意思的部分。默认情况下目录在~/.openclaw/skills/每个技能一个子目录。一个最简单的 Skill 目录看起来是这样的skills/ echo_server/ SKILL.md run.pySKILL.md是技能说明文件写清楚这个技能是干什么的、什么时候触发。示例内容如下--- name: echo_server description: 启动一个本地回显服务用于测试 OpenClaw 网络链路 trigger: 回显服务|echo server|测试端口 provider: ollama --- 启动一个监听在 127.0.0.1:9123 的 TCP 服务收到任意文本后原样返回。run.py就是这个技能的实际执行脚本OpenClaw 会让模型根据任务生成参数然后把参数传给脚本。你可以用 Python、Node.js甚至是一段 shell 命令关键是在 Skill 里声明好执行方式。保存 Skill 文件后OpenClaw 一般会自动加载也就是热加载。不需要重启服务。如果你改了 Skill 但发现没生效大概率是 YAML 格式有问题或者目录权限不对。这种热加载机制很节省时间但也会让调试有一点迷惑性改完必须确认文件保存成功再去看日志里有没有加载记录。4.3 内网服务器和 Windows Companion 的联动很多人部署 OpenClaw 不只是想网页端用还想在 Windows 桌面上有个伴生客户端或者手机随时远程控制。这个“Windows Companion”说白了就是用来连接 OpenClaw 服务端的一个桌面端程序。配置时要注意三件事。第一服务端必须监听在你局域网可达的 IP 上。Docker 部署时端口映射已经做了宿主机端口就是入口。如果你只让服务监听127.0.0.1那其他设备肯定连不上。要检查实际监听地址用docker logs openclaw能看到当前的启动日志。第二Companion 端填写的 Server URL要写http://服务器IP:1865不是localhost。我见过很多人在 Windows 上配好但本机访问没问题、手机一访问就失败原因就是填了localhost。对手机来说localhost指的是手机自己不是服务器。第三如果你要用 Nginx 做反向代理给 OpenClaw 分配一个子路径或独立域名需要额外配置代理头。比如server { listen 80; server_name your-host.example; location / { proxy_pass http://127.0.0.1:1865; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }内网测试可以不配证书但如果你的环境要求 HTTP 访问注意很多操作系统会默认拦截跨域请求OpenClaw 需要在配置里开启OPENCLAW_ALLOW_HTTP1否则服务可能直接拒绝来自http://地址的访问。实际操作中这个变量名可能因版本不同而不同建议参考对应版本的文档。5. 常见问题与排查技巧实录5.1 部署后页面打不开 / 端口冲突这是出现频率最高的一个问题。我在不同机器上部署几乎每次都会遇到一点点端口相关的小麻烦。如果你docker ps看到容器已经在运行但浏览器访问打不开按下面顺序排查。先确认宿主机 IP。用curl http://127.0.0.1:1865测本机如果能通说明服务没问题可能是防火墙或网络组问题。检查防火墙。Ubuntu 上sudo ufw status如果是 active需要放行端口sudo ufw allow 1865/tcp。检查端口冲突。sudo ss -tlnp | grep 1865如果有其他进程占用换端口重来。还有一个容易忽略的点Docker 容器已经启动但容器内部服务崩溃了这个时候docker ps显示的状态可能是“Up”但它内部已经挂掉。别只看状态要看日志。docker logs --tail 50 openclaw如果看到 Python traceback就拿报错信息去项目 issue 里搜。5.2 手机 Termux 安装 OpenClaw 的坑手机端 Termux 安装 OpenClaw 是一个热门话题。Termux 本质上是一个 Android 上的终端模拟器能跑很多 Linux 工具。我试过在 Termux 里安装 OpenClaw 的命令行客户端用来远程连接服务器上的服务端这个用法很轻量体验也不错。但很多人想直接在手机上跑完整 OpenClaw 服务我的结论是能跑但别抱太大期望。手机处理器做点轻量任务还行真要跑本地模型再挂技能会卡得非常难受。除非你只是做客户端否则不建议把服务端放在手机上。Termux 安装时最容易踩的坑是缺少构建依赖。OpenClaw 的某些 Python 包需要编译如果你直接跑安装脚本可能会在pip install阶段报错。这时候先执行pkg update pkg install python clang rust binutils把编译工具链装好再重新安装。还有一个坑是存储权限Termux 默认访问不到手机外部存储如果 Skill 里需要读取手机文件得额外配置存储权限。总之手机端适合做个“遥控器”不适合当“发动机”。5.3 Docker 资源占用与卸载清理用了 Docker 一段时间后你可能会发现磁盘占用越来越夸张。这是因为容器日志文件默认无限增长再加上镜像、数据目录全都堆在一起。我建议给日志加一个轮转限制在/etc/docker/daemon.json里加{ log-driver: json-file, log-opts: { max-size: 10m, max-file: 3 } }然后重启 Docker 生效。这个配置很值得做尤其是长期跑服务的内网服务器否则半年后日志可能吃掉几个 GB。卸载 OpenClaw 也是一个很常见的问题。Docker 方式很简单docker stop openclaw docker rm openclaw但要注意数据目录~/.openclaw不会自动删除。如果你完全不想留手动删掉它。删之前记得备份config.yaml和skills/目录因为里面可能有你写了好久的自定义技能。裸机部署的话先看有没有 systemd 服务sudo systemctl stop openclaw sudo systemctl disable openclaw再删除项目目录和数据目录。我个人经验是卸载前先把 Skill 目录单独拷出来放到一个备份文件夹里。因为 OpenClaw 的 Skill 是纯文本换机器换版本都能复用未来可能还会用到。6. 实践总结与几条经验6.1 我踩过几次坑之后的心得我自己的使用路径是这样走过来的最开始只把它当成一个大模型转发器后来慢慢给内网服务器加了文件整理、日志回溯、定时汇总这些技能现在我的 OpenClaw 基本处于“无人值守”状态每天定时跑任务遇到异常才提醒我。最大的体会是不要一开始就追求“全自动智能体”。你以为的智能其实是靠无数个规则和 Skill 堆出来的。先写一个最简单的 Skill比如“读取某个目录下的文件名并输出”跑通之后再慢慢加参数、加条件、加错误处理。这样你至少知道每一步失败时是模型的问题、Skill 的问题还是网络的问题。另外很多人喜欢在社区里找现成的 Skill 拿来用这没问题但一定要先看一遍SKILL.md的内容。因为 Skill 本质上是执行代码来源不明的技能可能包含不可控操作。同样道理把 OpenClaw 暴露到内网之外前先确认默认账号和端口改了没有别把自己的服务器变成别人实验的试验场。6.2 还可以怎么继续扩展如果你已经跑通了基础功能有几个方向值得继续折腾。第一个是知识库结合。OpenClaw 本身不做向量检索但你可以通过 Skill 调用本地的文档索引服务把 PDF、Word、Markdown 喂进去然后问它“这份合同里最需要注意的条款是哪些”。这其实就是一个私有知识库问答系统只不过入口在 OpenClaw 里。第二个是定时任务。OpenClaw 支持在配置里声明 cron 表达式的定时任务让某些 Skill 每天早上自动执行然后把结果写入本地文件或发送到内部通讯工具。我见过不少团队拿它做“每日数据看板生成器”模型负责总结数据Skill 负责取数和发送。第三个是和其他开源项目组合。现在很多类似 WorkBuddy 的工具本质上都是“模型编排 技能执行”的玩法OpenClaw 在这个方向出现得比较早社区生态相对完整。与其纠结谁参考了谁不如直接开始用把能满足你需求的方案沉淀下来。工具会变但“让模型真正干活”这个思路不会过时。最后再分享一个小技巧每次调整配置文件前先用docker exec openclaw openclaw config validate之类的命令检查一下语法。很多 YAML 缩进问题在启动时才会暴露提前校验能省不少时间。如果没这个命令也可以直接用python3 -c import yaml; yaml.safe_load(open(config.yaml))做语法检查。细节做扎实了部署 OpenClaw 这件事确实是 10 秒拉起来、十分钟跑通、剩下的是慢慢调优的活。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑