可以,我用 OpenClaw 这套系统里的常见概念 给你讲一版,不整太虚的,尽量按“它是干嘛的”来讲。
你说的 skill、provider 这些,基本都是在回答一个问题:
这个助手为什么能这样工作?
先给你一个总图
你可以把 OpenClaw 理解成一套分层系统:
-
Channel(渠道) 用户从哪里跟你说话 例如:飞书、网页、Telegram、Discord
-
Agent(助手实例 / 角色) 到底是“哪个助手”在回你 例如:
main、feishu-zh -
Provider(模型提供方) 这个助手背后调用谁家的 AI 模型 例如:OpenAI、Qwen
-
Model(模型) 具体用哪个模型来生成回复 例如:
gpt-5.4、gpt-4、coder-model -
Skill(技能) 在某类场景下,给助手补充一套专门规则/能力说明 例如:飞书日历、飞书文档、天气、healthcheck
-
Tool(工具) 真正能执行动作的接口 例如:读文件、写文件、执行命令、搜网页、定时任务
-
Session(会话) 某一次连续对话的上下文记忆 它决定“我还记不记得你刚才说了啥”
一个个讲
1)Agent 是什么
作用
Agent = 一个具体的助手身份
它不只是“一个模型”,而更像:
- 一个角色
- 一套默认配置
- 一个工作区
- 一段长期风格
- 一组渠道绑定
比如你现在就有两个典型例子:
mainfeishu-zh
它们可能调用差不多的模型,但表现会不一样,因为:
- 读的工作区可能不同
- persona 不同
- 历史不同
- 绑定渠道不同
你可以把它理解成
像公司里两个同事:
- 都会说话
- 都会干活
- 但一个偏技术,一个偏客服
- 一个讲粤语,一个讲简体中文
模型像大脑,agent 像人格化后的“这个人”。
2)Provider 是什么
作用
Provider = 模型供应商 / 模型后端
也就是:
这个 agent 的回复,最终是找谁来算出来的?
比如你配置里有:
openaiopenai-codexqwen-portal
这些都叫 provider。
举例
openai:OpenAI 的模型服务qwen-portal:Qwen 的模型服务入口openai-codex:某种 OpenAI/Codex 风格接口
它决定什么
它会影响:
- 模型能不能用
- 成本怎么算
- 支持文字还是图片
- 上下文多大
- 回复风格和能力边界
简单理解
provider 是模型的“厂商/入口”。
3)Model 是什么
作用
Model = 具体调用的 AI 模型
比如:
openai/gpt-4openai-codex/gpt-5.4qwen-portal/coder-model
它和 provider 的区别
- provider 是“平台/供应商”
- model 是“平台上的具体型号”
就像:
- 苹果 = provider
- iPhone 15 Pro = model
或者:
- OpenAI = provider
- GPT-4 = model
它决定什么
- 聪明程度
- 写作风格
- 推理能力
- 速度
- 成本
- 是否支持图片
4)Skill 是什么
作用
Skill = 某一类任务的专用说明书 / 专项行为包
这是 OpenClaw 很关键的概念。
它不是模型,也不是工具。 它更像:
“当你遇到某类任务时,应该怎么做”的专业操作指南
例子
你这里有这些 skill:
feishu-calendarfeishu-taskfeishu-bitableweatherhealthcheck
比如:
weather
当用户问天气时,读这个 skill,它会告诉助手:
- 什么时候该用天气能力
- 用什么方式查
- 哪些情况不适用
feishu-calendar
当用户说“帮我查日程”“创建会议”时,这个 skill 会告诉助手:
- 飞书日历相关任务怎么处理
- 优先使用哪些工具
- 该怎么组织参数
重点
Skill 本身通常不是执行器,而是:
- 决策提示
- 任务方法论
- 领域规则
简单理解
Skill = 某个领域的“作战手册”
5)Tool 是什么
作用
Tool = 真正干活的工具
例如:
read:读文件write:写文件exec:执行命令web_search:搜索网页cron:设定时任务sessions_list:查看会话
Skill 和 Tool 的关系
很多人会把这两个混在一起。
你可以这样记:
- Skill 告诉你“什么时候、怎么做”
- Tool 负责“真的动手做”
举个例子
用户说:
帮我查明天北京天气
可能过程是:
- 助手判断:这是天气问题
- 读取
weatherskill - skill 告诉它该怎么查
- 助手再去调用相应 tool
所以:
weather是 skill- 真正发起查询的,是 tool / API
6)Channel 是什么
作用
Channel = 用户从哪里接入这个系统
例如:
feishuwebchattelegramdiscord
它决定什么
- 消息从哪里来
- 回复发到哪里去
- 有没有群聊/私聊区别
- 是否需要 mention 才响应
- 格式规则是什么
例子
飞书和网页的最大差别就是 channel 不同。 所以它们虽然都能聊到“你”,但行为可能不同。
7)Session 是什么
作用
Session = 一段连续对话的上下文
它决定:
- 还记不记得你上一句说啥
- 风格会不会被上一轮影响
- 为什么一个渠道修好了,另一个渠道还没好
你这次“飞书一直说粤语”的排查,核心就和 session 很相关。
简单理解
Session = 当前聊天的临时记忆
不是永久人格,但会很影响眼前这轮表现。
8)Workspace 是什么
作用
Workspace = 这个 agent 工作的文件空间
里面通常有:
SOUL.mdIDENTITY.mdUSER.mdAGENTS.mdMEMORY.mdmemory/
这些文件会影响:
- 助手是谁
- 怎么说话
- 要记住什么
- 如何做事
你可以理解成
Workspace = 这个 agent 的家 + 笔记本 + 说明书
9)Binding 是什么
作用
Binding = 把某个渠道绑定到某个 agent
比如这次我们做的事,本质上就是:
把飞书这个 channel,绑定到新的
feishu-zhagent
它回答的问题
当飞书来一条消息时,到底应该交给谁处理?
- 交给
main? - 还是交给
feishu-zh?
这个选择就是 binding 决定的。
简单理解
Binding = 路由规则
10)Identity / Persona 是什么
作用
Identity / Persona = 这个 agent 该以什么风格出现
比如:
- 叫什么名字
- 用什么语气
- 默认什么语言
- 是更活泼还是更稳重
通常会体现在:
IDENTITY.mdSOUL.mdUSER.md
这次你的案例
你之前飞书一直说粤语,就是 persona 被写歪了,再加上 agent 历史把它固化了。
你可以这样记这几个最常见概念
最短版对照表
Agent
“谁在回复你”
Provider
“模型是哪家供应的”
Model
“具体用哪个 AI 型号”
Skill
“某类任务的专业说明书”
Tool
“真正动手干活的工具”
Channel
“你从哪里接入”
Session
“当前这段对话的上下文记忆”
Workspace
“这个 agent 的文件家园”
Binding
“哪个渠道该路由到哪个 agent”
用你这次的真实案例串起来
你这次的问题可以写成:
- Channel:飞书
- Agent:原本是
main,后来切到feishu-zh - Provider/Model:底层用的是 OpenAI/Codex 那套模型
- Workspace:决定了 persona 文件内容
- Session:飞书旧会话残留了粤语风格
- Binding:后来把飞书绑定到了新 agent
- Skill:飞书相关 skill 负责飞书场景下的行为规则
- Tool:我用
exec、write、read等工具去排查和修改
这样一串起来,整个系统就容易懂很多。
如果你想继续,我建议下一步讲这两个
这两个最容易混:
- skill 和 tool 的区别
- agent、session、workspace 三者的关系
如果你愿意,我下一条可以直接给你画一个非常直白的结构图:
“用户发一条飞书消息后,OpenClaw 内部到底发生了什么”