vault backup: 2026-03-17 12:39:28
This commit is contained in:
@@ -26,118 +26,107 @@
|
||||
# OpenClaw架构构思
|
||||
https://clawhub.ai/ Skill推荐:
|
||||
- Common
|
||||
- [x] ***find-skills***:在20万+Skills里自动找到所需工具。
|
||||
- [x] ***find-skills***:在20万+Skills里自动找到所需工具。 #导航员
|
||||
- [x] skill-creator:把你的工作流打包成可复用能力。 #工厂
|
||||
- [x] ***self-improving-agent***: 记录经验教训、错误和纠正措施,以实现持续改进。
|
||||
- [x] Summarize:使用 summarize CLI 对 URL 或文件进行汇总(网页、PDF、图像、音频、YouTube)。
|
||||
- [ ] 文档类
|
||||
- [ ] pdf-pro:合并、拆分、提取复杂PDF,无手动头疼。 #文档专家
|
||||
- 文档类
|
||||
- [x] pdf:合并、拆分、提取复杂PDF,无手动头疼。 #文档专家
|
||||
- [x] pptx:生成完整专业幻灯片,再也不用移动文本框。 #演示专家
|
||||
- [x] docx:创建结构化Word文档,直接用于官方用途。 #文书
|
||||
- [x] xlsx:带复杂公式和图表的Excel文件。 #数据分析师
|
||||
- 搜索相关
|
||||
- [x] GitHub 官方 MCP:claude mcp add github -- npx -y @modelcontextprotocol/server-github
|
||||
- [x] 搜索引擎类:输出的结果质量以及Token消耗量都不理想。
|
||||
- jina-reader:
|
||||
- https://clawhub.ai/ericsantos/jina-reader
|
||||
- https://skills.sh/sundial-org/awesome-openclaw-skills/jina-reader
|
||||
- Tavily
|
||||
- https://skills.sh/tavily-ai/skills/search: `npx skills add https://github.com/tavily-ai/skills --skill search`
|
||||
- https://skills.sh/tavily-ai/skills/research: `npx skills add https://github.com/tavily-ai/skills --skill research`
|
||||
- https://skills.sh/tavily-ai/skills/extract: `npx skills add https://github.com/tavily-ai/skills --skill extract`
|
||||
- https://skills.sh/veithly/tavily-search/tavily-search: `npx skills add https://github.com/veithly/tavily-search --skill tavily-search`
|
||||
- 编程类
|
||||
- [x] ***using-superpowers***:强制Agent真正发挥高级能力。 #优化器
|
||||
- [x] **acpx**:外部工具桥接器,可以用来控制ClaudeCode等编程工具,还需要额外配置。 #编程
|
||||
## Agent & Memory
|
||||
在默认工作区可以到以下文件,这些都是Agent提示词的主程部分:
|
||||
|
||||
| **文件名** | **角色定位** | **详细作用描述** |
|
||||
| ---------------- | ------------- | --------------------------------------------------------- |
|
||||
| **Bootstrap.md** | **引导程序/总纲** | 整个系统的入口。它负责协调其他模块,定义系统初始化的逻辑,并告诉 LLM 如何“读取”这一系列文件。 |
|
||||
| **SYSTEM.md** | **物理规则/底层协议** | 定义 AI 的基本运行准则。包含技术约束、输出格式要求(如必须使用 JSON)、安全边界和思考框架。 |
|
||||
| **IDENTITY.md** | **身份设定** | 定义“我是谁”。包含姓名、职业背景、专业领域和语气风格(Tone of Voice)。这是 AI 表层人格的来源。 |
|
||||
| **SOUL.md** | **核心价值观/灵魂** | 定义“我的底层逻辑”。包含道德准则、动机、偏好、情绪反应模型以及对待冲突的态度。它比 Identity 更深层。 |
|
||||
| **USER.md** | **用户画像/上下文** | 记录“你是谁”。包含用户偏好、当前任务背景、历史互动关键点。确保 AI 的响应具有针对性。 |
|
||||
| **TOOLS.md** | **能力清单/技能树** | 定义 AI 可以调用的外部函数或工具(如搜索、绘图、计算)。明确调用参数和返回格式。 |
|
||||
| **AGENTS.md** | **协作协议** | 定义多智能体协作逻辑。如果 AI 需要召唤“副手”或与其他代理交互,这里规定了沟通协议。 |
|
||||
| 文件 | 用途 | 加载时机 | 子 Agent 可见? |
|
||||
| ---------------------- | ------------------------------------- | ----------------------- | ----------- |
|
||||
| `AGENTS.md` | 启动序列、操作清单、行为规则 | 每次轮次(所有 Agent) | 是 |
|
||||
| `SOUL.md` | 人格、语气、价值观、连续性哲学 | 每次轮次(所有 Agent) | 是 |
|
||||
| `TOOLS.md` | 环境特定信息(SSH、TTS、摄像头、设备) | 每次轮次(主 Agent + 子 Agent) | 是 |
|
||||
| `USER.md` | 用户画像、偏好、关系背景 | 每次轮次(仅主会话) | 否 |
|
||||
| `IDENTITY.md` | 名称、Emoji、头像、自我描述 | 每次轮次 | 是 |
|
||||
| `HEARTBEAT.md` | 周期性检查任务和健康例程 | 每次心跳轮次 | 视情况而定 |
|
||||
| `BOOT.md` | 启动时执行的操作(需要 `hooks.internal.enabled`) | 网关启动时 | 否 |
|
||||
| `BOOTSTRAP.md` | 首次初始化脚本——用完即删 | 仅新工作区 | 否 |
|
||||
| `MEMORY.md` | 长期精华事实与铁律规则 | 仅主会话 | **永不** |
|
||||
| `memory/YYYY-MM-DD.md` | 每日会话日志 | 按 AGENTS.md 启动序列加载 | 否 |
|
||||
| `checklists/*.md` | 高风险操作的逐步指南 | 按需加载(从 AGENTS.md 引用) | 否 |
|
||||
### 各文件详解
|
||||
#### AGENTS.md — 操作手册
|
||||
这是每次会话中最先塑造 Agent 行为的文件(基础系统提示词之后)。它包含:
|
||||
- **启动序列**:有序列出需要在会话开始时读取的文件(SOUL → USER → MEMORY → 日志)
|
||||
- **清单路由表**:高风险操作 → 对应清单文件路径的映射
|
||||
- **安全规则**:哪些操作需要确认、哪些可以自主执行
|
||||
- **群聊规则**:在群聊中不应分享什么
|
||||
|
||||
**注意**:AGENTS.md 是规程文件,不是身份文件。人格和价值观属于 SOUL.md。
|
||||
|
||||
#### SOUL.md — 灵魂
|
||||
用第二人称书写("你不是一个聊天机器人,你正在成为某个人"),Agent 读取后将其内化为自我描述。
|
||||
包含:核心价值观、边界与底线、语气风格、关于连续性的哲学(每次会话都是全新开始,工作区文件就是记忆)。
|
||||
|
||||
#### TOOLS.md — 本地环境备忘录
|
||||
这是工作区中最容易被误用的文件。它应该是**当前机器的环境专属速查表**:SSH 主机、TTS 声音 ID、摄像头设备名称等。
|
||||
子 Agent 也会收到此文件——这是它们唯一的环境知识来源。请保持简洁,50 行以内为佳。
|
||||
|
||||
#### USER.md — 用户画像
|
||||
包含影响每次对话的人物相关事实:姓名、时区、语言偏好、沟通风格。
|
||||
仅在主会话中加载——绝不在群聊或子 Agent 会话中加载。
|
||||
|
||||
#### MEMORY.md — 铁律规则
|
||||
只保存"遗忘了就会出严重问题"的规则。每条规则要短且原子化,具有明确的行动指导意义。
|
||||
定期精炼(每月一次)。已经几个月没有出过问题的规则,可以考虑迁移到技能的 `SKILL.md` 文件中(更合适的归宿)。
|
||||
|
||||
#### checklists / * .md — 操作清单
|
||||
高风险操作(部署、网关重启、配置变更)的逐步指南。Agent 执行操作前主动读取对应清单。
|
||||
**正确模式** :AGENTS.md 只保留一行路由表条目,完整清单放在 `checklists/` 目录中(按需加载,不占用每轮 Token 预算)。
|
||||
---
|
||||
|
||||
## 2. 调用逻辑与顺序
|
||||
|
||||
|
||||
|
||||
**逻辑顺序如下:**
|
||||
1. **加载 `Bootstrap.md`**:确定系统引导协议,LLM 开始意识到自己是一个遵循 OpenClaw 协议的 Agent。
|
||||
2. **注入 `SYSTEM.md`**:建立底层规则。在产生任何性格之前,必须先确定“不能做什么”和“必须怎么思考”。
|
||||
3. **构建 `IDENTITY.md` 与 `SOUL.md`**:赋予生命力。LLM 此时从“纯粹的工具”转变为“具备特定性格的专家”。
|
||||
4. **读取 `USER.md`**:注入外部变量。AI 了解了交互对象,调整自己的姿态。
|
||||
5. **激活 `TOOLS.md` 与 `AGENTS.md`**:最后加载执行层。当 AI 明确了身份和规则后,再根据需要调用具体的手段。
|
||||
|
||||
|
||||
|
||||
1. Bootstrap 文件注入(新会话首个 turn)
|
||||
### 2. 调用逻辑与顺序
|
||||
按优先级读取顺序:
|
||||
AGENTS.md → SOUL.md → TOOLS.md → IDENTITY.md → USER.md
|
||||
|
||||
|
||||
|
||||
|
||||
2️⃣ 记忆文件读取
|
||||
• MEMORY.md — 长期记忆(仅私聊会话加载,群聊不加载)
|
||||
• memory/今天.md + memory/昨天.md — 日志(会话开始时读取)
|
||||
|
||||
3️⃣ Skill 加载(SKILL.md 注入)
|
||||
#### Skill 加载(SKILL.md 注入)
|
||||
三个来源,优先级从高到低:
|
||||
① < workspace >/skills(agent 独有)
|
||||
② ~/.openclaw/skills(全局共享)
|
||||
③ bundled skills(内置)
|
||||
同名 skill 高优先级覆盖低优先级
|
||||
|
||||
|
||||
|
||||
4️⃣ 会话历史
|
||||
已有的对话上下文(JSONL 存储)
|
||||
|
||||
|
||||
|
||||
5️⃣ 语义搜索(按需)
|
||||
agent 调用 memory_search 时,向量检索 MEMORY.md + memory/* .md
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
💡 建议:
|
||||
|
||||
#### 建议:
|
||||
如果你想把记忆用法精炼,推荐这样分层:
|
||||
|
||||
|
||||
|
||||
1. 通用行为规范 → AGENTS.md / SOUL.md(所有会话都加载)
|
||||
|
||||
2. 工具使用指南 → Skill 的 SKILL.md(按需触发加载)
|
||||
|
||||
3. 持久事实/偏好 → MEMORY.md(长期记忆)
|
||||
|
||||
4. 需要代码逻辑的 → Plugin(如自动 Token 管理、MCP 代理)
|
||||
|
||||
|
||||
|
||||
以 Redmine 为例的最佳实践:
|
||||
|
||||
• Skill:SKILL.md 写"怎么调用、什么时候触发、参数格式"
|
||||
|
||||
• Plugin:如果要做自动 Token 刷新、webhook 监听等,写成 Plugin
|
||||
|
||||
• MEMORY.md:只存"loujiajie 有权限的项目是 H78"这种事实
|
||||
|
||||
|
||||
|
||||
不建议把所有东西都塞进 MEMORY.md,
|
||||
### EmbeddingModel
|
||||
|
||||
|
||||
### 记忆移植方法
|
||||
|
||||
### 将记忆移植到Skill
|
||||
【Skill】= 教 agent "怎么做某件事"
|
||||
|
||||
• 本质是 SKILL.md(Markdown 指令)+ 可选脚本
|
||||
|
||||
• 注入到 agent 的上下文中,agent 按指令执行
|
||||
|
||||
• 适合:工具使用说明、操作流程、触发规则
|
||||
|
||||
• 例:RedmineSkill 告诉 agent 如何调用 MCP 查工单
|
||||
## Muti-Agent
|
||||
按照日常功能分出几个额外Agent,并让他们使用不同的Workspace。
|
||||
|
||||
Reference in New Issue
Block a user