惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Scott Helme
Scott Helme
N
Netflix TechBlog - Medium
AI
AI
Security Latest
Security Latest
GbyAI
GbyAI
P
Proofpoint News Feed
Y
Y Combinator Blog
A
Arctic Wolf
G
Google Developers Blog
U
Unit 42
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
Vulnerabilities – Threatpost
Know Your Adversary
Know Your Adversary
Cisco Talos Blog
Cisco Talos Blog
T
Tor Project blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
L
Lohrmann on Cybersecurity
C
CERT Recently Published Vulnerability Notes
C
Check Point Blog
B
Blog RSS Feed
The GitHub Blog
The GitHub Blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 【当耐特】
博客园 - Franky
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
Cisco Blogs
云风的 BLOG
云风的 BLOG
NISL@THU
NISL@THU
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Microsoft Security Blog
Microsoft Security Blog
T
The Blog of Author Tim Ferriss
阮一峰的网络日志
阮一峰的网络日志
Latest news
Latest news
L
LINUX DO - 最新话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
美团技术团队
WordPress大学
WordPress大学
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
The Hacker News
The Hacker News
Simon Willison's Weblog
Simon Willison's Weblog
V
V2EX
Project Zero
Project Zero
博客园_首页

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
OpenClaw 精髓与要点参考
Lucky培丽 · 2026-02-24 · via 人人都是产品经理

本文汇总 OpenClaw 项目的整体精髓、提示词、Skills、记忆(含长记忆)、Agent 工作原理与代码精髓,便于快速把握设计与实现要点。

1. 项目精髓

一句话

在一个你自己掌控的「控制面」(Gateway)上,跑一个统一的个人 AI 助手,在你已有的聊天渠道(WhatsApp、Telegram、Slack、Discord 等)里和你对话,并支持语音、画布、多端节点,数据与逻辑都在你自己手里。

三个核心点

架构精髓

单一 WebSocket 控制面

Gateway 在ws://127.0.0.1:18789(可配)提供唯一控制平面;CLI、Web UI、macOS 菜单栏、iOS/Android 节点、Pi agent 都通过它协作。

会话与路由

谁在哪个渠道、进哪个会话、用哪个 agent/workspace,都由 Gateway 统一做路由和会话管理。

可扩展

新渠道通过extensions/*以插件形式加入;技能、Cron、webhook、浏览器/画布等工具都挂在这套控制面上。

整体架构示意

2. 提示词精髓

一句话

系统提示词是 OpenClaw 自己组装的、分块固定的「单次运行说明书」:先给身份与安全底线,再给工具/技能/文档/工作区等能力说明,最后把工作区里的AGENTS.md、SOUL.md等 bootstrap 文件整块注入;子 agent 用精简版,渠道/群组可追加额外说明。

五个要点

1)OpenClaw 全权拥有提示词由 OpenClaw 组装并注入,不使用 pi-coding-agent 的默认 prompt。

2)固定分块、刻意紧凑身份 → Tooling → Safety → Skills(只列清单+路径,按需 readSKILL.md)→ Documentation → Workspace → Sandbox → Current Date & Time → Reply Tags → Heartbeats → Runtime → Reasoning;安全护栏是建议性的,硬约束靠工具策略、审批、沙箱、allowlist。

3)工作区 Bootstrap = 身份与上下文注入AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、USER.md、HEARTBEAT.md、BOOTSTRAP.md、MEMORY.md(及memory.md若存在)整块注入;受bootstrapMaxChars/bootstrapTotalMaxChars限制;子 agent 只注入AGENTS.md+TOOLS.md。

4)三种 Prompt 模式

  • full:主 agent,所有块。
  • minimal:子 agent;去掉 Skills 详述、Memory Recall、Self-Update、Reply Tags、Messaging、Heartbeats 等。
  • none:仅身份行。

5)会话重置与渠道/群组/new或/reset时给模型一条固定指引(用 persona 打招呼、1–3 句);渠道/群组可在 system 里追加systemPrompt或「Group Chat Context」。

设计精髓小结

系统提示组装结构

3. Skills 调用/使用关键要点

一句话

Skill 的「调用」分两种:模型按系统提示里的<available_skills>清单「选一个 → 用 read 读SKILL.md→ 照做」;用户用/skill <name> [input]直接指定技能。两者都依赖「加载时门控 + 会话快照 + 按需读文件」,环境变量在每次 agent 运行前注入、结束后恢复。

模型侧:如何使用 Skill

  • 系统提示里只有Skills (mandatory)说明 +<available_skills>下的技能列表(name / description / location),不注入SKILL.md全文。
  • 指令要点:回复前扫<description>;恰好一个明显适用 → 用read读该技能在<location>的SKILL.md再执行;多个适用选最贴切一个;都不适用则不读任何SKILL.md;先选再读、每次最多读一个

用户侧:/skill 与「仅用户可调」

  • /skill <name> [input]: 用户直接触发名为<name>的技能。
  • user-invocable:true(默认)暴露为斜杠命令;false仅模型按清单选用。
  • disable-model-invocation:true则不加入<available_skills>,仅可通过/skill由用户调用。
  • command-dispatch:tool+command-tool:用户执行该技能时不经模型,直接调用指定工具。

加载与门控

三个来源与优先级

  • workspace > managed(~/.openclaw/skills)> bundled;同名时 workspace 覆盖。
  • 门控(metadata.openclaw):requires.bins/requires.anyBins、requires.env、requires.config、os;always: true跳过检查。
  • 配置(skills.entries.<key>):enabled: false禁用;env/apiKey在该次 agent run 前注入到process.env,run 结束恢复

会话快照与性能

  • 会话开始时对符合条件的技能列表做快照(buildWorkspaceSkillSnapshot),本会话后续轮次复用;改 skills 或 config 要新开会话才生效。
  • 若开启skills.load.watch,SKILL.md变更会触发快照刷新,下一轮 agent 回合用新列表。

Skills 调用流程示意

小结

4. 记忆(长记忆)处理关键要点

一句话

长记忆 = 写在磁盘的 Markdown(MEMORY.md+ memory/.md),不靠上下文窗口;MEMORY.md会整份注入每轮上下文并受 bootstrap 上限截断,日誌 memory/.md 不注入、只通过 memory_search + memory_get 按需拉取;接近 compaction 前会做一次「记忆冲刷」把重要内容写盘,并用向量/混合检索控制长记忆的召回。

两层记忆文件

  • MEMORY.md 受bootstrapMaxChars/bootstrapTotalMaxChars限制,超了会被截断。
  • memory/*.md 不注入;模型需要时先memory_search,再用memory_get(path, from, lines)只拉命中片段。

记忆层与 context 关系

长记忆不撑爆 context 的用法

  • MEMORY.md: 写精炼的长期事实、决定、偏好;保持简短,或用 memory_search + memory_get 只拉需要的行。
  • memory/YYYY-MM-DD.md:不注入;先memory_search再memory_get只读命中片段。系统提示里「Memory Recall」要求:在回答「过往工作、决定、日期、人、偏好、待办」前先对MEMORY.md+ memory/*.md 做 memory_search,再用 memory_get 拉所需行。

自动记忆冲刷(pre-compaction memory flush)

  • 目的:在自动 compaction 前把还在对话上下文里、但还没写盘的「重要内容」写进记忆文件。
  • 时机:会话 token 估计达到contextWindow – reserveTokensFloor – softThresholdTokens时,触发一次静默 agent 轮
  • 配置:agents.defaults.compaction.memoryFlush(enabled、softThresholdTokens、systemPrompt、prompt);每轮 compaction 周期只做一次。

向量/混合检索(长记忆召回)

对MEMORY.md+ memory/*.md 分块建向量索引;memory_search返回片段、路径、行号、分数。

  • Hybrid:BM25 + 向量,既语义又精确词匹配。
  • Temporal decay:对按日期文件(如 memory/YYYY-MM-DD.md)按时间衰减分数;MEMORY.md等常青文件不衰减
  • MMR:结果多样性重排,减少重复片段。

小结

5. Agent 工作原理

一句话

Agent = 在 Gateway 里跑的「单次 agent 循环」:按 session 排队 → 组会话/系统提示/工具 → 调嵌入式 pi-agent-core 做「推理 → 工具 → 再推理」直到结束 → 流式输出并写回 session transcript;会话、工作区、技能、记忆都由 OpenClaw 管,模型和工具循环由 pi-mono 提供。

整体定位

  • 运行时:基于pi-mono的嵌入式 agent(runEmbeddedPiAgent)。
  • 谁管什么:会话、发现、工具接线、系统提示、bootstrap、技能归 OpenClaw;模型调用、工具定义、推理循环用 pi-agent-core。
  • 工作区:一个 agent 一个 workspace(agents.defaults.workspace),作为文件类工具的 cwd。

从「收到消息」到「一次 Agent 跑完」

  1. 入口:Gateway WS 请求agent(或agent.wait)、CLIopenclaw agent、渠道 inbound 经 auto-reply 触发。
  2. 入队与串行:sessionKey入队(同一 session 同时只跑一个 run),再进全局 lane,总并发受agents.defaults.maxConcurrent限制。
  3. Session + Workspace 准备:解析 workspace、加载或复用 skills snapshot、解析 bootstrap、拿 session 写锁、打开 SessionManager。
  4. Prompt 组装:系统提示 + bootstrap 注入 + 该 session 历史 transcript + 当前用户消息;考虑 compaction reserve 等限制。
  5. 跑嵌入式循环:(runEmbeddedPiAgent):模型推理 → tool_calls → 执行工具 → 结果 append 进 messages → 再推理,直到结束或超时/取消;事件桥接为assistant/tool/lifecycle流。
  6. 写回与收尾:把本轮的 assistant 消息 + tool calls + tool results 追加到该 session 的 JSONL transcript;必要时 memory flush、compaction、重试;释放锁,更新 store。

Session 与并发

  • SessionKey:标识「哪条对话」;SessionId:当前 transcript 文件;/new//reset或每日/空闲策略会换新 sessionId。
  • 串行:同一 sessionKey 一次只跑一个runEmbeddedPiAgent。
  • 队列模式:collect/followup/steer/steer-backlog等,决定新消息是立刻插队、等当前 run 结束,还是合并成一条再跑。

Agent Run 流程示意

6. 代码精髓

一句话

TypeScript ESM 严格类型 + 依赖注入(Deps/Context)+ 单一参数包贯穿管线 + Gateway 的「方法 → 处理器」注册与鉴权 + Config/Session 为单一事实源 + 内外双钩子扩展 + 同文件/同目录测试;不搞 prototype 魔改、不复制 V2 文件,控制单文件体量。

语言与风格

  • TypeScript ESM,严格类型,避免any;禁止 prototype 魔改,用显式继承/组合。
  • 单文件体量:目标约~700 LOC,超了拆 helper 或模块,不开*-v2.ts。
  • 格式化/检查:Oxlint + Oxfmt,pnpm check。

依赖注入(Deps / Context)

  • CLI:CliDeps(各渠道sendMessage*)由createDefaultDeps()提供,命令层传入;测试可注入 mock。
  • Gateway:GatewayRequestContext集中放 cron、execApprovalManager、broadcast、nodeRegistry、session/store、wizard 等;每个 WS 请求的 handler 收到统一context。
  • Outbound:createOutboundSendDeps(deps)把 CLI 的sendMessage*转成OutboundSendDeps。

单一参数包(Params Bag)

  • Agent/命令管线:HandleCommandsParams一个对象带齐 ctx、cfg、command、sessionEntry、sessionKey、workspaceDir、provider/model、各种 resolved*Level、skillCommands 等;command handler 签名为(params, allowTextCommands) => Promise<CommandHandlerResult | null>。
  • Gateway 请求:GatewayRequestHandlerOptions含 req、params、client、respond、context;各server-methods/*.ts的 handler 只认这一种入参。

Gateway:方法注册 + 鉴权后派发

  • Handlers 注册:server-methods.ts把各域 handler 聚成coreGatewayHandlers,按method 字符串索引。
  • 请求处理:handleGatewayRequest(opts)先authorizeGatewayMethod(req.method, client)(按 role/scopes 判 READ/WRITE/ADMIN 等),再coreGatewayHandlers[req.method](…)。
  • 扩展:可传extraHandlers覆盖或增加方法。

Gateway 请求处理与代码数据流

Config / Session 为事实源

  • Config:loadConfig、validateConfigObject(Zod);行为由配置决定。
  • Session:sessions.json+ transcript*.jsonl;resolveSessionKey、loadSessionEntry、updateSessionStore等统一走 config/sessions 模块。

双轨 Hooks(内建 + 插件)

  • 内建:如agent:bootstrap、命令类(/new、/reset等)。
  • 插件:before_model_resolve、before_prompt_build、before_tool_call、after_tool_call、tool_result_persist、message_received/message_sent、session_start/session_end、gateway_start/gateway_stop等;入参/出参有类型。

渠道与路由

  • 每个渠道实现自己的send+inbound 处理;CLI 的createDefaultDeps按渠道注入对应sendMessage*。
  • Inbound 消息经路由得到sessionKey,再进 auto-reply 队列,最终进同一套HandleCommandsParams+ agent 管线。

测试

  • 位置:与源码同目录,*.test.ts、*.e2e.test.ts;Vitest。
  • 风格:优先 per-instance stub,少用SomeClass.prototype.method = …。

小结

7. 文档与代码入口速查

希望这篇文章能帮你快速了解和学习 OpenClaw 的精髓,也欢迎在评论区聊聊你更想深挖的部分。

本文由 @Lucky培丽 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Openclaw官网截图