目 录
-
- 一、OpenClaw 是什么?为什么它如此火爆?
-
- 1.1 项目背景与起源
- 1.2 核心定位与价值主张
- 1.3 与主流框架的技术对比
- 1.4 技术架构全景解析
- 二、快速部署:5 分钟上手体验
-
- 2.1 环境要求与准备
- 2.2 部署流程概览
- 2.3 详细安装步骤
- 2.4 常见安装问题排查
- 三、部署方案深度对比
-
- 3.1 四种主流部署方案
- 3.2 方案详细对比
- 3.3 方案一:本地开发机(零成本体验)
- 3.4 方案二:Mac Mini 本地服务器(性价比之选)
- 3.5 方案三:云服务器部署
- 3.6 方案四:Docker 容器化(生产级推荐)
- 四、Token 成本优化:从 $150/月降至 $35/月
-
- 4.1 成本陷阱警示
- 4.2 Token 消耗构成分析
- 4.3 六大优化策略
- 4.4 优化效果对比
- 五、安全加固:企业级防护方案
-
- 5.1 已知安全威胁回顾
- 5.2 安全防护流程
- 5.3 四级访问控制策略
- 5.4 安全加固检查清单
- 六、实战案例:搭建智能工作流
-
- 6.1 案例 1:智能日报生成
- 6.2 案例 2:智能客服机器人
- 6.3 案例 3:代码审查助手
- 七、常见问题与解决方案
-
- Q1: Gateway 启动失败,端口被占用?
- Q2: WhatsApp 登录二维码无法显示?
- Q3: AI 响应很慢?
- Q4: 如何备份配置?
- Q5: 如何查看详细日志?
- 八、总结与展望
-
- 8.1 核心优势回顾
- 8.2 适用人群
- 8.3 学习路径建议
摘要:OpenClaw 是 2026 年最火爆的开源 AI 助手项目,GitHub 两周突破 15 万 Star。本文将从架构原理、部署实践、成本优化、安全加固四个维度,手把手教你搭建属于自己的 7×24 小时 AI 智能体。
一、OpenClaw 是什么?为什么它如此火爆?
1.1 项目背景与起源
OpenClaw(原名 Clawdbot,后更名为 Moltbot,最终定名为 OpenClaw)由 PSPDFKit 创始人 Peter Steinberger 于 2026 年初开源。作为一个深耕 PDF 技术多年的连续创业者,Peter 在开发过程中深刻体会到 AI 辅助工具的重要性,于是决定打造一个真正属于自己的 AI 助手。
项目开源后,在技术社区引发了巨大反响。在 GitHub 上,项目在 72 小时内增长超过 6 万 Star,两周内突破 15 万 Star,成为 GitHub 史上增长最快的开源项目之一。这一现象级的增长背后,折射出开发者对"拥有自己的 AI 助手"的强烈需求。
1.2 核心定位与价值主张
OpenClaw 的核心定位非常清晰:
在你自己的设备上运行的 AI Agent,连接各种消息平台,提供 24/7 全天候的 AI 助手体验。
这个定位解决了当前 AI 助手市场的三大痛点:
第一,数据隐私问题。使用 ChatGPT、Claude 等云端服务,意味着你的对话数据、工作内容都存储在第三方服务器上。对于企业用户和注重隐私的个人用户来说,这是一个难以接受的风险。OpenClaw 完全本地运行,数据不出你的设备,从根本上解决了隐私问题。
第二,多平台碎片化问题。你可能同时在用 WhatsApp 和同事沟通、用 Telegram 和朋友聊天、用飞书处理工作。每个平台都有独立的 AI 机器人,体验割裂。OpenClaw 支持 20+ 消息平台,一套系统统一接入,无论你在哪个平台,都能获得一致的 AI 助手体验。
第三,成本控制问题。订阅多个 AI 服务每月可能花费上百美元,而且按量计费的模型很容易因为配置不当而产生意外高额账单。OpenClaw 开源免费,支持本地模型,让你完全掌控成本。
1.3 与主流框架的技术对比
为了帮助读者更好地理解 OpenClaw 在技术生态中的定位,我们将其与当前主流的 AI Agent 框架进行对比:
| 部署方式 | 本地自托管 | 云端/本地 | 云端 | 云端 |
| 消息平台 | 20+ 平台 | 单一 | 单一 | 单一 |
| 成本模型 | 开源免费 | 部分付费 | 付费 | 订阅制 |
| 数据隐私 | ✅ 完全本地 | ⚠️ 可配置 | ❌ 云端存储 | ❌ 云端存储 |
| 可扩展性 | Skill 系统 | 插件系统 | 有限 | 插件系统 |
| 本地模型 | ✅ Ollama | ✅ 支持 | ❌ 不支持 | ❌ 不支持 |
| 浏览器控制 | ✅ 内置 | ⚠️ 需集成 | ⚠️ 需集成 | ❌ 无 |
| 定时任务 | ✅ Cron | ❌ 无 | ❌ 无 | ❌ 无 |
从对比可以看出,OpenClaw 在多渠道接入、本地部署、隐私保护方面具有独特优势,特别适合需要多平台统一接入、对数据隐私有较高要求的场景。
1.4 技术架构全景解析
OpenClaw 采用三层架构设计,从下到上分别是消息渠道层、Gateway 核心控制平面、AI 模型层。

图1:OpenClaw 三层架构设计,展示了消息渠道层、Gateway 核心层、AI 模型层的关系
#mermaid-svg-HIqRXVJCVbTVNXf6{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-HIqRXVJCVbTVNXf6 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-HIqRXVJCVbTVNXf6 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-HIqRXVJCVbTVNXf6 .error-icon{fill:#552222;}#mermaid-svg-HIqRXVJCVbTVNXf6 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-HIqRXVJCVbTVNXf6 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-HIqRXVJCVbTVNXf6 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-HIqRXVJCVbTVNXf6 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-HIqRXVJCVbTVNXf6 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-HIqRXVJCVbTVNXf6 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-HIqRXVJCVbTVNXf6 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-HIqRXVJCVbTVNXf6 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-HIqRXVJCVbTVNXf6 .marker.cross{stroke:#333333;}#mermaid-svg-HIqRXVJCVbTVNXf6 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-HIqRXVJCVbTVNXf6 p{margin:0;}#mermaid-svg-HIqRXVJCVbTVNXf6 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-HIqRXVJCVbTVNXf6 .cluster-label text{fill:#333;}#mermaid-svg-HIqRXVJCVbTVNXf6 .cluster-label span{color:#333;}#mermaid-svg-HIqRXVJCVbTVNXf6 .cluster-label span p{background-color:transparent;}#mermaid-svg-HIqRXVJCVbTVNXf6 .label text,#mermaid-svg-HIqRXVJCVbTVNXf6 span{fill:#333;color:#333;}#mermaid-svg-HIqRXVJCVbTVNXf6 .node rect,#mermaid-svg-HIqRXVJCVbTVNXf6 .node circle,#mermaid-svg-HIqRXVJCVbTVNXf6 .node ellipse,#mermaid-svg-HIqRXVJCVbTVNXf6 .node polygon,#mermaid-svg-HIqRXVJCVbTVNXf6 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-HIqRXVJCVbTVNXf6 .rough-node .label text,#mermaid-svg-HIqRXVJCVbTVNXf6 .node .label text,#mermaid-svg-HIqRXVJCVbTVNXf6 .image-shape .label,#mermaid-svg-HIqRXVJCVbTVNXf6 .icon-shape .label{text-anchor:middle;}#mermaid-svg-HIqRXVJCVbTVNXf6 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-HIqRXVJCVbTVNXf6 .rough-node .label,#mermaid-svg-HIqRXVJCVbTVNXf6 .node .label,#mermaid-svg-HIqRXVJCVbTVNXf6 .image-shape .label,#mermaid-svg-HIqRXVJCVbTVNXf6 .icon-shape .label{text-align:center;}#mermaid-svg-HIqRXVJCVbTVNXf6 .node.clickable{cursor:pointer;}#mermaid-svg-HIqRXVJCVbTVNXf6 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-HIqRXVJCVbTVNXf6 .arrowheadPath{fill:#333333;}#mermaid-svg-HIqRXVJCVbTVNXf6 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-HIqRXVJCVbTVNXf6 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-HIqRXVJCVbTVNXf6 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-HIqRXVJCVbTVNXf6 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-HIqRXVJCVbTVNXf6 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-HIqRXVJCVbTVNXf6 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-HIqRXVJCVbTVNXf6 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-HIqRXVJCVbTVNXf6 .cluster text{fill:#333;}#mermaid-svg-HIqRXVJCVbTVNXf6 .cluster span{color:#333;}#mermaid-svg-HIqRXVJCVbTVNXf6 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-HIqRXVJCVbTVNXf6 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-HIqRXVJCVbTVNXf6 rect.text{fill:none;stroke-width:0;}#mermaid-svg-HIqRXVJCVbTVNXf6 .icon-shape,#mermaid-svg-HIqRXVJCVbTVNXf6 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-HIqRXVJCVbTVNXf6 .icon-shape p,#mermaid-svg-HIqRXVJCVbTVNXf6 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-HIqRXVJCVbTVNXf6 .icon-shape rect,#mermaid-svg-HIqRXVJCVbTVNXf6 .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-HIqRXVJCVbTVNXf6 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-HIqRXVJCVbTVNXf6 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-HIqRXVJCVbTVNXf6 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-HIqRXVJCVbTVNXf6 .channel>*{fill:#e3f2fd!important;stroke:#1976d2!important;stroke-width:2px!important;}#mermaid-svg-HIqRXVJCVbTVNXf6 .channel span{fill:#e3f2fd!important;stroke:#1976d2!important;stroke-width:2px!important;}#mermaid-svg-HIqRXVJCVbTVNXf6 .gateway>*{fill:#fff3e0!important;stroke:#f57c00!important;stroke-width:2px!important;}#mermaid-svg-HIqRXVJCVbTVNXf6 .gateway span{fill:#fff3e0!important;stroke:#f57c00!important;stroke-width:2px!important;}#mermaid-svg-HIqRXVJCVbTVNXf6 .model>*{fill:#e8f5e9!important;stroke:#388e3c!important;stroke-width:2px!important;}#mermaid-svg-HIqRXVJCVbTVNXf6 .model span{fill:#e8f5e9!important;stroke:#388e3c!important;stroke-width:2px!important;}
🤖 AI 模型层
⚙️ Gateway 核心控制平面
📱 消息渠道层
Telegram
Discord
飞书
钉钉
Slack
Session Manager
Channel Router
Tools Registry
Memory Store
OpenAI GPT-4o
Claude
DeepSeek
豆包
Ollama 本地
消息渠道层负责统一接入各种消息平台。无论是即时通讯软件(WhatsApp、Telegram、Discord)、企业协作工具(飞书、钉钉、Slack),还是社交媒体平台,都可以通过统一的接口接入 OpenClaw。这一层屏蔽了不同平台的协议差异,让上层不需要关心消息来自哪个平台。
Gateway 核心控制平面是 OpenClaw 的"大脑",包含四个核心模块:Session Manager 负责管理用户会话,维护对话上下文;Channel Router 负责消息路由,将消息分发到正确的处理流程;Tools Registry 管理所有可用工具,包括内置工具和自定义技能;Memory Store 负责记忆存储,支持短期记忆和长期记忆。
AI 模型层提供智能推理能力。OpenClaw 支持多种 AI 模型后端,包括 OpenAI 的 GPT 系列、Anthropic 的 Claude、国内的 DeepSeek 和豆包,以及通过 Ollama 运行的本地开源模型。用户可以根据需求灵活选择,在成本、性能、隐私之间找到最佳平衡。
二、快速部署:5 分钟上手体验
2.1 环境要求与准备
在开始部署之前,请确保你的系统满足以下要求:
| Node.js | ≥ 22 LTS | 24+ |
| 操作系统 | macOS / Linux / Windows (WSL2) | macOS / Linux |
| 内存 | 2GB | 4GB+ |
| 磁盘 | 500MB | 1GB+ |
Node.js 是 OpenClaw 的唯一依赖,建议使用 LTS(长期支持)版本以获得最佳稳定性。如果你还没有安装 Node.js,可以从官网下载安装包,或使用 nvm(Node Version Manager)进行版本管理。
2.2 部署流程概览
整个部署过程可以分为五个步骤,从环境检查到最终验证,通常只需要 5 分钟左右。
#mermaid-svg-jm66YWB73NDZAtyf{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-jm66YWB73NDZAtyf .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-jm66YWB73NDZAtyf .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-jm66YWB73NDZAtyf .error-icon{fill:#552222;}#mermaid-svg-jm66YWB73NDZAtyf .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-jm66YWB73NDZAtyf .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-jm66YWB73NDZAtyf .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-jm66YWB73NDZAtyf .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-jm66YWB73NDZAtyf .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-jm66YWB73NDZAtyf .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-jm66YWB73NDZAtyf .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-jm66YWB73NDZAtyf .marker{fill:#333333;stroke:#333333;}#mermaid-svg-jm66YWB73NDZAtyf .marker.cross{stroke:#333333;}#mermaid-svg-jm66YWB73NDZAtyf svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-jm66YWB73NDZAtyf p{margin:0;}#mermaid-svg-jm66YWB73NDZAtyf .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-jm66YWB73NDZAtyf .cluster-label text{fill:#333;}#mermaid-svg-jm66YWB73NDZAtyf .cluster-label span{color:#333;}#mermaid-svg-jm66YWB73NDZAtyf .cluster-label span p{background-color:transparent;}#mermaid-svg-jm66YWB73NDZAtyf .label text,#mermaid-svg-jm66YWB73NDZAtyf span{fill:#333;color:#333;}#mermaid-svg-jm66YWB73NDZAtyf .node rect,#mermaid-svg-jm66YWB73NDZAtyf .node circle,#mermaid-svg-jm66YWB73NDZAtyf .node ellipse,#mermaid-svg-jm66YWB73NDZAtyf .node polygon,#mermaid-svg-jm66YWB73NDZAtyf .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-jm66YWB73NDZAtyf .rough-node .label text,#mermaid-svg-jm66YWB73NDZAtyf .node .label text,#mermaid-svg-jm66YWB73NDZAtyf .image-shape .label,#mermaid-svg-jm66YWB73NDZAtyf .icon-shape .label{text-anchor:middle;}#mermaid-svg-jm66YWB73NDZAtyf .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-jm66YWB73NDZAtyf .rough-node .label,#mermaid-svg-jm66YWB73NDZAtyf .node .label,#mermaid-svg-jm66YWB73NDZAtyf .image-shape .label,#mermaid-svg-jm66YWB73NDZAtyf .icon-shape .label{text-align:center;}#mermaid-svg-jm66YWB73NDZAtyf .node.clickable{cursor:pointer;}#mermaid-svg-jm66YWB73NDZAtyf .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-jm66YWB73NDZAtyf .arrowheadPath{fill:#333333;}#mermaid-svg-jm66YWB73NDZAtyf .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-jm66YWB73NDZAtyf .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-jm66YWB73NDZAtyf .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-jm66YWB73NDZAtyf .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-jm66YWB73NDZAtyf .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-jm66YWB73NDZAtyf .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-jm66YWB73NDZAtyf .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-jm66YWB73NDZAtyf .cluster text{fill:#333;}#mermaid-svg-jm66YWB73NDZAtyf .cluster span{color:#333;}#mermaid-svg-jm66YWB73NDZAtyf div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-jm66YWB73NDZAtyf .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-jm66YWB73NDZAtyf rect.text{fill:none;stroke-width:0;}#mermaid-svg-jm66YWB73NDZAtyf .icon-shape,#mermaid-svg-jm66YWB73NDZAtyf .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-jm66YWB73NDZAtyf .icon-shape p,#mermaid-svg-jm66YWB73NDZAtyf .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-jm66YWB73NDZAtyf .icon-shape rect,#mermaid-svg-jm66YWB73NDZAtyf .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-jm66YWB73NDZAtyf .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-jm66YWB73NDZAtyf .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-jm66YWB73NDZAtyf :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-jm66YWB73NDZAtyf .step>*{fill:#e8f5e9!important;stroke:#4caf50!important;stroke-width:2px!important;}#mermaid-svg-jm66YWB73NDZAtyf .step span{fill:#e8f5e9!important;stroke:#4caf50!important;stroke-width:2px!important;}
环境检查
安装OpenClaw
初始化配置
启动Gateway
验证运行
2.3 详细安装步骤
第一步:安装 OpenClaw
使用 npm 或 pnpm 全局安装 OpenClaw:
# 使用 npm 安装
npm install -g openclaw@latest
# 或使用 pnpm(推荐,更快更省空间)
pnpm add -g openclaw@latest
安装过程通常需要 1-2 分钟,取决于你的网络环境。如果遇到网络问题,可以配置国内镜像源加速下载。
第二步:运行初始化向导
安装完成后,运行引导向导进行初始化配置:
openclaw onboard
向导会引导你完成以下配置:
第三步:启动 Gateway 服务
配置完成后,启动 Gateway 服务:
# 前台运行(调试模式)
openclaw gateway –verbose
# 或使用守护进程(生产环境推荐)
openclaw gateway start
前台运行模式可以看到详细的日志输出,适合调试和问题排查。守护进程模式会在后台运行,适合生产环境长期运行。
第四步:验证安装
发送一条测试消息验证系统是否正常工作:
openclaw agent –message "你好,请介绍一下你自己"
如果一切正常,你会收到 AI 的回复。至此,OpenClaw 已经成功部署并运行。
2.4 常见安装问题排查
在安装过程中,可能会遇到一些常见问题。以下是问题列表和解决方案:
| EACCES 权限错误 | npm 全局目录权限不足 | 使用 sudo npm install -g openclaw 或配置 npm 用户目录 |
| 网络超时 | 网络连接问题 | 配置国内镜像:npm config set registry https://registry.npmmirror.com |
| Node 版本过低 | Node.js 版本不满足要求 | 升级到 Node.js 22+ |
| 端口被占用 | 18789 端口已被其他程序使用 | 使用 lsof -i :18789 查找并终止占用进程,或更换端口 |
三、部署方案深度对比
3.1 四种主流部署方案
根据不同的使用场景和需求,OpenClaw 支持四种部署方案:
#mermaid-svg-P4ZXkKPMxyU9fiJu{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-P4ZXkKPMxyU9fiJu .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-P4ZXkKPMxyU9fiJu .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-P4ZXkKPMxyU9fiJu .error-icon{fill:#552222;}#mermaid-svg-P4ZXkKPMxyU9fiJu .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-P4ZXkKPMxyU9fiJu .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-P4ZXkKPMxyU9fiJu .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-P4ZXkKPMxyU9fiJu .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-P4ZXkKPMxyU9fiJu .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-P4ZXkKPMxyU9fiJu .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-P4ZXkKPMxyU9fiJu .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-P4ZXkKPMxyU9fiJu .marker{fill:#333333;stroke:#333333;}#mermaid-svg-P4ZXkKPMxyU9fiJu .marker.cross{stroke:#333333;}#mermaid-svg-P4ZXkKPMxyU9fiJu svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-P4ZXkKPMxyU9fiJu p{margin:0;}#mermaid-svg-P4ZXkKPMxyU9fiJu .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-P4ZXkKPMxyU9fiJu .cluster-label text{fill:#333;}#mermaid-svg-P4ZXkKPMxyU9fiJu .cluster-label span{color:#333;}#mermaid-svg-P4ZXkKPMxyU9fiJu .cluster-label span p{background-color:transparent;}#mermaid-svg-P4ZXkKPMxyU9fiJu .label text,#mermaid-svg-P4ZXkKPMxyU9fiJu span{fill:#333;color:#333;}#mermaid-svg-P4ZXkKPMxyU9fiJu .node rect,#mermaid-svg-P4ZXkKPMxyU9fiJu .node circle,#mermaid-svg-P4ZXkKPMxyU9fiJu .node ellipse,#mermaid-svg-P4ZXkKPMxyU9fiJu .node polygon,#mermaid-svg-P4ZXkKPMxyU9fiJu .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-P4ZXkKPMxyU9fiJu .rough-node .label text,#mermaid-svg-P4ZXkKPMxyU9fiJu .node .label text,#mermaid-svg-P4ZXkKPMxyU9fiJu .image-shape .label,#mermaid-svg-P4ZXkKPMxyU9fiJu .icon-shape .label{text-anchor:middle;}#mermaid-svg-P4ZXkKPMxyU9fiJu .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-P4ZXkKPMxyU9fiJu .rough-node .label,#mermaid-svg-P4ZXkKPMxyU9fiJu .node .label,#mermaid-svg-P4ZXkKPMxyU9fiJu .image-shape .label,#mermaid-svg-P4ZXkKPMxyU9fiJu .icon-shape .label{text-align:center;}#mermaid-svg-P4ZXkKPMxyU9fiJu .node.clickable{cursor:pointer;}#mermaid-svg-P4ZXkKPMxyU9fiJu .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-P4ZXkKPMxyU9fiJu .arrowheadPath{fill:#333333;}#mermaid-svg-P4ZXkKPMxyU9fiJu .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-P4ZXkKPMxyU9fiJu .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-P4ZXkKPMxyU9fiJu .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-P4ZXkKPMxyU9fiJu .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-P4ZXkKPMxyU9fiJu .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-P4ZXkKPMxyU9fiJu .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-P4ZXkKPMxyU9fiJu .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-P4ZXkKPMxyU9fiJu .cluster text{fill:#333;}#mermaid-svg-P4ZXkKPMxyU9fiJu .cluster span{color:#333;}#mermaid-svg-P4ZXkKPMxyU9fiJu div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-P4ZXkKPMxyU9fiJu .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-P4ZXkKPMxyU9fiJu rect.text{fill:none;stroke-width:0;}#mermaid-svg-P4ZXkKPMxyU9fiJu .icon-shape,#mermaid-svg-P4ZXkKPMxyU9fiJu .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-P4ZXkKPMxyU9fiJu .icon-shape p,#mermaid-svg-P4ZXkKPMxyU9fiJu .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-P4ZXkKPMxyU9fiJu .icon-shape rect,#mermaid-svg-P4ZXkKPMxyU9fiJu .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-P4ZXkKPMxyU9fiJu .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-P4ZXkKPMxyU9fiJu .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-P4ZXkKPMxyU9fiJu :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-P4ZXkKPMxyU9fiJu .plan>*{fill:#e3f2fd!important;stroke:#1976d2!important;stroke-width:2px!important;}#mermaid-svg-P4ZXkKPMxyU9fiJu .plan span{fill:#e3f2fd!important;stroke:#1976d2!important;stroke-width:2px!important;}
个人体验
长期运行
远程访问
企业生产
部署方案选择
使用场景?
本地开发机
Mac Mini 服务器
云服务器
Docker 容器化
3.2 方案详细对比
| 本地开发机 | 个人体验、开发调试 | 零成本 | 5分钟上手、零基础设施 | 关机后无法访问 | ⭐⭐⭐ |
| Mac Mini | 长期运行、隐私优先 | $599-$1999 | 零月租、可本地模型 | 一次性投入高 | ⭐⭐⭐⭐⭐ |
| 云服务器 | 远程访问、团队协作 | 68-99元/年 | 随时随地访问 | 需要运维 | ⭐⭐⭐⭐ |
| Docker | 企业部署、多实例 | 按需 | 安全隔离、易扩展 | 配置复杂 | ⭐⭐⭐⭐⭐ |
3.3 方案一:本地开发机(零成本体验)
这是最简单的部署方式,适合想要快速体验 OpenClaw 的用户。只需要一台日常使用的电脑,无需额外投入。
优点:零成本、5分钟上手、无需额外基础设施。
缺点:电脑关机后服务停止,无法 24 小时运行;网络环境变化可能导致连接中断。
适用人群:想要快速体验 OpenClaw 的个人用户、开发调试阶段的开发者。
3.4 方案二:Mac Mini 本地服务器(性价比之选)
如果你需要 24 小时运行 AI 助手,同时注重数据隐私,Mac Mini 是最佳选择。Apple Silicon 芯片的能效比极高,待机功耗仅几瓦,非常适合长期运行。
硬件配置推荐:
| Mac Mini M4 (16GB) | $599 | 流畅运行 7B 模型 | Qwen-7B, Llama-7B |
| Mac Mini M4 Pro (32GB) | $1,399 | 流畅运行 32B 模型 | DeepSeek-32B, Qwen-32B |
| Mac Mini M4 Pro (64GB) | $1,999 | 可运行 70B 模型 | Llama-70B, Qwen-72B |
搭配 Ollama 实现完全离线:
# 安装 Ollama
brew install ollama
# 下载本地模型
ollama pull deepseek-r1:32b
# 配置 OpenClaw 使用本地模型
openclaw config set models.default.provider ollama
openclaw config set models.default.model deepseek-r1:32b
使用本地模型后,你的 AI 助手完全不需要联网,数据隐私得到最大保障,同时运行成本为零。
3.5 方案三:云服务器部署
如果你需要从任何地方访问 AI 助手,或者需要与团队成员共享使用,云服务器是合适的选择。
国内云厂商推荐:
| 阿里云 | 2C4G | 68元/年 | 预装镜像,一键部署 |
| 腾讯云 | 2C4G | 99元/年 | 新用户优惠 |
| 华为云 | 2C4G | 88元/年 | 企业级稳定性 |
云服务器部署需要注意安全配置,建议配置防火墙规则,仅允许特定 IP 访问 Gateway 端口。
3.6 方案四:Docker 容器化(生产级推荐)
对于企业用户或需要多实例部署的场景,Docker 容器化是最佳选择。
# docker-compose.yml
version: '3.8'
services:
openclaw:
image: openclaw/gateway:latest
container_name: openclaw–gateway
ports:
– "18789:18789"
volumes:
– ./workspace:/workspace
– ./config:/config
environment:
– OPENCLAW_AUTH_TOKEN=${AUTH_TOKEN}
– OPENAI_API_KEY=${OPENAI_API_KEY}
restart: unless–stopped
# 安全加固
read_only: true
user: "1000:1000"
security_opt:
– no–new–privileges:true
Docker 部署的优势包括:环境隔离、易于扩展、便于版本管理、支持 CI/CD 集成。
四、Token 成本优化:从 $150/月降至 $35/月
4.1 成本陷阱警示
OpenClaw 本身是免费开源的,但调用 LLM API 会产生费用。如果配置不当,成本很容易失控。
以下是真实案例中的成本陷阱:
| 配置不当的心跳检查(30分钟/次) | 一晚 | $18.75 |
| 单日"待机"状态 | 5000万 Tokens | ~$11 |
| 无限制的上下文累积 | 持续增长 | 不可控 |
一个用户曾因为心跳任务配置过于频繁,一晚上消耗了 $18.75。另一个用户因为没有限制上下文窗口,Token 消耗持续增长,月度账单达到 $150。
4.2 Token 消耗构成分析
了解 Token 消耗的构成,才能有针对性地优化:
#mermaid-svg-461PqjmrPM1jOaWc{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-461PqjmrPM1jOaWc .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-461PqjmrPM1jOaWc .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-461PqjmrPM1jOaWc .error-icon{fill:#552222;}#mermaid-svg-461PqjmrPM1jOaWc .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-461PqjmrPM1jOaWc .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-461PqjmrPM1jOaWc .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-461PqjmrPM1jOaWc .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-461PqjmrPM1jOaWc .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-461PqjmrPM1jOaWc .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-461PqjmrPM1jOaWc .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-461PqjmrPM1jOaWc .marker{fill:#333333;stroke:#333333;}#mermaid-svg-461PqjmrPM1jOaWc .marker.cross{stroke:#333333;}#mermaid-svg-461PqjmrPM1jOaWc svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-461PqjmrPM1jOaWc p{margin:0;}#mermaid-svg-461PqjmrPM1jOaWc .edge{stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .section–1 rect,#mermaid-svg-461PqjmrPM1jOaWc .section–1 path,#mermaid-svg-461PqjmrPM1jOaWc .section–1 circle,#mermaid-svg-461PqjmrPM1jOaWc .section–1 polygon,#mermaid-svg-461PqjmrPM1jOaWc .section–1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .section–1 text{fill:#ffffff;}#mermaid-svg-461PqjmrPM1jOaWc .node-icon–1{font-size:40px;color:#ffffff;}#mermaid-svg-461PqjmrPM1jOaWc .section-edge–1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .edge-depth–1{stroke-width:17;}#mermaid-svg-461PqjmrPM1jOaWc .section–1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .disabled,#mermaid-svg-461PqjmrPM1jOaWc .disabled circle,#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:lightgray;}#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:#efefef;}#mermaid-svg-461PqjmrPM1jOaWc .section-0 rect,#mermaid-svg-461PqjmrPM1jOaWc .section-0 path,#mermaid-svg-461PqjmrPM1jOaWc .section-0 circle,#mermaid-svg-461PqjmrPM1jOaWc .section-0 polygon,#mermaid-svg-461PqjmrPM1jOaWc .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-461PqjmrPM1jOaWc .section-0 text{fill:black;}#mermaid-svg-461PqjmrPM1jOaWc .node-icon-0{font-size:40px;color:black;}#mermaid-svg-461PqjmrPM1jOaWc .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-461PqjmrPM1jOaWc .edge-depth-0{stroke-width:14;}#mermaid-svg-461PqjmrPM1jOaWc .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .disabled,#mermaid-svg-461PqjmrPM1jOaWc .disabled circle,#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:lightgray;}#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:#efefef;}#mermaid-svg-461PqjmrPM1jOaWc .section-1 rect,#mermaid-svg-461PqjmrPM1jOaWc .section-1 path,#mermaid-svg-461PqjmrPM1jOaWc .section-1 circle,#mermaid-svg-461PqjmrPM1jOaWc .section-1 polygon,#mermaid-svg-461PqjmrPM1jOaWc .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .section-1 text{fill:black;}#mermaid-svg-461PqjmrPM1jOaWc .node-icon-1{font-size:40px;color:black;}#mermaid-svg-461PqjmrPM1jOaWc .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .edge-depth-1{stroke-width:11;}#mermaid-svg-461PqjmrPM1jOaWc .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .disabled,#mermaid-svg-461PqjmrPM1jOaWc .disabled circle,#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:lightgray;}#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:#efefef;}#mermaid-svg-461PqjmrPM1jOaWc .section-2 rect,#mermaid-svg-461PqjmrPM1jOaWc .section-2 path,#mermaid-svg-461PqjmrPM1jOaWc .section-2 circle,#mermaid-svg-461PqjmrPM1jOaWc .section-2 polygon,#mermaid-svg-461PqjmrPM1jOaWc .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .section-2 text{fill:#ffffff;}#mermaid-svg-461PqjmrPM1jOaWc .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-461PqjmrPM1jOaWc .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .edge-depth-2{stroke-width:8;}#mermaid-svg-461PqjmrPM1jOaWc .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .disabled,#mermaid-svg-461PqjmrPM1jOaWc .disabled circle,#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:lightgray;}#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:#efefef;}#mermaid-svg-461PqjmrPM1jOaWc .section-3 rect,#mermaid-svg-461PqjmrPM1jOaWc .section-3 path,#mermaid-svg-461PqjmrPM1jOaWc .section-3 circle,#mermaid-svg-461PqjmrPM1jOaWc .section-3 polygon,#mermaid-svg-461PqjmrPM1jOaWc .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .section-3 text{fill:black;}#mermaid-svg-461PqjmrPM1jOaWc .node-icon-3{font-size:40px;color:black;}#mermaid-svg-461PqjmrPM1jOaWc .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .edge-depth-3{stroke-width:5;}#mermaid-svg-461PqjmrPM1jOaWc .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .disabled,#mermaid-svg-461PqjmrPM1jOaWc .disabled circle,#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:lightgray;}#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:#efefef;}#mermaid-svg-461PqjmrPM1jOaWc .section-4 rect,#mermaid-svg-461PqjmrPM1jOaWc .section-4 path,#mermaid-svg-461PqjmrPM1jOaWc .section-4 circle,#mermaid-svg-461PqjmrPM1jOaWc .section-4 polygon,#mermaid-svg-461PqjmrPM1jOaWc .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .section-4 text{fill:black;}#mermaid-svg-461PqjmrPM1jOaWc .node-icon-4{font-size:40px;color:black;}#mermaid-svg-461PqjmrPM1jOaWc .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .edge-depth-4{stroke-width:2;}#mermaid-svg-461PqjmrPM1jOaWc .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .disabled,#mermaid-svg-461PqjmrPM1jOaWc .disabled circle,#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:lightgray;}#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:#efefef;}#mermaid-svg-461PqjmrPM1jOaWc .section-5 rect,#mermaid-svg-461PqjmrPM1jOaWc .section-5 path,#mermaid-svg-461PqjmrPM1jOaWc .section-5 circle,#mermaid-svg-461PqjmrPM1jOaWc .section-5 polygon,#mermaid-svg-461PqjmrPM1jOaWc .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .section-5 text{fill:black;}#mermaid-svg-461PqjmrPM1jOaWc .node-icon-5{font-size:40px;color:black;}#mermaid-svg-461PqjmrPM1jOaWc .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .edge-depth-5{stroke-width:-1;}#mermaid-svg-461PqjmrPM1jOaWc .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .disabled,#mermaid-svg-461PqjmrPM1jOaWc .disabled circle,#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:lightgray;}#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:#efefef;}#mermaid-svg-461PqjmrPM1jOaWc .section-6 rect,#mermaid-svg-461PqjmrPM1jOaWc .section-6 path,#mermaid-svg-461PqjmrPM1jOaWc .section-6 circle,#mermaid-svg-461PqjmrPM1jOaWc .section-6 polygon,#mermaid-svg-461PqjmrPM1jOaWc .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .section-6 text{fill:black;}#mermaid-svg-461PqjmrPM1jOaWc .node-icon-6{font-size:40px;color:black;}#mermaid-svg-461PqjmrPM1jOaWc .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .edge-depth-6{stroke-width:-4;}#mermaid-svg-461PqjmrPM1jOaWc .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .disabled,#mermaid-svg-461PqjmrPM1jOaWc .disabled circle,#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:lightgray;}#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:#efefef;}#mermaid-svg-461PqjmrPM1jOaWc .section-7 rect,#mermaid-svg-461PqjmrPM1jOaWc .section-7 path,#mermaid-svg-461PqjmrPM1jOaWc .section-7 circle,#mermaid-svg-461PqjmrPM1jOaWc .section-7 polygon,#mermaid-svg-461PqjmrPM1jOaWc .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .section-7 text{fill:black;}#mermaid-svg-461PqjmrPM1jOaWc .node-icon-7{font-size:40px;color:black;}#mermaid-svg-461PqjmrPM1jOaWc .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .edge-depth-7{stroke-width:-7;}#mermaid-svg-461PqjmrPM1jOaWc .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .disabled,#mermaid-svg-461PqjmrPM1jOaWc .disabled circle,#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:lightgray;}#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:#efefef;}#mermaid-svg-461PqjmrPM1jOaWc .section-8 rect,#mermaid-svg-461PqjmrPM1jOaWc .section-8 path,#mermaid-svg-461PqjmrPM1jOaWc .section-8 circle,#mermaid-svg-461PqjmrPM1jOaWc .section-8 polygon,#mermaid-svg-461PqjmrPM1jOaWc .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .section-8 text{fill:black;}#mermaid-svg-461PqjmrPM1jOaWc .node-icon-8{font-size:40px;color:black;}#mermaid-svg-461PqjmrPM1jOaWc .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .edge-depth-8{stroke-width:-10;}#mermaid-svg-461PqjmrPM1jOaWc .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .disabled,#mermaid-svg-461PqjmrPM1jOaWc .disabled circle,#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:lightgray;}#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:#efefef;}#mermaid-svg-461PqjmrPM1jOaWc .section-9 rect,#mermaid-svg-461PqjmrPM1jOaWc .section-9 path,#mermaid-svg-461PqjmrPM1jOaWc .section-9 circle,#mermaid-svg-461PqjmrPM1jOaWc .section-9 polygon,#mermaid-svg-461PqjmrPM1jOaWc .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .section-9 text{fill:black;}#mermaid-svg-461PqjmrPM1jOaWc .node-icon-9{font-size:40px;color:black;}#mermaid-svg-461PqjmrPM1jOaWc .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .edge-depth-9{stroke-width:-13;}#mermaid-svg-461PqjmrPM1jOaWc .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .disabled,#mermaid-svg-461PqjmrPM1jOaWc .disabled circle,#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:lightgray;}#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:#efefef;}#mermaid-svg-461PqjmrPM1jOaWc .section-10 rect,#mermaid-svg-461PqjmrPM1jOaWc .section-10 path,#mermaid-svg-461PqjmrPM1jOaWc .section-10 circle,#mermaid-svg-461PqjmrPM1jOaWc .section-10 polygon,#mermaid-svg-461PqjmrPM1jOaWc .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .section-10 text{fill:black;}#mermaid-svg-461PqjmrPM1jOaWc .node-icon-10{font-size:40px;color:black;}#mermaid-svg-461PqjmrPM1jOaWc .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .edge-depth-10{stroke-width:-16;}#mermaid-svg-461PqjmrPM1jOaWc .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-461PqjmrPM1jOaWc .disabled,#mermaid-svg-461PqjmrPM1jOaWc .disabled circle,#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:lightgray;}#mermaid-svg-461PqjmrPM1jOaWc .disabled text{fill:#efefef;}#mermaid-svg-461PqjmrPM1jOaWc .section-root rect,#mermaid-svg-461PqjmrPM1jOaWc .section-root path,#mermaid-svg-461PqjmrPM1jOaWc .section-root circle,#mermaid-svg-461PqjmrPM1jOaWc .section-root polygon{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-461PqjmrPM1jOaWc .section-root text{fill:#ffffff;}#mermaid-svg-461PqjmrPM1jOaWc .section-root span{color:#ffffff;}#mermaid-svg-461PqjmrPM1jOaWc .section-2 span{color:#ffffff;}#mermaid-svg-461PqjmrPM1jOaWc .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-461PqjmrPM1jOaWc .edge{fill:none;}#mermaid-svg-461PqjmrPM1jOaWc .mindmap-node-label{dy:1em;alignment-baseline:middle;text-anchor:middle;dominant-baseline:middle;text-align:center;}#mermaid-svg-461PqjmrPM1jOaWc :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
Token 消耗
上下文累积
历史对话存储
工具输出缓存
占比 40-50%
工具输出
搜索结果
文件内容
占比 20-30%
系统提示词
角色定义
技能说明
占比 10-15%
心跳任务
定期检查
状态同步
占比 5-10%
从分析可以看出,上下文累积是最大的消耗来源,占比高达 40-50%。这是因为每轮对话都会保留历史记录,随着对话轮数增加,Token 消耗呈线性增长。
4.3 六大优化策略
策略一:智能模型路由
根据任务复杂度选择合适的模型,简单任务用便宜模型,复杂任务用强模型:
{
"models": {
"routing": {
"default": "gpt-4o-mini",
"tasks": {
"coding": "claude-3-5-sonnet",
"chat": "gemini-flash",
"summary": "haiku"
}
}
}
}
策略二:上下文窗口限制
设置上下文窗口上限,防止对话过长导致 Token 爆炸:
{
"sessions": {
"maxContextTokens": 4000,
"autoResetThreshold": 0.8
}
}
策略三:会话定期重置
设置定时任务,每天凌晨重置会话:
crontab -e
# 添加
0 4 * * * openclaw sessions reset –all
策略四:本地模型回退
配置本地模型作为备用,当云端模型不可用或预算超限时自动切换:
{
"models": {
"fallback": {
"enabled": true,
"local": "ollama:deepseek-r1:14b",
"trigger": "rate_limit_exceeded"
}
}
}
策略五:心跳任务优化
将心跳间隔从 30 分钟改为 4 小时,可节省 87% 的待机成本:
{
"heartbeat": {
"enabled": true,
"interval": "4h",
"tasks": ["email", "calendar"]
}
}
策略六:供应商硬性限制
设置月度预算上限,防止意外超支:
export OPENAI_MAX_MONTHLY_BUDGET=50
4.4 优化效果对比
| 月度成本 | $150 | $35 | 77% |
| 日均 Tokens | 1500万 | 320万 | 79% |
| 响应速度 | 2.3s | 1.1s | 52% |
| 待机消耗 | $0.5/天 | $0.06/天 | 88% |
通过以上六大策略的组合使用,月度成本可以从 $150 降至 $35,节省 77%。同时,由于上下文更精简,响应速度反而提升了 52%。
五、安全加固:企业级防护方案
5.1 已知安全威胁回顾
OpenClaw 作为一个快速发展的项目,也经历过安全事件。了解这些事件有助于我们更好地保护自己的部署:
| CVE-2026-25253 | 2026.1 | WebSocket 劫持,RCE 漏洞 | ✅ 已修复 |
| 923 个网关暴露 | 2026.2 | 零认证暴露公网 | ⚠️ 用户责任 |
| 恶意 VS Code 扩展 | 2026.2 | 远程访问木马 | ✅ 已下架 |
最严重的是 CVE-2026-25253,攻击者可以通过 WebSocket 劫持实现远程代码执行。这个漏洞在 2026 年 1 月被披露后,开发团队在 24 小时内发布了修复版本。
另一个值得警惕的是 923 个网关暴露事件。由于用户将 Gateway 直接暴露在公网且未配置认证,任何人都可以访问这些 AI 助手。这提醒我们,安全配置是用户的责任。
5.2 安全防护流程
AI 模型
Gateway
用户
AI 模型
Gateway
用户
#mermaid-svg-XKCmdJYMAsgPOBgi{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-XKCmdJYMAsgPOBgi .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-XKCmdJYMAsgPOBgi .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-XKCmdJYMAsgPOBgi .error-icon{fill:#552222;}#mermaid-svg-XKCmdJYMAsgPOBgi .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-XKCmdJYMAsgPOBgi .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-XKCmdJYMAsgPOBgi .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-XKCmdJYMAsgPOBgi .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-XKCmdJYMAsgPOBgi .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-XKCmdJYMAsgPOBgi .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-XKCmdJYMAsgPOBgi .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-XKCmdJYMAsgPOBgi .marker{fill:#333333;stroke:#333333;}#mermaid-svg-XKCmdJYMAsgPOBgi .marker.cross{stroke:#333333;}#mermaid-svg-XKCmdJYMAsgPOBgi svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-XKCmdJYMAsgPOBgi p{margin:0;}#mermaid-svg-XKCmdJYMAsgPOBgi .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-XKCmdJYMAsgPOBgi text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-XKCmdJYMAsgPOBgi .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-XKCmdJYMAsgPOBgi .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-XKCmdJYMAsgPOBgi .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-XKCmdJYMAsgPOBgi .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-XKCmdJYMAsgPOBgi #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-XKCmdJYMAsgPOBgi .sequenceNumber{fill:white;}#mermaid-svg-XKCmdJYMAsgPOBgi #sequencenumber{fill:#333;}#mermaid-svg-XKCmdJYMAsgPOBgi #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-XKCmdJYMAsgPOBgi .messageText{fill:#333;stroke:none;}#mermaid-svg-XKCmdJYMAsgPOBgi .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-XKCmdJYMAsgPOBgi .labelText,#mermaid-svg-XKCmdJYMAsgPOBgi .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-XKCmdJYMAsgPOBgi .loopText,#mermaid-svg-XKCmdJYMAsgPOBgi .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-XKCmdJYMAsgPOBgi .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-XKCmdJYMAsgPOBgi .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-XKCmdJYMAsgPOBgi .noteText,#mermaid-svg-XKCmdJYMAsgPOBgi .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-XKCmdJYMAsgPOBgi .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-XKCmdJYMAsgPOBgi .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-XKCmdJYMAsgPOBgi .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-XKCmdJYMAsgPOBgi .actorPopupMenu{position:absolute;}#mermaid-svg-XKCmdJYMAsgPOBgi .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-XKCmdJYMAsgPOBgi .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-XKCmdJYMAsgPOBgi .actor-man circle,#mermaid-svg-XKCmdJYMAsgPOBgi line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-XKCmdJYMAsgPOBgi :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
alt
[不在白名单]
[在白名单]
alt
[认证失败]
[认证成功]
发送消息
Token 认证
401 未授权
白名单检查
403 禁止访问
权限检查
转发请求
返回响应
返回结果
5.3 四级访问控制策略
OpenClaw 提供四级访问控制策略,从最严格到最宽松:
{
"security": {
"dmPolicy": "pairing",
"allowlist": ["+86138xxxxxxxx"],
"groupChat": {
"requireMention": true
}
}
}
四级策略说明:
| pairing | 必须通过配对流程 | 个人使用,最安全 |
| allowlist | 仅白名单用户可访问 | 团队内部使用 |
| open | 开放访问 | 公开服务(不推荐) |
| disabled | 完全禁用 | 维护模式 |
5.4 安全加固检查清单
部署 OpenClaw 时,请逐项检查以下安全配置:
- 升级到最新版本(修复已知漏洞)
- 启用 Token 认证(防止未授权访问)
- 配置白名单访问(限制用户范围)
- 关闭公网暴露或使用 VPN(防止外部攻击)
- 设置 API 预算上限(防止成本失控)
- 启用 Docker 沙箱(生产环境)
- 定期检查日志(发现异常行为)
- 备份配置文件(灾难恢复)
六、实战案例:搭建智能工作流
6.1 案例 1:智能日报生成
每天自动收集工作信息,生成结构化日报:
# 创建技能目录
mkdir -p ~/.openclaw/skills/daily-report
# 设置定时任务
crontab -e
# 添加:每天下午 6 点生成日报
0 18 * * * openclaw agent –message "生成今日工作日报"
6.2 案例 2:智能客服机器人
基于知识库自动回答用户问题:
#mermaid-svg-JHPHEkSmfND313UT{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-JHPHEkSmfND313UT .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-JHPHEkSmfND313UT .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-JHPHEkSmfND313UT .error-icon{fill:#552222;}#mermaid-svg-JHPHEkSmfND313UT .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-JHPHEkSmfND313UT .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-JHPHEkSmfND313UT .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-JHPHEkSmfND313UT .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-JHPHEkSmfND313UT .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-JHPHEkSmfND313UT .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-JHPHEkSmfND313UT .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-JHPHEkSmfND313UT .marker{fill:#333333;stroke:#333333;}#mermaid-svg-JHPHEkSmfND313UT .marker.cross{stroke:#333333;}#mermaid-svg-JHPHEkSmfND313UT svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-JHPHEkSmfND313UT p{margin:0;}#mermaid-svg-JHPHEkSmfND313UT defs #statediagram-barbEnd{fill:#333333;stroke:#333333;}#mermaid-svg-JHPHEkSmfND313UT g.stateGroup text{fill:#9370DB;stroke:none;font-size:10px;}#mermaid-svg-JHPHEkSmfND313UT g.stateGroup text{fill:#333;stroke:none;font-size:10px;}#mermaid-svg-JHPHEkSmfND313UT g.stateGroup .state-title{font-weight:bolder;fill:#131300;}#mermaid-svg-JHPHEkSmfND313UT g.stateGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-JHPHEkSmfND313UT g.stateGroup line{stroke:#333333;stroke-width:1;}#mermaid-svg-JHPHEkSmfND313UT .transition{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-JHPHEkSmfND313UT .stateGroup .composit{fill:white;border-bottom:1px;}#mermaid-svg-JHPHEkSmfND313UT .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}#mermaid-svg-JHPHEkSmfND313UT .state-note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-JHPHEkSmfND313UT .state-note text{fill:black;stroke:none;font-size:10px;}#mermaid-svg-JHPHEkSmfND313UT .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-JHPHEkSmfND313UT .edgeLabel .label rect{fill:#ECECFF;opacity:0.5;}#mermaid-svg-JHPHEkSmfND313UT .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-JHPHEkSmfND313UT .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-JHPHEkSmfND313UT .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-JHPHEkSmfND313UT .edgeLabel .label text{fill:#333;}#mermaid-svg-JHPHEkSmfND313UT .label div .edgeLabel{color:#333;}#mermaid-svg-JHPHEkSmfND313UT .stateLabel text{fill:#131300;font-size:10px;font-weight:bold;}#mermaid-svg-JHPHEkSmfND313UT .node circle.state-start{fill:#333333;stroke:#333333;}#mermaid-svg-JHPHEkSmfND313UT .node .fork-join{fill:#333333;stroke:#333333;}#mermaid-svg-JHPHEkSmfND313UT .node circle.state-end{fill:#9370DB;stroke:white;stroke-width:1.5;}#mermaid-svg-JHPHEkSmfND313UT .end-state-inner{fill:white;stroke-width:1.5;}#mermaid-svg-JHPHEkSmfND313UT .node rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-JHPHEkSmfND313UT .node polygon{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-JHPHEkSmfND313UT #statediagram-barbEnd{fill:#333333;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-cluster rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-JHPHEkSmfND313UT .cluster-label,#mermaid-svg-JHPHEkSmfND313UT .nodeLabel{color:#131300;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-cluster rect.outer{rx:5px;ry:5px;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-state .divider{stroke:#9370DB;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-state .title-state{rx:5px;ry:5px;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-cluster.statediagram-cluster .inner{fill:white;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-cluster.statediagram-cluster-alt .inner{fill:#f0f0f0;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-cluster .inner{rx:0;ry:0;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-state rect.basic{rx:5px;ry:5px;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#f0f0f0;}#mermaid-svg-JHPHEkSmfND313UT .note-edge{stroke-dasharray:5;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-note text{fill:black;}#mermaid-svg-JHPHEkSmfND313UT .statediagram-note .nodeLabel{color:black;}#mermaid-svg-JHPHEkSmfND313UT .statediagram .edgeLabel{color:red;}#mermaid-svg-JHPHEkSmfND313UT #dependencyStart,#mermaid-svg-JHPHEkSmfND313UT #dependencyEnd{fill:#333333;stroke:#333333;stroke-width:1;}#mermaid-svg-JHPHEkSmfND313UT .statediagramTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-JHPHEkSmfND313UT :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
常见问题
投诉/退款
接收消息
关键词匹配
自动回复
转人工
6.3 案例 3:代码审查助手
自动审查代码提交,提供改进建议:
# 配置 Git Hook
echo '#!/bin/bash
openclaw agent –message "审查本次代码提交:$(git diff HEAD~1)"' > .git/hooks/post-commit
chmod +x .git/hooks/post-commit
七、常见问题与解决方案
Q1: Gateway 启动失败,端口被占用?
# 查找占用 18789 端口的进程
lsof -i :18789
# 终止进程
kill -9 <PID>
# 或更换端口
openclaw gateway –port 18888
Q2: WhatsApp 登录二维码无法显示?
# 使用终端二维码渲染
openclaw channels login whatsapp –qr-terminal
Q3: AI 响应很慢?
# 切换到更快的模型
openclaw config set models.default.model gpt-4o-mini
# 或使用本地模型
openclaw config set models.default.provider ollama
openclaw config set models.default.model deepseek-r1:7b
Q4: 如何备份配置?
# 备份整个配置目录
tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz ~/.openclaw/
# 恢复备份
tar -xzf openclaw-backup-20260315.tar.gz -C ~/
Q5: 如何查看详细日志?
# 实时查看日志
openclaw logs –follow
# 查看最近 100 行
openclaw logs –lines 100
# 日志文件位置
cat ~/.openclaw/logs/gateway.log
八、总结与展望
8.1 核心优势回顾
| 隐私 | 完全自托管,数据不出本地 |
| 灵活 | 支持 20+ 消息平台,统一接入 |
| 经济 | 开源免费,成本可控 |
| 强大 | 浏览器控制、定时任务、技能扩展 |
| 安全 | 多层防护,企业级加固方案 |
8.2 适用人群
- ✅ 开发者:需要 AI 辅助编程、自动化工作流
- ✅ 运维工程师:7×24 监控告警、自动处理
- ✅ 内容创作者:素材收集、内容生成
- ✅ 个人用户:智能助手、日程管理
- ✅ 企业团队:知识库问答、流程自动化
8.3 学习路径建议
参考资料:
- 官方文档: https://docs.openclaw.ai
- GitHub:https://github.com/openclaw/openclaw
- 社区:https://discord.com/invite/clawd
- ClawHub 技能市场:https://clawhub.com




