OpenClaw 全流程简明实践

楔子:你真的需要OpenClaw吗

OpenClaw从去年年末的爆发到如今的快速退潮,表面上是用户对“数字员工”的幻想逐渐破灭在了昂贵的Token账单和层出不穷的安全漏洞上,但本质上是工程实践对于过度炒作导致的必然修正和价值回归,从传播学角度看和去年年初的DeepSeek热潮并无不同,毕竟互联网上最不缺的就是叙事了嘛,我认为作为用户要想真正发掘OpenClaw的价值,至少应该对它的底层逻辑有一些基本的了解,如此才能知道它是否真的适合自己,以及它到底能够解决什么问题,到底值不值付出高昂的时间、维护和安全成本来学习。

简单来说,OpenClaw的整个系统可以分为五层,第一层是大模型,负责理解意图和拆分任务,第二层是工具系统,把模型的动作意图映射成真正的外部执行动作如读文件、访问网页、发邮件等等,第三层是会话和记忆系统,负责对用户的任务状态和历史对话上下文进行压缩精炼存储和检索,第四层是调度,负责定时唤醒轮询事件和执行自动化等,第五层是消息通道,用于接入社交APP。从本质上来说它并非智能主动,而是调度主动,是由定时器唤醒、大模型驱动的执行器,是概率模型、权限工具和调度框架的组合体,而既然包含概率模型就意味着不确定性始终存在,因此OpenClaw在控制和决策层面上的风险几乎难以避免。除此之外,正所谓师傅领进门,修行靠自身,OpenClaw一键部署固然简单,但真正的难点是如何配置和维护?模型路由的选择、上下文窗口的配置、工具权限的裁剪、渠道接入后事件的回调映射如何处理、定时任务的防误触、日志信息的存储、Token和调用次数的控制、版本更新的兼容性问题······,了解每一个配置究竟意味着什么才是OpenClaw的复杂度和其精髓所在。

综上所述,如果你接受它是一个还不成熟的Agent框架,并且愿意投入时间与Token不在乎它是否会很快过时(PS:最近Hermes Agent凭借自我进化、跨会话记忆和全平台适配能力已经隐约成为下一个流量明星,而这在各式Agent井喷的时代似乎已经不足为奇了,或许就在下个月又会有新的Agent继续接力也犹未可知),如此这般那么对于你而言OpenClaw是值得研究的,通过它可以直观的理解一个Agent系统的能力边界和未来走向,比如大模型到底适合待在建议层还是控制层、工具调用如何收敛权限、会话和记忆如何避免长期污染、Agent是会做优先还是做对优先······

部署环境推荐

目前来看对于个人用户而言OpenClaw部署的最佳硬件是搭载M4或M4 Pro芯片Mac mini,一方面是它*功耗低,可以724小时静默运行,体型和价格相对MacBook系列而言更具性价比,很契合OpenClaw的定位,更重要的是MacOS与OpenClaw原生兼容性好**,相较于Windows需要配置WSL 2更不容易出现冲突崩溃和权限问题,当然搭载Linux的mini PC像NUC之类或者云厂商VPS等也能完美适配,但对于大众而言Linux还是有一定的使用门槛的,因此综合下来还是推荐Mac mini作为载体。由于工作身边刚好有一台零刻SER9 PRO 255搭载的是Ubuntu 24.04,因此接下来就以此为蓝本开启OpenClaw的大门!

OpenClaw 安装

  • 最简单的方式:进入官网OpenClaw — Personal AI Assistant,复制一键安装命令->到终端执行即可

    curl -fsSL https://openclaw.ai/install.sh | bash

    安装完成后会启动配置引导

  • 仅作个人使用选择Yes,如果是公司使用或者对外公开选No

    image-20260423211615498

  • 选择快速开始

    image-20260423212655851

  • 模型提供商大家根据自己实际填写即可,由于我使用的聚合平台故选择自定义提供商

    image-20260423213519277

    选择自定义提供商需要注意URL中需要加上/v1

    image-20260423230948499

  • 聊天频道配置可以跳过

  • 联网搜索供应商,没有可以跳过

    image-20260423231535736

  • SKILL配置,为了更好的了解每个skill到底有什么用,这里先跳过,之后再按需安装

    image-20260423232014259

  • 启用hooks,hooks是当OpenClaw触发某些事件时,自动执行的功能,例如,图中的几项分别是在网关启动时自动读取Boot.md中的内容、工作区文件的自动注入、命令自动保存为日志、新对话开始时走动保存旧的上下文

    image-20260423232234887

  • 选择Web UI方式来启动,完成后点击链接就进入控制台啦!至此,初步安装完毕

    image-20260423233750303

  • 简单测试一下模型是否工作正常!至此,初步安装完毕

    image-20260424110649790

  • (可选) 通过ssh远程访问WebUI控制界面

    由于我的OpenClaw是运行在miniPC上,而文档编辑在Windows,因此时常需要通过远程桌面来回切换,那能不能在Windows访问Linux上的WebUI呢?当然可以!

    首先需要确保Linux上安装了SSH服务

    sudo apt update
    sudo apt install openssh-server

    安装完成后启用

    sudo systemctl start ssh
    sudo systemctl enable ssh # 设置开机自启

    检查SSH服务状态,如果是Active那就没问题

    sudo systemctl status ssh

    image-20260424101540131

    在Windows Powshell中执行

    ssh -N -L 18789:127.0.0.1:18789 user@192.168.137.83 # 这里user和ip替换为自己的linux

    image-20260424102503036

    最后在Windows上访问Linux上WebUI的URL即可

    image-20260424102746687

OpenClaw 定制化

工作目录结构

关于为什么先了解工作目录而非直接着手配置飞书或是skill能力呢?原因很简单正如在文章开头的楔子中谈到的要想真正发掘OpenClaw的价值,至少应该对它的底层逻辑有一些基本的了解,而OpenClaw本质上是一个“围绕目录运行”的AI智能体框架,它的所有行为都与当前工作目录紧密绑定,因此对目录做一个简单的了解是很有必要的。

  • 首先是OpenClaw的根目录,也是总数据目录,进去之后可以使用ls命令查看目录内容

    cd ~/.openclaw
    ls
    • openclaw.json 主配置文件。 相当于OpenClaw的总控制面板,大多核心配置都在这里,例如它包含了在之前安装引导时配置的绝大多数项目。
    • openclaw.json.bak / .bak.1 / .bak.2 配置备份。当我们执行一些配置修改操作时,OpenClaw会自动将之前的内容做一个备份。
    • workspace/ 默认Agent的工作区目录。主要存放用户希望让Agent长期记住/遵守的东西,比如项目文件、说明书、长期规则、人设等。
    • agents/ 每个 Agent 的后台数据目录,主要存放 这个 Agent 的运行状态、认证配置、会话记录 等内容。官方文档里也把一个 Agent 分成三部分:workspace(人格/规则文件)+ agentDir(每个 Agent 的状态配置)+ sessions(会话记录),其中 agentDirsessions 默认都落在 ~/.openclaw/agents/<agentId>/... 下面,这个目录下面目前只有一个默认的Agent叫main,而main对应的工作区就是workspace文件夹。
    • logs/ 各类运行日志。出bug时优先查看,例如 gateway、skills、hooks 相关错误。
    • browser/ 浏览器自动化相关的状态与数据。
    • canvas/ 用来规划与编排的临时目录。很多 Agent 框架会把计划、任务分解、临时中间产物放在类似的区域,用来支撑“一个提示触发多个模型调用”的链路。
    • cron/ 定时任务与自动化触发的文件夹。
    • devices/ 设备与执行环境的抽象层。主要控制OpenClaw能接触到哪些设备资源。
    • extensions/ 扩展与插件系统文件夹。
    • telegram/ Telegram 频道适配与凭证相关配置。
    • feishu/ 飞书机器人适配与凭证相关配置。
    • identity/ 身份与认证相关材料(例如本地身份、授权信息、访问控制的基础)。
    • update-check.json OpenClaw的更新状态与相关元数据检查文件。
  • 其次需要关注workspace目录中的内容

    cd ./workspace
    ls
    • AGENTS.md系统中有哪些Agent、它们各自负责什么,相当于“岗位说明书”,一个工作规范,它是最重要的文件。
    • SOUL.mdAgent的整体性格气质和价值观,相当于“灵魂设定”。
    • USER.md关于你是谁、你的偏好和禁忌,相当于“用户画像”。
    • IDENTITY.mdAgent的身份卡,它是谁它对外怎么表明身份,比如名字、称呼、对外口径。
    • TOOLS.mdAgent能用哪些工具、怎么用、边界是什么,相当于“工具清单”。
    • HEARTBEAT.md自检与状态汇报规则,俗称心跳机制文件,比如启动后检查什么、多久报一次状态。
    • BOOTSTRAP.md冷启动时先读的初始化说明,让它快速进入正确工作状态。
    • memory/YYYY-MM-DD.md 作为日常聊天的记忆存放
    • MEMORY.md 作为稳定的长期记忆存放

飞书接入配置

经过多轮更新,OpenClaw接入飞书的流程已经优化的极为简洁,只需准备好飞书App扫码即可

  • 在Linux终端面板,输入OpenClaw添加频道命令

    openclaw channels add
  • 选择yes,配置消息频道,选择飞书

    ◆  Configure chat channels now?
    │  ○ Yes / ● No
  • 使用App扫码进行配置

    image-20260424145339068

  • 选择白名单即可,由于现在还没有创建群组,直接回车后面再添加群组ID。

    ◆  Group chat policy // 群聊策略
    │  ● Allowlist - only respond in specific groups // 白名单,只在特定群组使用
    │  ○ Open - respond in all groups (requires mention) // 全部群组可使用
    │  ○ Disabled - don't respond in groups // 禁用群组
  • 然后选择 Finished 完成,接下来是配对规则,选择yes回车。

    ◆  Configure DM access policies now? (default: pairing) // 现在配置DM访问策略?
    │  ● Yes / ○ No
  • 飞书DM策略我们直接选择Open回车即可。

    ◆  Feishu DM policy // 飞书DM策略
    │  ○ Pairing (recommended)
    │  ○ Allowlist (specific users only)
    │  ● Open (public inbound DMs)
    │  ○ Disabled (ignore DMs)
  • 给账户添加显示的名称,选择no回车。

    ◆  Add display names for these accounts? (optional) // 为这些账户添加显示名称
    │  ○ Yes / ● No
  • 然后绑定Agent选择Yes,选择绑定默认的main Agent回车即可。

    ◆  Bind configured channel accounts to agents now? // 绑定Agent
    │  ● Yes / ○ No
    ◆  Route feishu account "default" to agent
    │  ● main (default)

多Agent多Bot

在本节开始前,大家不妨先简单考虑下,自己想交给OpenClaw的任务需要几个Agent来帮忙处理?如果你的答案是一个,那么可能OpenClaw于你而言未必是最合适的选择,原因在于OpenClaw在当下的可玩性是建立在多个Agent的分工和协作之上的,如果只有一个Agent,你又希望它同时处理很多不同类型的事情,问题很快就会出现,它的上下文会被不断污染人设会越来越混乱记忆会越积越多Token 消耗也会不断飙升。所以,为了尽可能延长Agent的保质期(当然,我希望它永葆青春哈哈),最好让一个Agent只专注一类事,转而利用多agent系统来组成任务的最终解决方案。

  • 在终端输入命令创建一个新的Agent,关于agent的命名如果大家对它的工作内容有明确的想法,最好可以用语义化的格式命名,这样方便后续快速识别和记忆。

    openclaw agents add Mesg-aspt-agent
  • 选取工作区目录,这里默认是在workspace创建子目录,但我觉得这样目录会有一些耦合所以放到了父级目录中

    ◆  Workspace directory
    │  /home/linux/.openclaw/mesg-aspt-agent
  • 配置模型,细节同上文,略

    ◆  Configure model/auth for this agent now?
    │  ● Yes / ○ No
  • 配置飞书,细节同上文,略

    完成之后可以查看一下绑定信息

    openclaw agents bindings --json

    image-20260424222243093

    也可以给新机器人发送消息验证飞书新机器人绑定是否成功

    image-20260503003142474

  • 至此,多Agent多Bot配置完毕

Agent角色设定

截至目前,我们已经有了两个彼此独立的Agent,也分别绑定好了对应的飞书机器人。但目前为止,还没有为它们配置各自的身份信息、角色设定和风格,所以它们俩目前还是白纸一张,虽然能独立运行,但还没有真正形成差异化。接下来,我就要给这两个 Agent 分别注入灵魂!经过前面对目录结构的简单了解,要完成身份和灵魂的注入无非是往workspace中的几个md文件中写入提示词,既然如此不如直接全部交给Agent自己来完成!

打开飞书机器人对话框,按照自己的喜好简单写个prompt然后优雅的回车即可

你是小九,一个赛博助理,
你在工作上严肃,在生活中幽默,你思维灵敏总能在回复中简洁、干练、一针见血的给出问题的解决方案,有时还会带些诙谐。
至于我,你可以叫我Hobo

请记住这些,优化并拆分提示词,然后将对应信息分别写入下列对应的文档中,聪明如你一定知道怎么做
- AGENTS.md
- BOOTSTRAP.md
- HEARTBEAT.md 
- IDENTITY.md
- SOUL.md
- TOOLS.md
- USER.md
- MEMORY.md

在写入之前,请询问我征得同意
  • 另一个Agent同理

image-20260425022701184

Agent联网搜索

OpenClaw有两个内置的搜索和爬取的Tools,分别是Web_Search和Web_Fetch,Web_Search负责实时搜索网络内容,Web_Fetch负责爬取某个网站的信息,这两个Tools组合起来就构建了一个实时网络信息检索的能力。但是由于OpenClaw内置的Web_Search依赖Brave,这是一个三方的搜索引擎,配置它的API是需要收费的,所以目前并未配置联网搜索。

那有没有什么免费的替代方案呢?of course!可以使用其他search服务来代替内置的Web_Search,即通过以下两个Skill实现

  • Tavily-search,tavily 是一个商业搜索引擎,但是它每个月可以免费搜索1000次,可以放心使用

    image-20260425104238124

  • Multi-search-engine,multi-search-engine是一个集成了多个搜索引擎的免费搜索服务,如果 tavily-search 的服务额度用尽,或者搜索结果少的情况下,我们可以使用 multi-search-engine 这个搜索服务来兜底。

  • 如何安装呢这两个Skill呢,既然已经配置好了Agent,当然要用好它的能力,发送提示词让OpenClaw自行安装即可

    接下来请你给自己装两个skills。
    
    参考  安装这个搜索的skill
    我的apikey是 tvxxxxxxxx更换上面拿到的xxxxxxF4IbwigUt77q00
    
    参考  安装这个全网多个搜索引擎免费搜索的skills
    
    安装完成后,请你在TOOLS.md或相关文件中明确声明Web_Search能力的Skills使用提示词,请优先使用tavily-search,当tavily-search没有返回结果或者返回内容需要补充时再调用multi-search-engine这个skills。
    
    最后请你禁用OpenClaw内置的web_search能力
  • 然后,OpenClaw就会根据文档帮我们安装对应的Skill,并在TOOLS.md文件中显示要求Agent使用Skill来做网络搜索,并在Tools.web配置中禁用 search 能力。此后我们涉及到搜索的需求就会通过这两个Skills来完成了。最后可以做一个简单测试

    请帮我搜索国内外最新推出的大模型,输出summary         

    image-20260425111752613

Agent自我迭代

Skills,技能,这是OpenClaw能力的核心,也是拓展其能力最便捷的方式

社区有上万个开源的Skills让我们集成,我们可以通过官方的ClawHub平台去查找对应的Skills

https://clawhub.ai/skills

也可以通过GitHub的awesome-openclaw-skills仓库去查找想要使用的技能。

https://github.com/VoltAgent/awesome-openclaw-skills

比如你在做一个企业级的OpenClaw系统,并且企业依托于飞书办公,那么你就可以搜索飞书相关的Skills,读写飞书文档、操作多维表格以及处理一系列飞书的自动化功能。

要是想写代码,就搜索Coding相关的Skills,根据自己的需求和喜好去装就可以。

回到本节的主题,Agent自我迭代,最近热度很高的Hermes Agent其核心也是通过Skills的闭环更新实现智能体的自主进化,那自我提升在OpenClaw身上是否能实现呢,接下来隆重介绍一个Skill——self-improving-agent

https://clawhub.ai/pskoett/self-improving-agent

它的核心不是让模型自己训练自己,而是让 Agent 在运行过程中把“错误、纠正、知识缺口、功能需求”结构化写入 Markdown再把那些反复验证有效的经验,进一步提炼成长期可复用的工作规则

它主要解决的是一个非常现实的问题:很多 Agent 在使用过程中,都会不断犯错,有的是命令执行失败,有的是工具调用翻车,有的是知识过时了,还有的是被用户指出“你这做法不对”,如果这些问题每次都只是“当场改正一下”就结束了,那这个 Agent 本质上并没有真正成长。下一次遇到类似情况,它大概率还会再踩一遍同样的坑。而 self-improving-agent 做的事情,就是把这些“当场修正”变成“长期记忆”。

SKILL.md 里写得很明确,它的典型触发场景包括:

  • 命令或操作失败;
  • 用户纠正 Agent;
  • 用户提出当前做不到的新能力;
  • 外部 API 或工具失败;
  • Agent 发现自己的知识已经过时;
  • 或者在重复性工作里发现了更好的做法。

所以它本质上不是在增强模型参数,

而是在给 Agent 增加一层“失败记录 + 经验积累 + 规则晋升”的机制。

它会先在工作区里建立一个 .learnings/ 目录,把经验分别记录到

  • LEARNINGS.md —— 记录更正、知识缺口、最佳实践
  • ERRORS.md —— 记录命令失败、异常
  • FEATURE_REQUESTS.md —— 记录用户请求的功能

这样的文件里。

它先把这些经验沉淀成可追踪、可复查、可累计的外部记忆。

然后再进一步,把那些已经反复验证、确实有效的经验,提升到更长期的工作区规则文件里。

比如:

  • 行为模式可以提升到 SOUL.md
  • 工作流经验可以提升到 AGENTS.md
  • 工具使用规则可以提升到 TOOLS.md

写进 .learnings/ 还只是“记录下来”,而提升到这些长期文件之后,才意味着这些经验会在后续会话中真正参与上下文,变成 Agent 的稳定行为规则。

了解完核心,安装还是一以贯之,复制文档链接交给OpenClaw~

请你参考以下文档安装指定Skill

参考 <https://clawhub.ai/pskoett/self-improving-agent> 安装这个skill

GitHub工作区备份

为了避免OpenClaw的‘免疫系统’在某一天突然突然因为用户或外部原因攻击自己而导致崩溃,每个工作区的备份必不可少

  • 首先是注册github帐号,安全起见建议注册一个全新的空白账号

  • 注册好账号之后,在Linux终端输入命令

    ssh-keygen -t ed25519 -C "你的邮箱@gmail.com"
  • 一路回车即可生成SSH Key,生成后会得到两个文件:

    • ~/.ssh/id_ed25519:私钥
    • ~/.ssh/id_ed25519.pub:公钥
  • 把公钥复制下来回到Github,点击右上角头像,选择Settings,左侧管理菜单点击SSH and GPG keys,然后右侧点击New SSH key。把刚刚复制的公钥粘贴到key中然后点击添加SSH key即可,起一个title。

  • 配置好之后,点击GitHub导航栏右侧的加号,在下拉菜单中点击 New repository 创建一个存储库。这个仓库其实就对应了一个工作区,起个名字叫main-workspace,代表默认Agent的工作区。然后点击Choose visibility,右侧把Public改成Private,这样你的这个项目就只有私人可见了。然后直接点击Create repository就创建成功了。

    image-20260425114720845

  • 创建完成后会自动跳转项目页面,将渠道切换成SSH,然后把SSH对应的仓库地址复制一下

    image-20260425114835922

  • 接下来回到终端配置一下git用户名和邮箱。

    输入下面命令设置git全局用户名和邮箱,注意用户名就写成GitHub注册的账户名,邮箱写GitHub的账户邮箱即可:

    git config --global user.name "你的GitHub用户名"
    git config --global user.email "你的GitHub邮箱"

    配置完我们输入命令检查下:

    git config --list

    输出用户名和邮箱后,就是配置好了

  • 接下来的工作同样交给Agent

    我为此工作区创建了Git仓库,并配置好了SSH公钥,请你尝试绑定此仓库并执行提交推送到远程仓库
    
    仓库地址:git@github.com:# 填写之前复制的
    
    git remote add origin git@github.com:# 填写之前复制的
    git branch -M main
    git push -u origin main
  • 最后在仓库看一下执行情况即可,后续如果工作区损坏或者需要迁移,把仓库地址给OpenClaw,让它自己执行恢复就好。

    image-20260425121308322

日志

2026-04-25 初稿

版权声明:除特殊说明,博客文章均为SATAKAUI原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇