OpenClaw 的产品形态和运作原理
前言最早对 OpenClaw 的认知觉得就是 Agent + IM,类似 Claude 的 Happy(一款Claude code ssh 远程控制软件)。
后面发现不是这个样子。比如:他为什么可以主动给我发消息?甚至还能主动不回消息?有一丢丢 AGI 的味道在里面了。
OpenClaw 到底有什么不同?
在 OpenClaw 出现之前,AI 聊天对面是一个 Agent,一问一答,通过 LLM 给你答案,这时候的 AI 交互更像是工具使用,比如 Codex、Claude Code 这种。这时候大家讨论的都是怎么建设一个更优的 Agent,怎么做规划 (Planning)、怎么做压缩记忆(Memory)、怎么设计工具 (Tools)。
OpenClaw 提出了一种的新的交互形态,你对面可以不是 Agent,他在人和 Agent 之间加了一层,这一层可以做很多事情,Agent 只是一个手段。接着再通过 IM 接入,变成了一个使用门槛很低、生活紧密相关的产品,一下子带来了很强的用户体验。然后这时候大家讨论的话题变成了:怎么保活、怎么应用 good case、怎么部署多 Agent。
OpenClaw 准确来说是一个框架,是一个 run agent 的框架。
OpenClaw 运作原理
[*]哪一个 agent :根据消息路由字段(channel、accountId、peer、chatType、thread)计算 agentId
[*]哪一个会话:基于 agentId + channel/account/peer + dmScope 生成 sessionKey,读取 session store,若会话 fresh 则复用,否则重建(daily/idle/reset trigger)。
[*]Run Agent:记载组装 系统提示词、skills、tools。Agent 不是常驻进程,而是 per-session 的瞬态实例。每个对话都是一次完整的加载-执行-销毁循环。
~/.openclaw/workspace/openclaw.json
Agent 的核心配置项
~/.openclaw/workspace
[*]AGENTS.md :Agent 职责声明,决定工具权限。推荐阅读 !!!这个文件详细介绍了一个 Agent 的启动、memory 管理的流程,堪称 OpenClaw 最核心的 Prompt 文件。
[*]HEARTBEAT.md:心跳检查清单,固定间隔读取这个文件,在一次轮次里批量处理所有检查项
[*]IDENTITY.md:Agent 人设,Agent 叫什么名字、用什么语气、在不同平台上怎么自我介绍。
[*]MEMORY.md:记忆文件
[*]SOUL.md:怎么思考、怎么说话、怎么行动
[*]TOOLS.md:本地工具/设备/环境信息的备注,速查表
[*]USER.md:要帮助的人的信息、名字、工作、常用工具、偏好
[*]BOOTSTRAP.md:首次 onboarding 引导(一次性消费)
记忆力机制
[*].openclaw/agents/main/sessions/xxxx.jsonl
当消息到达路由到 SessionKey 之后,OpenClaw 会查找 sessions.json 获取当前 SessionId,将 SessionId 对应的 .jsonl 加载到 Agent 中。
当对话太长时,旧消息会被 总结 成一个 summary。
在发送给 LLM 之前,临时裁剪旧的 tool 结果,仅仅是内存级别的操作。
[*].openclaw/workspace/memory/YYYY-MM-DD.md
按天记录的 memory
[*].openclaw/workspace/MEMORY.md
LLM 精练后的 Memory,记录事实、程序、偏好。
OpenClaw 是怎么扩展自己能力的?
[*]find-skills:用于发现/匹配可用技能
[*]skill-installer:用于安装技能
OpenClaw 是怎么控制你的电脑的?
[*]exec:执行带有后台延续的 shell 命令。使用 yieldMs/background 通过流程工具继续。对于 TTY (交互式终端会话)要求的命令,请使用 pty=true(终端界面,编码代理)。
[*]process:管理正在运行的执行会话:列出、轮询、日志、写入、发送密钥、提交、粘贴、终止。
exec 负责“启动命令”,process 负责“持续管理”:
[*]exec 返回 running(含 sessionId)
[*]process poll/log 获取增量输出与状态
[*]需要交互时用 write/send-keys/paste/submit
[*]需要结束时用 kill
[*]完成后用 remove 清理
这是 OpenClaw 用来替代单次 bash 调用的关键机制。(OpenAI 在 gpt-5.4 也加入了控制电脑的能力,估计也是类似的实现)
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]