去年年底,我发现了n8n。为个人任务写了四个机器人,在Habr上发表了一篇文章,已经在规划自动化领域的美好未来。但好景不长。OpenClaw出现了——一个被誉为"AI代理杀手"的项目。我开始动摇:是不是该抛弃旧代码库,迁移到新技术栈?我深入研究,理清了思路,最后做出决定:我要继续用n8n。事实证明,用OpenClaw创建个人AI代理过于复杂、成本太高、不划算。但让我们按顺序来——从理论到实践。

频道里有Claude Code相关的教程和内容,发布最新资讯(比如当限额被砍掉十倍时),以及我们通过Claude为项目开发的工具,频道:https://t.me/claudedevolper

为什么OpenClaw会这么快地烧掉令牌?

令牌消耗大户这不是夸大其词,而是实实在在的数据。看看通过OpenRouter这个平台各个应用的令牌消耗情况:

世界第一令牌消耗大户

OpenClaw目前排名第一,但从下面这个图表可以看出,这个应用的令牌消耗在下降。这说明要么用户的热情在降温,要么大家学会了怎么优化令牌消耗:

令牌消耗量在减少

OpenClaw的应用场景

OpenClaw最火的应用场景是晨间简报。原理很简单:每天早上你都能收到一份精心挑选的新闻摘要(按你喜欢的主题)、日程表上的任务、重要邮件提醒之类的。我的晨间简报长这样:

我的简报里包括了:

  • 日历数据——我接入了一个测试的Google Calendar,里面放了一个月的任务。
  • AI新闻——通过搜索工具(Web或Tavily),系统能找到全球最重要的三条新闻,然后翻译成俄语。
  • 每日梗——为了增加趣味,代理会努力找一个关于人工智能的梗。

社区还提出了其他的应用场景:

  • 任务收件箱管理器——Telegram里的来信可以实时处理:记到文档、创建任务、加入日历事件、发送提醒。
  • 智能邮件分类——代理接收邮件,分析内容,自动生成回复(最好是草稿形式,这样可以先审核再发送)。
  • 转录和语音命令——比如用语音命令执行git提交。
  • 客服机器人——接收用户反馈,立即修复问题。
  • 想法和代码生成器——更复杂的场景:分析最近24小时AI领域的热点,生成想法,然后直接写代码。
  • 个人信息搜索——OpenClaw定位为个人助手。它会记住你跟它分享或交换过的所有信息,然后可以在这些信息里搜索。

OpenClaw的架构

关于AI代理的理论可以看我的文章"为工作制作机器人"。OpenClaw是一个典型的AI代理,只不过用了自己的术语。

OpenClaw架构

用户/管理员

用户(也就是管理员)负责配置和使用这个代理。

事件源

在OpenClaw里,事件源叫做"通道"(Channels)。可以是即时通讯、邮件、日历、网页界面。事件也来自Cron任务和Heartbeats模块。每隔30分钟,这个模块会检查一下是否发生了什么重要的事,然后触发处理逻辑。

管理

管理和配置可以通过OpenClaw的网页界面或第三方UI(比如Nerve UI)进行。也可以直接改本地文件或用SSH来做。

感知(Perception)

OpenClaw Gateway——中央节点,负责接收数据、数据规范化和编排。Gateway还实现了身份验证、速率限制、事件队列、上下文收集和会话管理。

推理(Reasoning)

LLM——系统的大脑,也是必不可少的组件。没有神经网络,OpenClaw就没法工作。LLM可以是云端的也可以是本地部署的。

行动(Action)

Skill Engine——执行操作、管理技能库、与ClawHub同步。技能(Skills)分两种:标准技能(从OpenClaw Hub下载)和自定义技能(用户自己创建)。

工具——外部集成、MCP、云服务、第三方API、本地应用调用。

记忆(Memory)

用来存储上下文、会话、日志。默认存储是文件系统。所有东西都写到文件里,然后传给LLM。

工作循环

操作执行的结果会回传到事件源,然后循环开始新一轮。

实战部分

这一部分是基于我在ODS"LLM:从理解到产品"培训中的研讨会内容写的。研讨会题目是"OpenClaw:个人AI代理实战——从安装到晨间简报",资料包括:

  • YouTube或VK Video上的完整视频。
  • GitHub上的完整笔记。

这篇文章我会提供研讨会的精简版本,让大家理解一下为什么OpenClaw即使是最基础的操作也能变成一场恶梦。

安装OpenClaw的前置条件

  • 拿到API密钥:
    • 从BotFather获取Telegram密钥
    • 获取Google API密钥
    • 获取网络搜索密钥(Tavily)
  • 选择一个LLM,可以是付费订阅、免费订阅,或者部署本地模型。AI来源有:
    • Huggingface: https://huggingface.co/
    • Openrouter: https://openrouter.ai/
  • 选择在哪里安装OpenClaw:
    • 在你的笔记本上装主系统或单独的VM(比如用VirtualBox)。无论哪个方式都会有安全和24/7运行的限制。
    • 另一个办法是买个云VPS(虚拟专用服务器)。最低配置是2核CPU、4GB RAM、40GB硬盘。

在全新Ubuntu上安装OpenClaw的分步指南

我这里列的是步骤概览,不详细展开,这样能看清楚这事得有多复杂。详细的教程其实到处都是,对我帮助最大的有这些:

  • Selectel: OpenClaw:安装和初体验
  • 官方OpenClaw文档里的安装演示和应用场景视频:
    • ClawdBot (OpenClaw): 自托管AI的正确打开方式(完整设置指南)
    • OpenClaw (Clawdbot) 实战案例:9个自动化方案 + 4个真正能用的疯狂建构

Ubuntu基础配置

  • 更新系统。
  • 创建单独的openclaw用户(绝对不要用root)。
  • 配置防火墙(本地或云端),只开放必需的端口。
  • 配置SSH密钥认证,禁用密码登录。

OpenClaw安装

  • 切换到openclaw用户。
  • 装包管理器Homebrew用来装技能。然后:
    • 用标准apt装系统依赖和核心系统。
    • 用Homebrew装官方仓库里没有的应用和工具。
  • 装Node.js 22+。
  • 装OpenClaw,用推荐脚本或npm。
  • 运行OpenClaw配置向导:
    • 输入你选中的AI服务商的API密钥。
    • 配置通讯通道(Telegram)。
    • 为自启动配置systemd服务。
    • 配置技能(可以后来再做):Gmail、日历、网络搜索。

OpenClaw装完之后

  • 如果需要管理多个代理,装Nerve。
  • 配对设备:Telegram机器人和已装的OpenClaw实例。
  • 转发18789和3080端口到UI(端口转发)。
  • 启动OpenClaw UI,从openclaw.json里输入Gateway令牌。

启动OpenClaw UI

只能在本地用,千万不要从网络暴露:

  • OpenClaw仪表板:http://localhost:18789/
  • Nerve仪表板:http://localhost:3080/

配置

配置代理的个性

首次启动代理时(BOOTSTRAP),会生成这些文件:

  • IDENTITY.md——代理的名字、风格、emoji、头像。
  • USER.md——用户信息:怎么称呼你、你的时区。
  • SOUL.md——代理信息:它的边界、说话风格。
  • AGENTS.md——代理工作规则。

填好这些之后,OpenClaw就成了你的专属AI助手,它了解自己也了解你,知道该怎么工作。

配置Heartbeat模块

心跳和定时任务:别让令牌把你破产

这对我来说真是个意外。早上起床——OpenClaw没响应。我一看OpenRouter账户:额度用完了。一晚上就花了5块钱...一晚上5块钱!

怎么回事呢?

默认情况下OpenClaw用的是最牛的、最贵的模型——Opus 4。每个请求得花10分钱。心跳每30分钟检查一次系统,如果模型贵,账单就飙升。但要是把心跳关了,你就失去了出错后自动恢复和重试的能力。

怎么办?

  • 用定时任务代替心跳——我用定时任务(每天一次)实现了晨间简报。这办法不太可靠:如果出问题就没有重试。但这样能避免每半小时无谓地烧令牌。
  • 换个便宜一点的模型——比如我换成了Claude Haiku。能省大约80%。
  • 在LLM服务商那里设置花费限额——绝对不能给代理开无限额度。千万别。

怎么关闭心跳

查看最后一个心跳:

openclaw system heartbeat last

暂时关闭:

openclaw system heartbeat disable

永久关闭:在~/.openclaw/openclaw.json里配置Heartbeat

      "heartbeat": {        "every": "0m",        "target": "none"      }

保存文件后验证配置有效性:

python3 -m json.tool ~/.openclaw/openclaw.json > /dev/null && echo "JSON OK"

重启OpenClaw Gateway:

openclaw gateway restart

查看日志——不应该出现新的"heartbeat"记录:

openclaw logs 2>&1 | grep -i heartbeat | tail -10

再等35分钟左右,确认没有新的启动。

安装头像

看起来是最简单的事。但即便这么简单的事也需要充分理解和严格按步骤来。有个重要的澄清:这个头像是代理本身的头像,不是你(用户)的头像。

把蓝色大脑的png文件上传到这个目录:

~/.openclaw/workspace/avatars
  • 编辑IDENTITY.MD
  • 重启OpenClaw Gateway
  • 打开聊天,可以看到代理用上了新头像:

更换LLM模型

为了优化令牌成本,这是最重要的一步。模型在文件中设置:

~/.openclaw/openclaw.json

编辑文件。原来的样子:

"model": {  "primary": "openrouter/auto"},"models": {  "openrouter/auto": {    "alias": "OpenRouter"  }}

现在的样子(Haiku 4.5 的例子):

"model": {  "primary": "openrouter/anthropic/claude-haiku-4.5"},"models": {  "openrouter/anthropic/claude-haiku-4.5": {    "alias": "Haiku 4.5"  }}

可以添加备用模型,以防主模型不可用时系统不会崩溃:

"model": {  "primary": "openrouter/anthropic/claude-haiku-4.5",  "fallbacks": [    "openrouter/google/gemini-2.0-flash",    "openrouter/deepseek/deepseek-chat"  ]},"models": {  "openrouter/anthropic/claude-haiku-4.5": { "alias": "Haiku 4.5" },  "openrouter/google/gemini-2.0-flash": { "alias": "Gemini Flash" },  "openrouter/deepseek/deepseek-chat": { "alias": "DeepSeek" }}

保存文件后,检查语法:

python3 -m json.tool ~/.openclaw/openclaw.json > /dev/null && echo "✓ JSON OK"

重新启动 Gateway:

openclaw gateway restart

要检查新模型是否工作,有两种方法:

  • 提一个明确的问题"你现在使用的是哪个模型?说出提供商和准确的模型名称。"
  • 发送测试请求:openclaw "Какая сегодня дата? Ответь кратко."

然后检查日志——应该有新模型的记录。检查你的 AI 提供商仪表板中的支出也不会有坏处。对于 OpenRouter,查看 Activity 部分。

设置技能

安装标准技能 gog

此技能用于处理 Gmail、Google Calendar、Drive、Contacts、Sheets、Docs。下面是步骤列表,以了解工作量。安装:

brew install steipete/tap/gogcliОбъяснить с

生成 client_secret.json

需要在 Google Cloud Console 中专门为 gog 生成此文件。

  • 转到 Google Cloud Console 并使用你的 Google 账户进行身份验证。
  • 打开 Google Cloud Console 页面,创建新项目。
  • 启用所需的 API。gog 的最小集合:
    • Gmail API
    • Google Calendar API
    • Google Drive API
    • People API(用于联系人)
  • 创建凭证(OAuth Client ID):
    • 在侧边菜单中转到 API 部分,然后是"服务/凭证"
    • 点击"创建凭证"按钮并选择"OAuth client ID"。
    • 在打开的表单中:
      • 应用程序类型:选择"桌面应用"。这很重要,因为 gog 在你的计算机上运行。
      • 名称:输入任何有意义的名称,例如 Gog CLI on my Ubuntu。
      • 其他字段可以留空。
    • 点击"创建"按钮。
  • 下载凭证文件:
    • 创建后立即会出现一个弹出窗口,显示你的 Client ID 和 Client Secret。
    • 点击蓝色的"下载 JSON"按钮。
    • 此下载的文件就是你的 client_secret.json。它的名称将是 client_secret_your‑id.apps.googleusercontent.com.json 的形式。为简起见,你可以将其重命名为 client_secret.json。

将 client_secret.json 放在哪里

  • 推荐的选项是将文件保存在配置文件夹 ~/.config/gogcli/
  • 为了使 gog 将来在不指定路径的情况下识别该文件,应将其重命名为 credentials.json

如何与 gog 一起使用

现在可以将其传递给命令 gog auth credentials。你可以使用绝对或相对文件路径。

gog auth credentials ~/.config/gogcli/credentials.json

在 OpenClaw 中配置 gog

  • 成功执行前一个命令后,可以添加你的账户。另外,需要添加参数"‑manual"
gog auth add Alexey.P.Sushkov@gmail.com --services gmail,calendar,drive,contacts,sheets,docs --manual
  • 可以使用以下命令检查一切是否顺利:
gog auth list
  • 你应该在授权账户列表中看到你的电子邮件。
  • 检查日历:
gog calendar events e5b2dxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4c690f@group.calendar.google.com  --from 2026-04-01 --to 2026-04-30
  • 由于我们在 VPS 上工作并从脚本执行命令,最好切换到文件存储。这完全消除了密码的需要,并且比在 ~/.bashrc 中以明文存储密码更安全。
  • 切换到文件存储后,gog calendar events 命令将在没有环境变量和密码提示的情况下工作。
  • 在今后的工作中,需要注意的是,在一个 OAuth 2.0 Client ID 的范围内,无法选择性地撤销一个 API 的访问权限而保留另一个。撤销令牌始终会撤销用户为该 Client ID 授予的所有权限。

自定义技能

有两种方法可以创建自定义技能:

  • 简单的方法——在聊天中给出明确的命令,例如:请通过 ClawHub 为我制作一个 summarize 技能。
  • 复杂的方法——手动通过文件来处理。

安全性

关于 OpenClaw 安全配置的最终建议:

  • 基础设施和网络:
    • 单独的用户
    • 禁用未使用的端口。
    • 仅通过密钥进行 SSH。
  • 身份验证和访问控制:
    • 仅通过 localhost 访问管理面板。
    • 最小权限原则:每个技能只获得必需的作用域。
  • 秘密和配置
    • 密码 / API 令牌不存储在配置中,而是存储在 .env 或密码管理器、安全存储中。
  • 防止 AI 代理的影响:
    • 需要对令牌和调用进行限制:
      • max retries: 3
      • timeout: 10分钟
    • 为破坏性操作(删除、批量发送)实现显式确认。
    • 在安装前检查来自 ClawHub 的技能代码——已有恶意软件包的情况。
  • 日志记录、监控和响应:
    • 实现集中式日志收集。
    • 从日志中排除机密和个人信息。
    • 每天晚上查看仪表板:延迟、令牌成本、工具成功率、错误率、队列深度等

有用命令列表

版本应该大于 v2026.3.24+

openclaw --version

重启 gateway,最常用的命令:

openclaw gateway restart

检查配置的有效性:

python3 -m json.tool ~/.openclaw/openclaw.json > /dev/null && echo "JSON OK"

安全审计

openclaw security audit
openclaw security audit --deep

应用自动修复(谨慎使用!)

openclaw security audit --fix

实践总结

  • OpenClaw 已启动并可通过 localhost 访问。
  • 已连接通道(Telegram + Gmail / Calendar)。
  • 已安装来自 ClawHub 的技能(gog、tavily)+ 编写了自定义技能(AI 梗、summarize)
  • 代理读取日历事件、搜索新闻、生成笑话并将消息发送到 Telegram。

我的成本

  • Selectel 中的最小配置服务器——约 2000 ₽/月。
  • 令牌(OpenRouter)——约 1–2 美元/天(晨报 + 实验)。
  • 总计——每月约 3000 ₽ 用于晨报。说实话,这似乎太多了。花这些钱,我可以自己在网上找新闻!

n8n 与 OpenClaw 的比较

OpenClaw——令牌消耗量第 1 名

表格的结论

n8n 是关于控制。OpenClaw 是关于委托给混乱。

结论

OpenClaw 不是"杀手",而是 AI 代理发展方向的演示:朝着自主性、通用性和最大灵活性发展。但随之而来的也有副作用:复杂性、不透明度、高成本以及对基础设施的严格要求。如果你的任务是以可预测的结果、受控的成本和最小风险解决具体的业务或个人任务,那么 n8n 看起来要合理得多!

包含 claude code 指南和内容的频道,我们发布新闻(当限制被削减 10 倍时)以及我们通过 claude 为项目实现的工具,频道:https://t.me/claudedevolper