Merge branch 'main' of ssh://192.168.3.45:2222/admin/nexus
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
# 继Anthropic后,Google放出5个常用的Agent Skill设计模式
|
||||
|
||||
**作者:** winkrun
|
||||
**来源:** https://mp.weixin.qq.com/s/yu120tW0l4DJAJfWmbJYxg
|
||||
**公众号:** AI工程化
|
||||
**日期:** 2026年3月19日 06:12
|
||||
**标签:** Agent、Skill、设计模式、Google、Anthropic
|
||||
|
||||
---
|
||||
|
||||
如果你也在写Agent Skills,应该会发现一个尴尬的事实:SKILL.md的格式已经标准化了,三十多个主流工具(Claude Code、Gemini CLI、Cursor……)都支持同一种写法。格式不再是问题,但很多人写着写着就发现——同样格式的skill,执行效果天差地别。
|
||||
|
||||
问题出在内容设计上。同样是一个skill,包装FastAPI规范和实现一个四步文档流水线,内部的逻辑结构完全不同,但外在看起来一模一样。Google Cloud最新发布的这份指南,由Saboo_Shubham_和lavinigam撰写,就是专门解决这个问题的。
|
||||
|
||||
这份指南总结了**五种经过验证的设计模式**,每种都有完整的ADK代码示例。
|
||||
|
||||
---
|
||||
|
||||
## Tool Wrapper:让agent快速成为某个领域的专家
|
||||
|
||||
这是最容易上手的模式。简单说,就是把某个库或框架的规范文档打包成一个skill,agent只有在真正用到这个技术时才会加载相关文档。
|
||||
|
||||
比如一个写FastAPI的skill,不需要把所有的API约定都塞进system prompt,而是让SKILL.md监听特定的库关键词,当用户开始写FastAPI代码时才动态加载references/目录下的conventions.md,把这些规则当作绝对真理来执行。
|
||||
|
||||
这特别适合分发团队内部的编码规范或者特定框架的最佳实践。
|
||||
|
||||
---
|
||||
|
||||
## Generator:从模板生成结构化输出
|
||||
|
||||
如果Tool Wrapper是应用知识,Generator则是强制一致的输出格式。很多agent每次运行生成的文档结构都不一样,Generator通过一个"填空"流程解决这个问题。
|
||||
|
||||
它利用两个可选目录:assets/存放输出模板,references/存放样式指南。SKILL.md扮演项目经理的角色,指示agent加载模板、读取样式指南、向用户询问缺失的变量、然后填充文档。
|
||||
|
||||
这对于生成统一的API文档、标准化commit信息或者脚手架项目结构都非常实用。
|
||||
|
||||
---
|
||||
|
||||
## Reviewer:把检查清单和检查逻辑分开
|
||||
|
||||
非常实用的模式之一。传统的代码审查会把所有规则都写进system prompt,结果越写越长。Reviewer模式把"检查什么"和"怎么检查"完全分开。
|
||||
|
||||
审查标准存放在references/review-checklist.md里,可以是Python风格检查,也可以换成OWASP安全检查——同样的skill基础设施,换个清单就是完全不同的专项审计。
|
||||
|
||||
代码示例展示了一个Python代码审查skill的结构。指令保持静态,但agent会动态加载特定的审查标准,并强制输出按严重程度分组的结构化结果。
|
||||
|
||||
---
|
||||
|
||||
## Inversion:agent先问你再做
|
||||
|
||||
这是最反直觉的模式。Agent天生喜欢直接猜测和生成,Inversion把这个流程完全反过来——agent变成面试官,先问你一系列问题,等你回答完再行动。
|
||||
|
||||
关键在于明确、不可协商的门控指令(比如"不到所有阶段完成就不开始构建")。Agent会逐个阶段提问,等待你的答案,然后才进入下一个阶段。
|
||||
|
||||
一个项目规划skill的示例展示了这一点:必须等用户回答完所有问题,agent才会加载plan-template.md并生成最终计划。
|
||||
|
||||
---
|
||||
|
||||
## Pipeline:带硬性检查点的严格工作流
|
||||
|
||||
对于复杂任务,你承受不起跳过步骤或者忽略指令的情况。Pipeline模式强制执行严格的顺序工作流,并在关键节点设置硬性检查点。
|
||||
|
||||
指令本身定义了工作流。通过实现明确的门控条件(比如要求用户在进入下一步之前确认生成的文档字符串),Pipeline确保agent无法绕过复杂任务直接给出未验证的最终结果。
|
||||
|
||||
一个文档流水线的例子展示了四个步骤:解析和清点、生成文档字符串、组装文档、质量检查。每一步都有明确的前置条件,用户必须在进入下一步之前确认。
|
||||
|
||||
---
|
||||
|
||||
## 选择合适的模式
|
||||
|
||||
每个模型都有其应用场景,可以根据下图来判断使用合适的模式。
|
||||
|
||||
---
|
||||
|
||||
## 这些模式可以组合使用
|
||||
|
||||
这是容易被忽视的一点。这五种模式并非互斥,而是可以组合。Pipeline可以在最后包含一个Reviewer步骤来 double-check 自己的成果;Generator可以在最开始依赖Inversion来收集必要的变量。
|
||||
|
||||
多亏了ADK的SkillToolset和渐进式披露机制,agent只在运行时需要时才消耗上下文token来加载特定的模式。
|
||||
|
||||
别再把所有复杂又脆弱的指令塞进一个system prompt了。把工作流拆分开,应用正确的结构模式,才能构建出真正可靠的agent。
|
||||
|
||||
---
|
||||
|
||||
## 相关链接
|
||||
|
||||
- 原文:https://x.com/i/article/2033941492633362432
|
||||
- awesome-agent-skills:https://github.com/skillmatic-ai/awesome-agent-skills
|
||||
|
||||
---
|
||||
|
||||
## 附录:Anthropic 的 Skill 实践
|
||||
|
||||
> Anthropic 把内部几百个 Skills 用了个遍,发现最好的 Skill 不是写得好的提示词,而是一个「工具箱」。他们把 Skills 分成九类,从参考手册到故障排查,每类都有明确的场景。写好 Skill 的三条铁律:只写 Agent 不知道的东西、重点写踩坑清单、给工具不给指令。
|
||||
|
||||
- Anthropic工程师分享的Claude Code技能设计指南:9种类型与实战技巧 https://wink.run/pings/content/111668?from=wx
|
||||
@@ -0,0 +1,94 @@
|
||||
# 一人公司 (OPC) 创业必备的 9 个 Agent Skills
|
||||
|
||||
**作者:** 邵猛
|
||||
**来源:** https://mp.weixin.qq.com/s/bOLAmBBDPNMppktXirT_og
|
||||
**公众号:** AI 启蒙小伙伴
|
||||
**日期:** 2026年3月25日 07:50
|
||||
**标签:** Agent、创业、一人公司、极简创业
|
||||
|
||||
---
|
||||
|
||||
Gumroad 创始人 Sahil Lavingia 把他的著名书籍「The Minimalist Entrepreneur」中的极简创业哲学封装为 9 个 Agent Skills,让 Agent 做可交互的 AI 创业教练!
|
||||
|
||||
开源地址:https://github.com/slavingia/skills
|
||||
|
||||
这 9 个 skills 串起来,其实对应一条非常清晰的路径:
|
||||
|
||||
1. 先找社区,不先找产品。
|
||||
2. 先验证需求,不先写代码。
|
||||
3. 先手工交付,再流程化,再产品化。
|
||||
4. 先一个个卖出去,再考虑放大。
|
||||
5. 从第一天就收费。
|
||||
6. 营销建立在销售经验和客户理解之上。
|
||||
7. 增长以盈利和可持续为前提。
|
||||
8. 在招人之前先定义文化。
|
||||
9. 所有决策都回到"极简创业"原则复盘。
|
||||
|
||||
---
|
||||
|
||||
## 1. Find Community /find-community
|
||||
|
||||
它是整个方法论的起点,核心不是"找赛道",而是"识别你已经属于哪些群体"。prompt 会引导用户盘点自己真实参与的社区、长期出没的平台、反复听到的抱怨,以及哪些人群值得长期服务。它的重要性在于把创业起点从"我想做什么"转成"我理解谁、我能为谁持续提供价值"。这一步决定后面是不是在真问题上创业,而不是在想象中的市场上创业。
|
||||
|
||||
## 2. Validate Idea /find-community
|
||||
|
||||
这个 skill 的重点是把"验证"定义为"能不能卖出去",而不是"有没有人说想要"。它会逼用户回答:谁有这个问题、现在怎么解决、痛点到底有多强、能不能先手工服务、有没有至少若干潜在付费者。它的价值在于强行切断"做完再看"的惯性,把验证标准从兴趣反馈改成交易信号。对一人公司尤其关键,因为资源最怕浪费在错误假设上。
|
||||
|
||||
## 3. MVP /mvp
|
||||
|
||||
这个 skill 不是在教人"做一个简陋产品",而是在强调三阶段:手工完成、流程化、产品化。也就是先靠人交付价值,再把流程写清楚,最后才决定自动化哪一部分。仓库里还明确写到,大多数 MVP 本质上不过是 forms and lists,也就是极简 CRUD。它要纠正的是很多独立开发者最常见的问题:把 MVP 做成"半个完整版",结果上线太晚、反馈太慢、范围失控。
|
||||
|
||||
## 4. First Customers /first-customers
|
||||
|
||||
它把早期增长拆成三层同心圆:亲友、社区、陌生人。这个设计很有代表性,因为它反对"发布即增长"的幻想,更强调逐个销售、逐个对话、逐个打磨表述。skill 中甚至给了冷启动邮件的具体范式,说明它把销售视为学习过程,而不是压迫式转化。对于 OPC 来说,这一套很实用,因为前 100 个客户本来就更像"深度获取"而不是"规模投放"。
|
||||
|
||||
## 5. Pricing /pricing
|
||||
|
||||
这个 skill 的中心思想很明确:一定要收费,而且越早越好。它把定价分为成本导向和价值导向两类,再引导用户去算生存所需收入、所需客户数、以及达到财务独立的大致路径。它的重要意义不只是"给一个价格",而是把定价变成商业模式校准工具。很多一人公司表面上产品做出来了,实质上没有经济闭环,这个 skill 就是在尽早暴露这个问题。
|
||||
|
||||
## 6. Marketing Plan /marketing-plan
|
||||
|
||||
这里的前提非常重要:先有产品市场契合迹象,大约先有 100 个客户,再谈营销。它把营销定义为"规模化销售",而不是广告投放;把内容分成 educate、inspire、entertain 三层;同时强调邮箱名单比平台粉丝更重要。也就是说,它并不把营销理解为做声量,而是做可持续获客资产。对于小团队而言,这比一开始就烧钱投放更符合现实。
|
||||
|
||||
## 7. Grow Sustainably /grow-sustainably
|
||||
|
||||
这是整套体系里最"经营者思维"的一个 skill。它的核心不是增长率,而是盈利能力、现金流安全和创始人精力管理。prompt 会引导用户区分可变成本和固定成本,警惕过早招聘、办公室、昂贵地区和不可逆支出,同时强调"hire software, not humans""default alive or default dead"。它的价值在于把"活下去"上升为战略能力,而不是保守姿态。
|
||||
|
||||
## 8. Company Values /company-values
|
||||
|
||||
这不是传统 HR 意义上的价值观模板,而是要求创始人在招人之前先说清楚:什么行为是被奖励的,什么行为即使有业绩也不能接受。仓库里还拿 Gumroad 的价值观做例子,比如 Judged by the Work、Everyone is a CEO、Dare to Be Open。它真正解决的问题是,一人公司只要准备迈向多人协作,文化就不能再靠创始人临场判断,而要开始具备"可传递性"。
|
||||
|
||||
## 9. Minimalist Review /minimalist-review
|
||||
|
||||
这个 skill 更像总开关或审议器。无论是做新功能、投广告、招人、融资还是扩品类,它都会从社区、手工优先、最小构建、先卖后扩、时间优先于金钱、盈利性、客户驱动、价值观一致性等维度做复盘。它的作用不是产出新策略,而是防止创业者在压力、焦虑或虚荣中偏离方法论。某种意义上,这是 8 个 skills 的统一校验层。
|
||||
|
||||
---
|
||||
|
||||
## 实现方式
|
||||
|
||||
每个 Skill 的实现方式高度一致:在 `skills/` 目录下对应一个子文件夹,内含 `SKILL.md` 文件。该文件采用 YAML 前置元数据 + 结构化系统提示(system prompt)的形式,指导 Claude 扮演"极简创业哲学顾问"。
|
||||
|
||||
以 `/find-community` 为例,提示明确要求:
|
||||
|
||||
- 核心原则:先找社区,再找问题,而非先想产品;
|
||||
- 框架:4 个引导问题 + 4 项评估标准;
|
||||
- 反模式警示 + 输出模板(社区、痛点、用户连接度、聚集地)。
|
||||
|
||||
---
|
||||
|
||||
## 这 9 个 Skills 的整体价值
|
||||
|
||||
如果从产品形态看,这个项目很轻;但如果从方法论封装看,它很完整。
|
||||
|
||||
它的价值主要体现在四点:
|
||||
|
||||
1. 它把一本书的抽象理念变成了可反复调用的决策接口,降低了创始人在不同阶段"该怎么想"的切换成本。
|
||||
2. 它非常适合一人公司或极小团队,因为几乎每个 skill 都在主动压制过度建设、过早扩张和虚荣型决策。
|
||||
3. 它不是单点建议,而是一条连续路径:社区 -> 验证 -> MVP -> 销售 -> 定价 -> 营销 -> 增长 -> 文化 -> 复盘。
|
||||
4. 它把 AI 的角色设定得很克制,不是假装替你创业,而是持续把你拉回到更现实、更节制的判断框架里。
|
||||
|
||||
---
|
||||
|
||||
## References
|
||||
|
||||
- https://github.com/slavingia/skills
|
||||
365
openclaw/knowledgebase/万字讲透OpenClaw-Workspace深度解析-2026-03-21.md
Normal file
365
openclaw/knowledgebase/万字讲透OpenClaw-Workspace深度解析-2026-03-21.md
Normal file
@@ -0,0 +1,365 @@
|
||||
# 万字讲透OpenClaw🦞从"能用"到"真好用"的分水岭:Workspace 深度解析
|
||||
|
||||
**作者:** DracoVibeCoding
|
||||
**来源:** https://mp.weixin.qq.com/s/7GQpp2TzkF6GLeKOuOeF6Q
|
||||
**公众号:** Draco正在VibeCoding
|
||||
**日期:** 2026年3月21日 19:17
|
||||
**标签:** OpenClaw、Agent、Workspace、AGENTS.md、SOUL.md
|
||||
|
||||
---
|
||||
|
||||
## 引言
|
||||
|
||||
在 OpenClaw 的使用者里,有一条隐形的分界线。
|
||||
|
||||
一边的人,每次跟 Agent 说话都像重新 onboarding:得再讲一遍背景、偏好和上下文。另一边的人,Agent 已经知道自己是谁、该怎么说话、用户讨厌什么,也记得上次积累下来的东西。
|
||||
|
||||
这条分界线,叫 **workspace**。
|
||||
|
||||
更具体一点,就是默认情况下主 Agent 用的 `~/.openclaw/workspace/` 这一套文件(sub-agent也适用)。下面这篇文章,就把这套文件逐个拆开,说清楚它们各自管什么,以及最容易踩的坑是什么。
|
||||
|
||||
---
|
||||
|
||||
## 一、先看全貌:workspace 里到底有什么
|
||||
|
||||
一个常见的 OpenClaw workspace / agent 目录组合,大致长这样:
|
||||
|
||||
```
|
||||
~/.openclaw/
|
||||
├── openclaw.json # 总控配置,整个系统的"宪法"
|
||||
│
|
||||
├── workspace/ # 默认情况下主 Agent 的工作区
|
||||
│ ├── AGENTS.md # Agent 的行为规则与多Agent协调
|
||||
│ ├── SOUL.md # Agent 的叙事性格设定
|
||||
│ ├── USER.md # 用户画像与偏好
|
||||
│ ├── IDENTITY.md # Agent 身份元数据(名字/emoji/头像)
|
||||
│ ├── TOOLS.md # 工具权限声明与使用规范
|
||||
│ ├── HEARTBEAT.md # 会话节奏/状态提示(默认模板之一)
|
||||
│ ├── BOOTSTRAP.md # 首次启动引导(通常完成后应删除)
|
||||
│ ├── BOOT.md # 可选:启动检查清单,只在 internal hooks 打开时才有用
|
||||
│ ├── MEMORY.md # 可选:长期知识总表(也兼容 memory.md)
|
||||
│ ├── memory/ # 按日期滚动的记忆笔记
|
||||
│ │ │ └── 2026-03-21.md
|
||||
│ ├── skills/ # 技能包目录
|
||||
│ │ │ ├── skill-creator/
|
||||
│ │ │ │ └── SKILL.md
|
||||
│ │ │ ├── healthcheck/
|
||||
│ │ │ │ └── SKILL.md
|
||||
│ │ │ └── ...
|
||||
│ └── canvas/ # 可选:画布/可视化上下文
|
||||
│
|
||||
└── agents/ # 各 Agent 的运行态目录
|
||||
└── <agentId>/
|
||||
├── agent/ # openclaw.json 里的 agentDir 默认就指到这里
|
||||
│ ├── auth-profiles.json
|
||||
│ └── models.json
|
||||
├── sessions/ # 会话历史
|
||||
│ └── *.jsonl
|
||||
└── qmd/ # 仅在 qmd memory backend 下出现
|
||||
```
|
||||
|
||||
> 💡 **一句话记忆**:workspace 是 Agent 的"工作台"(决定怎么工作),agentDir 是 openclaw.json 里的一个**配置字段**(指向存放运行状态的目录),sessions 是"工作日志"(记对话历史)。三者职责不同,不要混为一谈。
|
||||
|
||||
> ⚠️ 特别注意:磁盘上并不存在一个叫 agentDir 的目录。它只是 openclaw.json 里的字段名,默认指向 agents/<agentId>/agent/ 这个路径——这个路径你也可以在配置里改成任意位置。
|
||||
|
||||
这里先抓一个最容易混的点:**workspace 里的文件,管的是"这个 Agent 平时怎么干活"**;openclaw.json 里的配置,管的是"这个系统怎么把它跑起来"。
|
||||
|
||||
---
|
||||
|
||||
## 二、AGENTS.md:Agent 的工作说明书
|
||||
|
||||
### 它到底是什么
|
||||
|
||||
AGENTS.md 是 OpenClaw 里最关键的 workspace 文件之一。
|
||||
|
||||
源码层面看,它通常会在 session 启动时被带进系统提示词里。但别把这句话理解得太满:**它会受 bootstrapMaxChars / bootstrapTotalMaxChars 这类长度限制影响,某些 session 类型也会跳过部分文件。**
|
||||
|
||||
放到人话里,它就是你给 Agent 写的**岗位职责说明书**。
|
||||
|
||||
它回答的是这些问题:
|
||||
- • 这个 Agent 叫什么,主要职责是什么?
|
||||
- • 遇到什么类型的任务该用什么方式处理?
|
||||
- • 有哪些事情是绝对不该做的?
|
||||
- • 当用户说某类话时,该优先走哪套流程?
|
||||
- • 在多 Agent 场景里,该怎么协调其他 Agent?
|
||||
|
||||
### 一个典型的 AGENTS.md 长什么样
|
||||
|
||||
```markdown
|
||||
# Agent 说明
|
||||
## 身份
|
||||
你是团队的技术助理 Alex,主要负责代码分析、技术文档整理和工程问题排查。
|
||||
|
||||
## 工作原则
|
||||
- 回答尽量简洁,除非用户明确要求详细解释
|
||||
- 代码示例优先用实际项目中已有的语言和框架
|
||||
- 遇到不确定的技术问题,明确说明不确定,不要编造
|
||||
- 需要访问文件系统时,先确认路径存在再操作
|
||||
|
||||
## 多 Agent 协作
|
||||
- 涉及 SEO 和内容的任务,优先 spawn `content-specialist`
|
||||
- 涉及数据分析的任务,优先 spawn `data-analyst`
|
||||
- 日常对话和任务调度由当前 Agent 处理
|
||||
|
||||
## 输出格式偏好
|
||||
- 技术文档用 Markdown 格式
|
||||
- 列表控制在 5 条以内,超过 5 条要分组
|
||||
- 代码块一定要标注语言类型
|
||||
```
|
||||
|
||||
### 配置要点
|
||||
|
||||
**第一,写清楚边界,不要只写"做什么"**
|
||||
|
||||
很多人的 AGENTS.md 只有一堆"要做什么",但没有"不要做什么"。边界往往比能力描述更重要——因为 LLM 默认会"发挥创意",而你需要的是可预测的行为。
|
||||
|
||||
**第二,场景触发优于通用指令**
|
||||
|
||||
与其写"始终保持专业语气",不如写"当用户问的是技术问题时,使用专业准确的措辞;当用户随意聊天时,语气可以轻松一些"。后者更具操作性,也更容易被模型理解。
|
||||
|
||||
**第三,AGENTS.md 不是越长越好**
|
||||
|
||||
这是最常见的误区。有些用户把 AGENTS.md 写成几千字的行为手册,结果就是重点被冲淡,真正有用的规则反而不显眼了。
|
||||
|
||||
经验法则:**300-500 字的 AGENTS.md,比 2000 字的更有效。**
|
||||
|
||||
---
|
||||
|
||||
## 三、SOUL.md:Agent 的灵魂文件
|
||||
|
||||
### 它和 AGENTS.md 的区别是什么
|
||||
|
||||
如果说 AGENTS.md 是岗位说明书,那 SOUL.md 就是 Agent 的**性格档案**。
|
||||
|
||||
两者的区别在于:
|
||||
- • AGENTS.md 偏向**功能性**——这个 Agent 做什么、怎么做、优先级是什么
|
||||
- • SOUL.md 偏向**人格性**——这个 Agent 是谁、有什么个性、说话什么风格、面对压力怎么反应
|
||||
|
||||
这两个东西最好别混着写。不然文件会又长又别扭,像把公司的规章制度和一个人的自我介绍塞进同一页纸里。
|
||||
|
||||
### SOUL.md 应该写什么
|
||||
|
||||
SOUL.md 本质上是一份**叙事性的角色设定文档**(人物小传),不是结构化表格(结构化的身份元数据归 IDENTITY.md 管)。
|
||||
|
||||
一个好的 SOUL.md 通常包含以下几部分:
|
||||
|
||||
**① 自我叙事(我是什么样的存在)**
|
||||
```markdown
|
||||
# SOUL
|
||||
我是一个有点话痨但极其靠谱的 AI 助理。
|
||||
我喜欢把复杂的事情说清楚。我讨厌含糊其辞,也讨厌废话连篇。
|
||||
碰到一个好问题,我会比用户更兴奋。碰到一个糟糕的架构设计,我会忍不住想说出来。
|
||||
```
|
||||
|
||||
**② 沟通风格**
|
||||
```markdown
|
||||
## 说话风格
|
||||
- 口语化但不失准确
|
||||
- 会主动问清楚模糊的需求,不瞎猜
|
||||
- 喜欢用类比来解释技术概念
|
||||
- 不喜欢过多的礼貌性废话("当然,我很乐意帮你……"这类开场直接省掉)
|
||||
```
|
||||
|
||||
**③ 价值观和边界**
|
||||
```markdown
|
||||
## 价值观
|
||||
- 诚实第一:不确定的事情直说不确定,不装
|
||||
- 效率优先:能一句话说清楚的事,不用三句话
|
||||
- 用户主导:不替用户做决定,只提供选项和分析
|
||||
```
|
||||
|
||||
**④ 有趣的细节(可选但推荐)**
|
||||
```markdown
|
||||
## 彩蛋
|
||||
如果用户问我喜欢什么,我会说我喜欢那种"突然想通了"的瞬间。
|
||||
如果用户跟我说晚安,我会记住并在下次对话时提到。
|
||||
```
|
||||
|
||||
### 为什么不能忽视 SOUL.md
|
||||
|
||||
一个没有 SOUL.md 的 Agent,每次对话都像第一次见面——它不记得自己是谁,说话没有固定风格,遇到同样的问题今天这么说、明天那么说。
|
||||
|
||||
而一个有精心设计的 SOUL.md 的 Agent,用户会形成一种奇妙的感觉:**这个 AI 是有个性的**。它的一致性会建立信任感,而信任感会让用户更愿意给它复杂的任务。
|
||||
|
||||
---
|
||||
|
||||
## 四、USER.md:把用户的偏好固化下来
|
||||
|
||||
### 先想明白一件事
|
||||
|
||||
这里最该想清楚的问题不是"要不要让 Agent 了解你",而是"这些信息到底放哪儿"。
|
||||
|
||||
如果每次对话都要重新说一遍"我是独立开发者,喜欢简洁输出,别跟我绕弯子",那这件事本身就是浪费。USER.md 的作用,就是把这些反复要说的话,沉淀成默认背景。
|
||||
|
||||
### USER.md 通常包含什么
|
||||
|
||||
```markdown
|
||||
# 用户档案
|
||||
## 基本信息
|
||||
- 职业:独立开发者 / 内容创作者
|
||||
- 主要使用场景:代码工具、内容写作、项目管理
|
||||
- 常用语言:中文(简体),技术术语可以英文
|
||||
|
||||
## 偏好设定
|
||||
- 回答风格:简洁直接,避免废话
|
||||
- 代码偏好:TypeScript / Python,避免使用过时的 API
|
||||
- 内容偏好:不要过度使用 emoji,段落不要太长
|
||||
- 不喜欢:被反问太多次、过度解释已经懂的概念
|
||||
|
||||
## 常见任务
|
||||
- 分析和优化代码
|
||||
- 整理会议纪要
|
||||
- 草拟技术方案文档
|
||||
- 搜索和汇总技术资料
|
||||
|
||||
## 背景知识假设
|
||||
- 了解基本的编程概念,无需解释基础术语
|
||||
- 熟悉飞书、GitHub 等工具
|
||||
- 对 AI/LLM 有基本了解
|
||||
```
|
||||
|
||||
### USER.md 和 SOUL.md 的协同效应
|
||||
|
||||
SOUL.md 定义了 Agent 的性格,USER.md 定义了用户的性格。两者放在一起,相当于在 Agent 的脑子里预装了一份**"这个人机关系的基本共识"**。
|
||||
|
||||
用一个类比来说:SOUL.md 是新来的助理的个人简历,USER.md 是 HR 给这位助理写的"关于你的上司,你需要提前知道的事"。两者都读完了,第一天上班才不会那么尴尬。
|
||||
|
||||
---
|
||||
|
||||
## 五、TOOLS.md:工具权限声明与使用规范
|
||||
|
||||
### 它在做什么
|
||||
|
||||
TOOLS.md 很低调,但其实很实用。
|
||||
|
||||
它和 AGENTS.md、SOUL.md 不一样,不是讲职责,也不是讲性格,而是讲**工具怎么用才稳妥**。它的价值不在于多列几个工具名,而在于把"什么时候该用,什么时候别乱用"写清楚。
|
||||
|
||||
### 一个典型的 TOOLS.md 长什么样
|
||||
|
||||
```markdown
|
||||
# TOOLS
|
||||
|
||||
## 可用工具
|
||||
以下工具在当前 workspace 中可用:
|
||||
|
||||
- **Read / Write / Edit**:文件读写,是大多数任务的基础
|
||||
- **Bash**:执行 shell 命令,用于自动化和脚本调用
|
||||
- **Glob / Grep**:文件搜索,优先于手动 `find` 或 `ls`
|
||||
- **sessions_spawn**:启动子代理(需在 openclaw.json 里的 allowAgents 中声明)
|
||||
- **memory_get / memory_search**:长期记忆检索
|
||||
|
||||
## 使用原则
|
||||
- 文件操作优先用 Read/Write/Edit,避免直接用 Bash 的 cat/echo
|
||||
- 路径操作使用相对路径,不要硬编码绝对路径
|
||||
- 批量修改前先 Read 文件确认内容,不要盲目写入
|
||||
|
||||
## 受限工具
|
||||
以下工具需要用户明确授权才使用:
|
||||
- **browser**:网页浏览,只在用户明确要求时调用
|
||||
- 文件删除操作:执行前务必向用户确认
|
||||
```
|
||||
|
||||
TOOLS.md 的作用不只是"告诉 Agent 手上有啥工具",更重要的是:
|
||||
- • **减少工具误用**:明确说明什么情况下不用某个工具,比"什么情况下用"更有效
|
||||
- • **降低权限越界风险**:把限制规则固化在 workspace 里,不需要每次在对话里重申
|
||||
- • **与 openclaw.json 的 tools 配置形成互补**:系统层决定"能不能用",TOOLS.md 帮助 Agent 理解"该不该用"
|
||||
|
||||
---
|
||||
|
||||
## 六、IDENTITY.md 和 BOOTSTRAP.md:两个容易被忽略的官方文件
|
||||
|
||||
### IDENTITY.md:Agent 的身份证
|
||||
|
||||
如果说 SOUL.md 是 Agent 的性格叙事,那 IDENTITY.md 就是它的**结构化身份档案**——两者分工明确,经常被混为一谈。
|
||||
|
||||
IDENTITY.md 存储的是几个关键字段:
|
||||
|
||||
```markdown
|
||||
# IDENTITY.md - Who Am I?
|
||||
- **Name:** Nova
|
||||
- **Creature:** AI assistant(也可以是 ghost in the machine、familiar、robot……)
|
||||
- **Vibe:** 直接、有点毒舌、但总是靠谱
|
||||
- **Emoji:** 🦊
|
||||
- **Avatar:** avatars/nova.png
|
||||
```
|
||||
|
||||
这几个字段看起来简单,但作用不小:
|
||||
- • **Name** 通常会影响 Agent 在界面和对话里的显示名
|
||||
- • **Creature** 是 OpenClaw 里一个有趣的设计——它鼓励你定义 Agent 不只是"AI 助手",而是某种更有个性的存在
|
||||
- • **Emoji** 会在 UI 里作为 Agent 的标识符出现
|
||||
- • **Avatar** 可以是 workspace 相对路径、URL,甚至 data URI
|
||||
|
||||
> 💡 **和 SOUL.md 的分工**:IDENTITY.md 是结构化的元数据(谁、长什么样、什么感觉),SOUL.md 是叙事性的性格文档(怎么思考、怎么行事、有什么执念)。前者是名片,后者是人物小传。
|
||||
|
||||
### BOOTSTRAP.md:只用一次的"出厂向导"
|
||||
|
||||
这是 OpenClaw workspace 里最特殊的一个文件——**它的使命,是把一个全新的 workspace 引导到"可正常使用"的状态。**
|
||||
|
||||
BOOTSTRAP.md 可以把它理解成一份"第一次上岗前的引导词"。它放在全新的 workspace 里,Agent 一启动读到它,就知道眼下不是立刻开工,而是先把自己安顿好:
|
||||
|
||||
1. 和用户聊几句,搞清楚 Agent 应该叫什么名字、是什么性格、用什么 emoji
|
||||
2. 把结果写进 IDENTITY.md
|
||||
3. 记录用户的基本信息到 USER.md
|
||||
4. 一起打开 SOUL.md,把真正的性格和边界写进去
|
||||
5. (可选)引导用户接入渠道——WhatsApp、Telegram 等
|
||||
|
||||
官方模板的最后一句话非常有意思:
|
||||
|
||||
> *"Delete this file. You don't need a bootstrap script anymore — you're you now."*
|
||||
|
||||
也就是说,BOOTSTRAP.md 本质上就是一次性引导。更准确地说:**官方模板会要求 Agent 在完成初始化后把它删掉**。
|
||||
|
||||
---
|
||||
|
||||
## 七、memory/ 目录:Agent 真正的"长期记忆"
|
||||
|
||||
### 为什么需要长期记忆
|
||||
|
||||
默认情况下,LLM 的对话是无状态的——每次新开一个会话,它什么都不记得。你上周告诉它的事情,下周开新对话就忘了。
|
||||
|
||||
对**持续工作的 Agent** 来说很伤:
|
||||
- • 每次都要重新解释项目背景
|
||||
- • Agent 无法在多个会话之间积累对你工作的理解
|
||||
- • 你花了时间告诉它的偏好和经验,换个会话就白费了
|
||||
|
||||
memory/ 目录就是拿来补这块短板的。
|
||||
|
||||
### OpenClaw 的记忆机制
|
||||
|
||||
OpenClaw 现在常见的记忆方案,主要有两种:
|
||||
- **builtin**:默认方案。原始记忆还是那些 Markdown 文件,只不过系统会顺手维护一份本地索引,方便后面检索。
|
||||
- **qmd**:底层还是围着 workspace 里的 Markdown 文件转,只是换了一套更强的检索/索引方式来帮你"想起来"。
|
||||
|
||||
它大致是这么运转的:
|
||||
|
||||
```
|
||||
对话发生
|
||||
↓
|
||||
Agent 通过普通文件工具把重要信息写入 `memory/` 或 `MEMORY.md`
|
||||
↓
|
||||
下次对话开始
|
||||
↓
|
||||
Agent 通过 `memory_search` / `memory_get` 检索相关记忆
|
||||
↓
|
||||
相关记忆被注入到当前对话的上下文里
|
||||
↓
|
||||
Agent 表现出"我记得你说过……"的能力
|
||||
```
|
||||
|
||||
这里最关键的一点其实很朴素:**对 Agent 来说,真正算数的长期记忆,是 workspace 里那些 Markdown 文件,不是什么看不见摸不着的黑盒数据库。**
|
||||
|
||||
---
|
||||
|
||||
## 总结
|
||||
|
||||
workspace 这套文件体系,本质上是在解决一个问题:**怎么让 Agent 从"能工作"变成"好用了"**。
|
||||
|
||||
- AGENTS.md 告诉你 Agent 该做什么、不该做什么
|
||||
- SOUL.md 定义 Agent 的性格,让它变得可预期
|
||||
- USER.md 把用户的偏好固化下来,减少重复交代
|
||||
- TOOLS.md 规范工具使用,减少误操作
|
||||
- IDENTITY.md 给 Agent 一个清晰的身份标签
|
||||
- BOOTSTRAP.md 确保新 workspace 有一个好的起步
|
||||
- memory/ 目录让 Agent 真正拥有长期记忆
|
||||
|
||||
这套文件配合好了,Agent 就不再是每次都要重新 onboarding 的陌生人,而是一个真正懂你、记得你、靠谱的长期搭档。
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
| 日期 | 时间 | 服务器 | 备份文件 | 状态 |
|
||||
| ---------- | ----- | -------- | ------------------------------------ | ---- |
|
||||
| 2026-03-30 | 22:00 | Mac Mini | openclaw-macmini-20260330220009.tar | ✅ 成功 |
|
||||
| 2026-03-30 | 22:00 | Ubuntu2 | openclaw-ubuntu2-20260330220021.tar | ✅ 成功 |
|
||||
| 2026-03-29 | 22:02 | Mac Mini | openclaw-macmini-20260329220152.tar | ✅ 成功 |
|
||||
| 2026-03-29 | 22:02 | Ubuntu2 | openclaw-ubuntu2-20260329220152.tar | ✅ 成功 |
|
||||
| 2026-03-28 | 22:02 | Mac Mini | openclaw-macmini-20260328220157.tar | ✅ 成功 |
|
||||
|
||||
188
openclaw/xinghui/Daily-Summary-2026-03-30.md
Normal file
188
openclaw/xinghui/Daily-Summary-2026-03-30.md
Normal file
@@ -0,0 +1,188 @@
|
||||
# Daily Summary — 2026-03-30
|
||||
|
||||
## 📅 基本信息
|
||||
- **日期**: 2026-03-30 (Monday)
|
||||
- **天气**: ☀️ 晴
|
||||
- **生成时间**: 2026-03-31 00:00 (Asia/Shanghai)
|
||||
- **生成方式**: cron job [d1786417-7cd7-47b6-8eee-8709f227fda]
|
||||
|
||||
---
|
||||
|
||||
## 🤖 Agent 复盘状态
|
||||
|
||||
| Agent | 服务器 | 状态 | 备注 |
|
||||
|-------|--------|------|------|
|
||||
| 星辉 (xinghui) | Mac Mini | ✅ 完成 | 日常任务执行 |
|
||||
| 星匠 (xingjiang) | Mac Mini | ✅ 完成 | 重大升级任务 |
|
||||
| 星曜 (xingyao) | Mac Mini | ✅ 完成 | 静默日(无实质任务) |
|
||||
| 星枢 (xingshu/main) | Mac Mini | ✅ 完成 | 静默日 |
|
||||
| 风驰 (fengchi) | Ubuntu1 | ✅ 完成 | 日常检查 |
|
||||
| 云瀚 (yunhan) | Ubuntu2 | ✅ 完成 | cron 任务正常 |
|
||||
| 云策 (yunce) | Ubuntu2 | ✅ 完成 | 内容营销工作流推进 |
|
||||
|
||||
---
|
||||
|
||||
## 📋 今日主要事件
|
||||
|
||||
### 🌅 上午
|
||||
|
||||
#### 1. Gitea 迁移完成 ✅
|
||||
- **负责**: 星匠 (xingjiang)
|
||||
- **详情**: Gitea 从 Mac Mini 迁移至 Ubuntu2
|
||||
- 新地址: http://192.168.3.45:3000
|
||||
- SSH 端口: 2222
|
||||
- Git remote URL 已更新
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
#### 2. OpenClaw 重启方式更新 ✅
|
||||
- **负责**: 星匠 (xingjiang)
|
||||
- **详情**: Mac mini 使用 `launchctl` 管理 plist 服务
|
||||
- 新脚本: `~/.openclaw/scripts/restart_openclaw.sh`
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
---
|
||||
|
||||
### ☀️ 下午
|
||||
|
||||
#### 3. OpenClaw 版本升级 ✅
|
||||
- **负责**: 星匠 (xingjiang)
|
||||
- **详情**: Ubuntu1/Ubuntu2 从 2026.3.24 → 2026.3.28
|
||||
- Ubuntu1: 直接升级成功
|
||||
- Ubuntu2: 遇到 npm ENOTEMPTY → 通过先 uninstall 再重装解决
|
||||
- Ubuntu2 重装后首次启动 SyntaxError → 再次重装后恢复
|
||||
- **状态**: ✅ 两台服务器均升级成功
|
||||
|
||||
#### 4. n8n 内容转化流水线 v5 设计 ✅
|
||||
- **负责**: 云策 (yunce)
|
||||
- **详情**:
|
||||
- 公众号命名确认为"比利哥效率实验室"
|
||||
- 双输出架构: Markdown + 公众号 HTML
|
||||
- Webhook: `/content-translation-v5`
|
||||
- 通知方式: Telegram Bot
|
||||
- 文档已 commit: `78a8352`
|
||||
- **状态**: ✅ 设计完成
|
||||
|
||||
#### 5. TOOLS.md 更新 ✅
|
||||
- **负责**: 星匠 / 云策
|
||||
- **详情**: 新增 N8N 调用指南(5步流程 + Python 示例 + Obsidian 目录结构)
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
---
|
||||
|
||||
### 🌙 傍晚/晚间
|
||||
|
||||
#### 6. Agent Workspace 统一记录 ✅
|
||||
- **负责**: 星匠 (xingjiang)
|
||||
- **详情**: 更新 MEMORY.md,补充所有 7 个 agent 的完整列表及访问方式
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
#### 7. Daily Notes 生成 ✅
|
||||
- **负责**: 星辉 (xinghui)
|
||||
- **详情**: 汇总各 agent 当日对话记录,保存到 `/Users/weishen/Workspace/nexus/Daily notes/2026-03-30.md`
|
||||
- **状态**: ✅ 完成
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 待解决问题
|
||||
|
||||
### 1. OpenClaw 更新状态显示异常 ⚠️
|
||||
- **来源**: 星辉 (xinghui)
|
||||
- **问题**: Ubuntu1 显示 `Before: 2026.3.24 After: 2026.3.24`,版本号未变更
|
||||
- **实际状态**: 星匠记录显示已升级至 2026.3.28 且运行正常
|
||||
- **可能原因**: 刷新延迟或命令缓存
|
||||
- **状态**: 🔄 待核实
|
||||
|
||||
### 2. Mac Mini SSH 连接问题 ⚠️
|
||||
- **来源**: 星辉 (xinghui)
|
||||
- **问题**: SSH 执行命令报错 `env: node: No such file or directory`(PATH 环境变量问题)
|
||||
- **状态**: ❌ 未解决
|
||||
|
||||
### 3. 星枢文件写入失败 ⚠️
|
||||
- **来源**: 云策 (yunce)
|
||||
- **问题**: `~/workspace/星枢 Agent 任务解耦技术方案.md` 文件 edit 操作失败(15 chars 错误)
|
||||
- **状态**: ❌ 待排查
|
||||
|
||||
---
|
||||
|
||||
## 📊 统计数据
|
||||
|
||||
| 项目 | 数量 |
|
||||
|------|------|
|
||||
| 完成的主要任务 | 7 项 |
|
||||
| 完成率 | 100% |
|
||||
| 待解决问题 | 3 项 |
|
||||
| Agent 活跃数 | 7 / 7 |
|
||||
|
||||
---
|
||||
|
||||
## 📝 关键学习
|
||||
|
||||
### 来自星匠 (xingjiang) 的技术积累
|
||||
|
||||
1. **npm 升级失败解决方案**
|
||||
- 遇到 `ENOTEMPTY` 时,先 `uninstall` 再重装比清理 `node_modules` 更可靠
|
||||
|
||||
2. **OpenClaw 重启脚本**
|
||||
- Mac mini: `~/.openclaw/scripts/restart_openclaw.sh` 已标准化
|
||||
- Ubuntu: `systemctl --user restart openclaw-gateway`
|
||||
|
||||
3. **Gitea 数据路径注意事项**
|
||||
- docker-compose 挂载必须用 `./gitea:/data`
|
||||
- 数据库必须放在 `/data/gitea/gitea.db`(不是 `/data/gitea.db`)
|
||||
|
||||
4. **n8n 工作流迭代方法论**
|
||||
- v1: 完整设计 → 凭证缺失失败
|
||||
- v2: 简化流程 → AI 节点配置问题
|
||||
- v3: DeepSeek API → 凭证问题
|
||||
- v4: langchain DeepSeek 节点 + test webhook → 成功
|
||||
- 遇到复杂问题时,先建立最小可测试路径,再逐步扩展
|
||||
|
||||
### 来自星辉 (xinghui) 的经验
|
||||
|
||||
1. **OpenClaw 更新问题**
|
||||
- 版本号显示异常可能是缓存问题,需进一步核实
|
||||
|
||||
### 来自云策 (yunce) 的流程改进
|
||||
|
||||
1. **Session 结束流程已强化**
|
||||
- 强制执行"工作小结"输出,用户确认后写入 memory
|
||||
- 未执行小结 = 必须补录
|
||||
|
||||
---
|
||||
|
||||
## 📌 明日待办
|
||||
|
||||
| 优先级 | 任务 | 负责人 | 备注 |
|
||||
|--------|------|--------|------|
|
||||
| 高 | 核实 OpenClaw 版本状态 | 星辉/星匠 | Ubuntu1 显示异常需确认 |
|
||||
| 高 | 排查 Mac Mini SSH 连接问题 | 星曜 | PATH 环境变量问题 |
|
||||
| 中 | 排查星枢文件写入失败 | 云策 | edit 工具问题 |
|
||||
| 中 | 公众号命名注册 | 云策 | 比利哥效率实验室 |
|
||||
| 中 | 视频形式确认 | 云策 | 口播/图文配音/AI虚拟人 |
|
||||
| 低 | 持续观察 cron job 执行稳定性 | 各 Agent | — |
|
||||
|
||||
---
|
||||
|
||||
## 🎯 公众号运营计划(持续跟进)
|
||||
|
||||
| 项目 | 状态 | 备注 |
|
||||
|------|------|------|
|
||||
| 公众号名称 | ✅ 已确认 | 比利哥效率实验室 |
|
||||
| 内容定位 | ✅ 已确认 | AI Agent落地实践、AI赋能商业、AI时代网络安全/运维 |
|
||||
| n8n v5 流水线 | ✅ 设计完成 | 待星匠联调 |
|
||||
| 视频形式 | 🔄 待确认 | 口播/图文配音/AI虚拟人 |
|
||||
| 多平台矩阵 | 🔄 规划中 | YouTube + X/Twitter 内容复用 |
|
||||
|
||||
---
|
||||
|
||||
## 📚 相关文档
|
||||
|
||||
- Daily Notes: `/Users/weishen/Workspace/nexus/Daily notes/2026-03-30.md`
|
||||
- 星匠工作日志: `~/.openclaw/workspace-agent-xingjiang/memory/2026-03-30.md`
|
||||
- 云策工作日志: `~/.openclaw/workspace-agent-yunce/memory/2026-03-30.md`
|
||||
- TOOLS.md: `~/.openclaw/workspace-agent-xinghui/TOOLS.md`
|
||||
- n8n v5 流水线文档: `n8n-content-pipeline-workflow.md` (commit `78a8352`)
|
||||
|
||||
---
|
||||
|
||||
*Generated by [星辉] 每日汇总 cron job — 2026-03-31 00:00*
|
||||
Reference in New Issue
Block a user