无尘阁日记

无尘阁日记

在openclaw中一个智能体怎么算的?一个skills?很多用telegram连小龙虾,多个智能体,跟本地小龙虾关系,请详细解释。
2026-05-02

你可以把 OpenClaw / 小龙虾理解成一套 “本地智能体操作系统”
智能体不是 Skill,Telegram 也不是智能体,真正的智能体是 OpenClaw 里被配置出来的一个“执行角色 / 工作空间 / 权限边界 / 模型配置 / 路由目标”。

一句话说透:

本地小龙虾是底座,Gateway 是调度中心,Telegram 是入口,Agent 是执行角色,Skill 是能力说明书,Plugin/Tool 是真正干活的手脚,Session 是一次对话上下文。


一、一个智能体到底怎么算?

在 OpenClaw 里,严格一点说,一个 Agent / 智能体 = 一个被 OpenClaw 管理的独立执行配置

官方 CLI 里 openclaw agents 的定义是:管理 isolated agents,也就是带有 workspace、auth、routing 的隔离智能体。官方示例里可以新增 workops 这样的 agent,并给它们绑定不同 workspace 或 Telegram 路由。(OpenClaw)

所以判断“是不是一个智能体”,核心看这几点:

维度是否构成一个智能体?解释
一个 agents.list[] 配置项例如 mainworkops
一个独立 workspace通常是每个 agent 可以有自己的工作目录、文件、记忆、技能
一个 Telegram Bot不是它只是消息入口
一个 Telegram 群不是它只是一个会话来源或路由来源
一个 Skill不是Skill 是能力包,不是执行主体
一个模型 API Key不是只是智能体调用模型时用的燃料
一个 Session不是Session 是某个 agent 的一段对话
一个 Sub-agent半是半不是它是一次后台派生运行,但不一定是长期固定智能体

更通俗地说:

Agent 是“人设 + 工位 + 权限 + 工具箱 + 模型 + 路由”的组合。Skill 只是工具箱里的说明书。


二、Skill 到底是什么?是不是一个智能体?

不是。Skill 不是智能体。

OpenClaw 官方说明里,Skill 是兼容 AgentSkills 的技能文件夹,用来“教 agent 怎么使用工具”。每个 Skill 通常是一个目录,里面有 SKILL.md,包含 YAML frontmatter 和具体操作说明。OpenClaw 会加载内置技能、本地技能、工作区技能,并按配置和环境过滤。(OpenClaw)

你可以这样理解:

概念类比作用
Agent一个员工负责理解任务、决策、调用工具
Skill员工的操作手册告诉员工怎么处理某类任务
Tool员工手上的工具真正执行读文件、写文件、发消息、跑命令
Plugin给系统扩展新工具/通道的插件比如飞书、Telegram、微信、PDF、浏览器能力
Workspace员工的办公桌存放文件、上下文、专属技能
Gateway前台/调度台收消息、分配给哪个 agent、发回结果

所以:

一个微信搜一搜 Skill ≠ 一个智能体
一个飞书 Skill ≠ 一个智能体
一个写报告 Skill ≠ 一个智能体
一个财务分析 Skill ≠ 一个智能体

它们只是让某个 Agent 学会“怎么做这件事”。

比如你现在做的“微信搜一搜公众号 Skills”,本质上是:

main agent / 某个业务 agent
  ↓
加载 wechat-search skill
  ↓
调用浏览器、截图、OCR、日志写入等工具
  ↓
完成公众号搜索任务

真正“算智能体”的不是这个 Skill,而是调用它的那个 Agent。


三、多个智能体是怎么来的?

OpenClaw 支持多 Agent。官方文档里说,每个 agent 可以有自己的 workspace;per-agent skills 可以放在这个 agent 自己的 <workspace>/skills 目录里,共享技能则放在 ~/.openclaw/skills,同一台机器上的多个 agent 都能看到。(OpenClaw)

你可以做成这种结构:

本地小龙虾 OpenClaw
│
├─ Agent 1:main
│   ├─ workspace:~/.openclaw/workspace
│   ├─ 用途:个人总助理
│   ├─ 技能:日程、邮件、文件、普通问答
│
├─ Agent 2:writer
│   ├─ workspace:~/.openclaw/workspace-writer
│   ├─ 用途:写公众号、写报告、写课程文案
│   ├─ 技能:公众号写作、PDF生成、爆款拆解
│
├─ Agent 3:ops
│   ├─ workspace:~/.openclaw/workspace-ops
│   ├─ 用途:运维、日志、代码、服务器
│   ├─ 技能:shell、git、openclaw doctor、日志分析
│
└─ Agent 4:finance
    ├─ workspace:~/.openclaw/workspace-finance
    ├─ 用途:财务分析、经营分析
    ├─ 技能:Excel分析、经营诊断、报告生成

这才叫“多个智能体”。

它不是你装了很多 Skill 就自然变成多个智能体,而是你明确配置了多个 Agent,并给它们不同的 workspace、模型、权限、技能、路由。


四、Telegram 连小龙虾,本质是什么关系?

Telegram 在 OpenClaw 里是 Channel / 消息通道,不是智能体。

官方 Telegram 文档说,它通过 Bot API 工作,支持 bot 私聊和群组;常见流程是:用 BotFather 创建 bot token,把 token 配到 OpenClaw,然后启动 gateway,再做 pairing 或群组配置。(OpenClaw)

它的链路是这样:

你在 Telegram 发消息
        ↓
Telegram Bot 收到消息
        ↓
OpenClaw Telegram Channel Adapter 接收
        ↓
OpenClaw Gateway 判断路由
        ↓
分配给某个 Agent
        ↓
Agent 调模型 + 读技能 + 调工具
        ↓
结果通过 Gateway 回到 Telegram

所以 Telegram 的角色非常像:

微信/飞书/Telegram 只是“遥控器”,本地小龙虾才是“机器人大脑和手脚”。


五、很多人用 Telegram 连小龙虾,为什么?

因为 Telegram 有几个优势:

1. 容易远程控制本地电脑

你的 OpenClaw 跑在家里电脑、公司电脑、Mac、Windows WSL 里。
你人在外面,只要给 Telegram Bot 发消息,就能让本地 OpenClaw 做事。

比如:

帮我看一下今天 OpenClaw gateway 日志有没有报错

然后本地小龙虾可以去读本地日志。

2. 可以做个人助理,也可以做群机器人

Telegram 支持 DM,也支持群组。官方文档里提到,Telegram 默认 DM policy 是 pairing;群组还涉及 group 配置、mention、allowlist 等访问控制。(OpenClaw)

这意味着你可以这样玩:

私聊 Telegram Bot → 调用个人 main agent
业务群 @Bot → 调用 ops agent
课程群 @Bot → 调用 course agent
客户群 @Bot → 调用 support agent

3. Telegram 比微信、飞书更容易标准化接入

Telegram Bot API 比较开放,BotFather 创建 token 后就能接入。OpenClaw 文档也明确说 Telegram 不走 openclaw channels login telegram,而是把 token 配在 config 或环境变量里。(OpenClaw)


六、多个 Telegram Bot 和多个 Agent 是什么关系?

这里非常容易混。你记住这个公式:

Telegram Bot 数量 ≠ Agent 数量
Telegram 群数量 ≠ Agent 数量
Skill 数量 ≠ Agent 数量

它们之间是 多对多路由关系

场景 1:一个 Telegram Bot 对一个 Agent

最简单:

Telegram Bot:我的小龙虾助手
        ↓
Agent:main

适合个人使用。


场景 2:一个 Telegram Bot 对多个 Agent

比如同一个 Bot 加入多个群,不同群路由到不同 Agent:

Telegram Bot:公司AI助手
│
├─ 私聊你 → main agent
├─ 运维群 → ops agent
├─ 内容群 → writer agent
├─ 财务群 → finance agent
└─ 客服群 → support agent

这种是比较推荐的结构。

官方 openclaw agents 文档里有 routing bindings,可以把 inbound channel traffic 固定到某个 agent,例如把 telegram:ops 绑定到 ops agent。(OpenClaw)


场景 3:多个 Telegram Bot 对一个本地 OpenClaw

你也可以创建多个 Bot:

@my_personal_bot
@my_company_ops_bot
@my_course_bot

它们都连到同一个本地 OpenClaw Gateway。

关系是:

同一台本地电脑
  ↓
一个 OpenClaw Gateway
  ↓
多个 Telegram Bot / channel account
  ↓
路由到不同 Agent

这时候,本地小龙虾相当于一个“总后台”,Telegram Bot 只是不同入口。


七、Gateway 在这里是什么?

Gateway 是 OpenClaw 的控制平面 / 调度中枢

OpenClaw GitHub README 里有一句很关键:OpenClaw 是你运行在自己设备上的个人 AI assistant;它可以在你已有的聊天渠道里回复你;Gateway 只是 control plane,真正的产品是 assistant。(GitHub)

你可以这样理解:

Gateway = 总机 / 前台 / 调度中心
Agent = 被分配任务的员工
Skill = 员工的操作流程
Tool = 员工能用的工具
Channel = 用户打进来的电话线路

Telegram、飞书、微信这些消息进来之后,Gateway 负责判断:

这条消息来自哪个 channel?
来自哪个 account?
来自哪个用户?
来自哪个群?
应该交给哪个 agent?
这个 agent 有哪些技能和工具?
回复应该发回哪里?

八、Session 又是什么?

Session 是“某个 Agent 和某个用户/群/线程之间的一段对话上下文”。

比如你在 Telegram 私聊 Bot:

你:帮我查一下日志
Bot:日志里有一个 401
你:这个 401 是谁报的?

第二句话里的“这个 401”,需要依赖上一轮上下文。这个上下文就属于一个 Session。

所以:

Agent 是角色
Session 是这次聊天记录
Skill 是能力说明
Tool 是动作工具

不要把 Session 当成智能体。Session 更像“这个员工正在处理的一张工单”。


九、Sub-agent 是什么?是不是多个智能体?

Sub-agent 是比较高级的东西。

官方文档说,Sub-agent 是从已有 agent run 里派生出来的后台 agent run,它有自己的 session,完成后会把结果汇报回请求方聊天通道。它适合并行处理研究、长任务、慢工具任务。(OpenClaw)

比如你对主 Agent 说:

帮我分析汽车后市场 12 个赛道,每个赛道找机会。

主 Agent 可以拆成:

Sub-agent 1:分析充电补能
Sub-agent 2:分析三电检测
Sub-agent 3:分析二手新能源
Sub-agent 4:分析车主会员

它们像临时派出去的小分队。

但要注意:

类型是否长期存在是否算正式 Agent
agents.list[] 里的 agent
/subagents spawn 派生出来的 sub-agent run通常不是更像一次临时任务
某个 Skill不是不是

我的建议是:
你做系统设计时,把 sub-agent 称为“子任务智能体”或“临时执行智能体”,不要和正式 Agent 混在一起。


十、本地小龙虾和 Telegram 智能体的关系图

你可以按这个图理解:

用户
│
├─ Telegram 私聊
├─ Telegram 群
├─ 飞书群
├─ 微信
├─ WebChat / Canvas
│
▼
OpenClaw Gateway
│
├─ 认证:这个人能不能用?
├─ 路由:这条消息给哪个 agent?
├─ 会话:属于哪个 session?
├─ 权限:这个 agent 能用哪些 tools / skills?
│
▼
Agent
│
├─ 模型:Kimi / OpenAI / Z.AI / Claude / Gemini 等
├─ 身份:名字、人设、任务边界
├─ Workspace:自己的工作目录
├─ Skills:能读到哪些技能说明
├─ Tools:能否读文件、写文件、跑命令、浏览器、发消息
├─ Sandbox:是否隔离执行
│
▼
本地电脑真实执行
│
├─ 读文件
├─ 写报告
├─ 调浏览器
├─ 截图 OCR
├─ 执行命令
├─ 调 API
├─ 发飞书/Telegram/邮件
│
▼
Gateway 把结果发回 Telegram

十一、举个你最可能用到的配置思路

比如你要做三个智能体:

  1. main:个人总助理;

  2. wechat-research:微信搜一搜/公众号研究专用;

  3. report-writer:PDF 报告和课程材料专用。

大概结构是:

{
  "agents": {
    "defaults": {
      "skills": ["weather"]
    },
    "list": [
      {
        "id": "main",
        "default": true,
        "workspace": "~/.openclaw/workspace-main",
        "skills": ["calendar", "email", "files"]
      },
      {
        "id": "wechat-research",
        "workspace": "~/.openclaw/workspace-wechat",
        "skills": ["wechat-search", "ocr-date-detect", "browser"]
      },
      {
        "id": "report-writer",
        "workspace": "~/.openclaw/workspace-report",
        "skills": ["pdf-report", "business-analysis", "slides"]
      }
    ]
  }
}

注意这里:

"skills": ["wechat-search"]

不是创建智能体,只是告诉这个智能体可以用这个技能。


十二、Telegram 路由可以这样理解

假设你有一个 Telegram bot,名字叫:

@my_openclaw_bot

然后你把它加到几个群:

运维群
公众号研究群
课程交付群

你希望:

运维群 → ops agent
公众号研究群 → wechat-research agent
课程交付群 → report-writer agent
私聊 → main agent

这就是“多入口 → Gateway → 多 Agent”的关系。

官方文档里,Telegram DM pairing 只代表私聊授权,不代表这个 sender 在所有群里都授权;群里的 sender 授权还要看 group 相关 allowlist 配置。(OpenClaw)

所以你配置 Telegram 群时要分清两种权限:

权限控制什么
allowFrom谁可以私聊 Bot
groups哪些群允许接入
groupAllowFrom群里哪些用户能触发 Bot
requireMention是否必须 @Bot 才响应
routing binding这个入口交给哪个 Agent

十三、一个 Skill 可以给多个 Agent 用吗?

可以。

官方 Skill 文档说,共享技能可以放在 ~/.openclaw/skills,对同一台机器上的所有 agents 可见;每个 agent 自己的技能可以放在 <workspace>/skills,只对该 agent 生效。(OpenClaw)

你可以这样设计:

共享技能目录:~/.openclaw/skills
│
├─ pdf-report
├─ excel-analysis
├─ telegram-send
├─ browser-automation
│
├─ main agent 可以用其中一部分
├─ writer agent 可以用其中一部分
└─ ops agent 可以用其中一部分

然后用 agent allowlist 限制每个 agent 能用哪些技能。官方文档也明确说,agents.defaults.skills 可以作为共享基线,agents.list[].skills 可以对某个 agent 单独覆盖;如果某个 agent 的 skills 列表是非空的,它就是最终集合,不和默认值合并。(OpenClaw)

这点很重要。

比如:

{
  "agents": {
    "defaults": {
      "skills": ["github", "weather"]
    },
    "list": [
      { "id": "writer" },
      { "id": "docs", "skills": ["docs-search"] },
      { "id": "locked-down", "skills": [] }
    ]
  }
}

含义是:

Agent实际可用 Skill
writer继承 github, weather
docs只用 docs-search,不自动继承默认
locked-down没有 Skill

十四、Plugin、Skill、Tool 三者别混

这三个经常被揉在一起。

1. Plugin:扩展组件

比如飞书插件、Telegram 插件、微信插件。
它可能提供 channel,也可能提供 tool,也可能自带 skills。

官方 Skill 文档提到,plugin 可以通过 openclaw.plugin.json 声明自己的 skills 目录;插件启用后,插件内的 skills 才会加载。(OpenClaw)

2. Skill:操作说明

例如:

如何搜索公众号
如何截图
如何识别日期
如何生成 PDF 报告
如何给飞书群发消息

它告诉 Agent “遇到这类任务该怎么做”。

3. Tool:真实动作

例如:

read file
write file
exec command
browser click
screenshot
send telegram message
send feishu message

Tool 才是实际执行动作的东西。

最形象的关系:

Plugin = 给小龙虾安装机械臂
Tool = 机械臂上的按钮
Skill = 告诉小龙虾什么时候按哪个按钮
Agent = 决定要不要按按钮的人

十五、为什么多个智能体要分 workspace?

因为不同业务最好隔离。

比如:

财务分析 agent 不应该乱用微信自动化技能
公众号研究 agent 不应该读财务文件
运维 agent 可以看日志,但不该读取客户资料
写作 agent 可以生成 PDF,但不该执行危险 shell 命令

OpenClaw 多 Agent 文档里给过按 agent 设置 workspace、sandbox、tools allow/deny 的例子。也就是说,你可以让不同 agent 有不同的工具权限和沙箱策略。(OpenClaw)

这就是多智能体的真正价值:

不是为了“看起来很多机器人”,而是为了让不同任务有不同权限、不同记忆、不同技能、不同工作目录。


十六、对你来说,最合理的 OpenClaw 架构

结合你现在的使用场景,我建议你不要一开始搞太复杂,先设计 4 个长期 Agent。

1. main

个人总控智能体。

用途:日常问答、调度、低风险任务
入口:Telegram 私聊、WebChat
权限:中等

2. wechat-research

微信搜一搜 / 公众号研究智能体。

用途:搜索公众号、翻页、截图、识别日期、记录日志、整理素材
入口:Telegram 群或本地指令
权限:浏览器 + 截图 + OCR + 文件写入

3. business-report

经营分析 / PDF 报告智能体。

用途:Excel分析、行业赛道挖掘、PDF报告、课程交付材料
入口:Telegram 群、本地 Canvas
权限:读写文件、生成PDF、必要时跑Python

4. ops

运维排障智能体。

用途:OpenClaw 日志分析、gateway doctor、插件错误、Node/pnpm/WSL排错
入口:Telegram 运维群
权限:读日志、执行有限命令

这样你未来发指令的时候就清楚了:

@Bot 让 wechat-research 搜“粥左罗”,翻页10次,识别左上角日期并写日志

而不是让 main 这个万能智能体什么都干。万能智能体最后一定会变成“万能背锅侠”。


十七、最容易踩的坑

坑 1:以为装了一个 Skill 就多了一个智能体

不是。
Skill 只是能力说明书。

坑 2:以为一个 Telegram Bot 就是一个智能体

不是。
Telegram Bot 是入口,Agent 是 OpenClaw 里的执行配置。

坑 3:所有任务都丢给 main

前期方便,后期危险。
因为 main 会拥有太多技能、太多权限、太多上下文,容易乱用工具。

坑 4:群聊权限没配清楚

Telegram 私聊 pairing 不等于群里也授权。官方文档也提醒,DM pairing approval 不代表 sender 在所有群都被授权;群 sender 授权要走 group 配置。(OpenClaw)

坑 5:乱装第三方 Skill

这个尤其要小心。OpenClaw 这种本地智能体之所以强,是因为它能接触本地文件、浏览器、命令行和长期记忆;第三方 Skill 如果不可信,就可能变成攻击面。安全研究和媒体都曾指出过 OpenClaw 类 agent skill 的风险,尤其是诱导执行命令、窃取凭证这类问题。(The Verge)


十八、最后给你一个判断口诀

你以后看到任何 OpenClaw 概念,就用这套口诀判断:

能独立接任务、有自己的 workspace 和路由配置的,叫 Agent。

能教 Agent 做某类事的,叫 Skill。

能真正执行动作的,叫 Tool。

能把外部消息接进来的,叫 Channel。

能扩展 Channel/Tool/Skill 的,叫 Plugin。

能保存一次聊天上下文的,叫 Session。

能临时派出去并行干活的,叫 Sub-agent。

把这些全部调度起来的本地中枢,叫 Gateway。

最关键一句:

多个智能体不是多个 Skill,也不是多个 Telegram 群,而是你在本地 OpenClaw 里配置了多个“有独立工作空间、权限、技能和路由”的 Agent。