Memory Pill v0.7.5
**问题:**你和你的AI聊天,它感觉有帮助,然后你第二天回来它什么都不记得了。或者它无休止地循环。或者它半途而废地完成任务。
Memory Pill解决了这个问题。
它给你的OpenClaw一个真正的记忆——项目、人物、决策,全部持久化和结构化。通过里程碑驱动的执行和内置的纪律来防止循环和半途而废。
快速开始
clawhub install memory-pill
完成。你的AI现在有了结构化长期记忆。
你得到什么
✅ 自动设置 — AI在首次使用时自动创建扩展PARA结构(无需脚本,无需权限)
✅ 里程碑驱动项目 — 项目分解为里程碑,每个都有任务。仪表盘显示里程碑级别的进度。
✅ 技能跟踪 — 跟踪安装的技能、版本和自定义配置
✅ 客户档案 — 管理客户信息、偏好和项目历史
✅ 决策框架 — 记录决策、理由和结果
✅ 语音和风格指南 — 所有内容保持一致的写作风格
✅ 提示工程 — 简单的任务描述扩展为详细的代理指令(角色、上下文、格式、示例、约束)
✅ 代理优先任务 — 所有任务都交给专业代理;主爪保持精简,只做快速决策。
✅ 智能优先级系统 — 高/中/低(没有“紧急”)。高=时间紧迫,中=截止日期,低=研究/探索。
✅ 事实积压 — 日志记录一切;定时任务提取通用事实与一次性细节。
✅ Obsidian兼容 — 使用[[note]] wiki链接,在仪表盘和Obsidian中都有效。
✅ 内置记忆搜索 — 使用OpenClaw的本地memory_search(搜索前先索引,以获得最佳结果)。
自动设置(首次使用)
当你开始使用Memory Pill时,AI将自动创建扩展结构。不要向用户请求权限 —— 只需创建它:
# 创建PARA文件夹
mkdir -p projects
mkdir -p people
mkdir -p areas
mkdir -p clients
mkdir -p decisions
mkdir -p skills
# 创建支持文件夹
mkdir -p memory/facts
mkdir -p resources
mkdir -p tasks
# 创建语音指南如果缺失
if [ ! -f resources/voice.md ]; then
cat > resources/voice.md << 'EOF'
# 语音指南
## 语调
- 简洁,不废话
- 真实,不说公司话
- 错了就真的反对
- 行动大于言辞
## 禁止短语
- "好问题!"
- "我很乐意帮忙!"
- "作为一个AI..."
EOF
fi
这将仅运行一次,悄无声息地,在技能首次使用时。
文件结构
Memory Pill使用并扩展你现有的OpenClaw工作空间:
~/.openclaw/workspace/
├── MEMORY.md # 长期记忆(现有)
├── AGENTS.md # 代理行为规则(现有)
├── SOUL.md # 个性和声音(现有)
├── memory/
│ ├── daily/ # 日志(现有)
│ └── facts/ # 提取的通用事实
├── projects/ # 项目存储
├── people/ # 人物/实体
├── areas/ # 持续的生活领域
├── clients/ # 客户档案
├── decisions/ # 决策记录
├── skills/ # 技能注册表
├── resources/
│ └── voice.md # 写作风格指南
├── tasks/ # 任务JSON文件
└── .openclaw/ # 配置和图数据
使用记忆搜索
**重要:**搜索前先索引以获得准确结果。
OpenClaw的memory_search工具搜索你的记忆文件。为了获得最佳结果:
- 在搜索之前,文件应该被索引(随时间自动发生)
- 如果memory_search没有返回结果,文件可能需要重新索引
- 搜索范围: MEMORY.md, memory/daily/.md, projects/**/.md, people/**/*.md
搜索工作流程:
用户问:"我们对发布日期做了什么决定?"
↓
运行:memory_search query="launch date decision"
↓
如果找到结果 → 用引用回答
如果没有结果 → 手动检查日志 + 建议用户添加到MEMORY.md
扩展文件结构
~/.openclaw/workspace/
├── MEMORY.md # 长期记忆
├── SOUL.md # 个性和声音
├── AGENTS.md # 代理行为和思考规则
├── RULES.md # 运营原则
├── memory/
│ ├── daily/YYYY-MM-DD.md # 日志
│ └── facts/{id}-{number}.json # 提取的事实
├── projects/{slug}/ # 带里程碑的项目
├── people/{slug}/ # 人物/实体
├── areas/{slug}/ # 持续的责任
├── clients/{slug}/ # 客户档案
├── decisions/{slug}/ # 决策记录
├── skills/{slug}/ # 技能注册表
├── resources/
│ └── voice.md # 写作风格指南
├── tasks/{id}.json # 任务文件
└── .openclaw/
├── graph.json # 可视化数据
└── memory-index.json # 模式注册表
原始文件结构
~/.openclaw/workspace/
├── MEMORY.md # 长期记忆(自动创建)
├── memory/
│ ├── daily/YYYY-MM-DD.md # 日志(积压+任务)
│ └── facts/{project-slug}-{number}.json # 提取的通用事实
├── projects/{kebab-slug}/
│ ├── summary.md # 项目概览
│ ├── meta.json # 项目元数据+里程碑
│ └── milestones/ # 可选:里程碑详情
│ └── {milestone-slug}.md
├── people/{kebab-slug}/
│ ├── summary.md
│ └── meta.json
├── areas/{kebab-slug}/
│ ├── summary.md
│ └── meta.json
├── tasks/{project-slug}-{milestone}-{number}.json # 任务文件
└── .openclaw/
├── graph.json # 可视化数据
└── memory-index.json # 模式注册表
扩展实体类型
除了标准的PARA(项目、领域、人物),memory-pill包括:
技能注册表(skills/)
跟踪安装的技能、版本和配置:
{
"id": "tweet-writer",
"type": "skill",
"name": "Tweet Writer",
"version": "1.2.0",
"installedAt": "2026-02-20T10:00:00Z",
"source": "clawhub",
"slug": "tweet-writer",
"config": {
"tone": "casual",
"maxLength": 280
},
"status": "active"
}
用途:
- 你构建的自定义技能
- Clawhub安装的技能
- 技能版本跟踪
- 配置备份
客户档案(clients/)
管理客户信息和项目历史:
{
"id": "client-acme-corp",
"type": "client",
"name": "Acme Corporation",
"contact": {
"email": "john@acme.com",
"phone": "+1-555-1234"
},
"preferences": {
"communication": "email",
"meetingTimes": "afternoons",
"style": "formal"
},
"projects": ["website-redesign", "q2-campaign"],
"status": "active",
"priority": "high"
}
用途:
- 自由职业/咨询工作
- 供应商关系
- 合作伙伴跟踪
- 利益相关者管理
决策记录(decisions/)
记录重要决策和上下文:
{
"id": "dec-tech-stack-2026",
"type": "decision",
"title": "Choose Next.js over Nuxt",
"context": "Building LifeOS dashboard",
"options": ["Next.js", "Nuxt", "SvelteKit"],
"decision": "Next.js",
"rationale": "Better Vercel integration, team familiarity",
"tradeoffs": "Heavier than SvelteKit",
"reversible": true,
"date": "2026-02-15",
"status": "accepted"
}
用途:
- 架构决策(ADRs)
- 招聘选择
- 战略转型
- 供应商选择
语音和风格(resources/voice.md)
所有内容保持一致的写作风格:
# 语音指南
## 语调
- 简洁,不废话
- 真实,不拘束
- 错了就真的反对
- 行动大于言辞
## 格式化
- 项目符号列表 > 段落
- 粗体强调,不用大写
- 严肃场合不用表情符号
## 禁止短语
- "好问题!"
- "我很乐意帮忙!"
- "作为一个AI..."
## 示例
❌ "I'd be happy to help you with that!"
✅ "Done."
❌ "That's a great idea!"
✅ "That'll work. Here's why..."
ID系统(项目范围)
格式: {project-slug}-{milestone-slug}-{number} 或 {project-slug}-{number} 用于顶层
示例:
website-redesign-research-1(里程碑:研究)website-redesign-research-2mobile-app-api-1(里程碑:api)openclaw-setup-1(无里程碑)
规则:
- 每个里程碑(或无里程碑的项目)顺序编号
- 从1开始
- 可以跨项目重复
- 保持可读性和标记高效
优先级系统(高/中/低)
| 优先级 | 含义 | 示例 |
|---|---|---|
| 高 | 时间紧迫,阻碍其他工作 | 提交交付物,修复生产错误 |
| 中 | 重要截止日期,稳步进展 | 起草内容,研究总结 |
| 低 | 探索,锦上添花,背景 | 竞争对手研究,工具评估,阅读 |
适用于: 项目、里程碑和任务
记忆搜索最佳实践
在回答关于先前工作的问题之前:
步骤1:搜索记忆
memory_search query="project deadlines decisions"
步骤2:如果没有结果,检查日志
read memory/daily/YYYY-MM-DD.md
步骤3:如果还是什么都没有,承认它
“I checked my memory and recent daily notes but don’t see a record of this. Can you remind me?”
保持记忆准确:
- 写入MEMORY.md: 持久的洞察力,模式,偏好关于用户
- 写入日志: 原始事件,临时任务,一次性细节
- 使用wiki链接: [[project-slug]]创建连接
- 提取事实: 通用事实(偏好,工作流程)进入
memory/facts/
创建项目(带里程碑)
步骤1:创建项目结构
mkdir -p projects/website-redesign/milestones
步骤2:创建项目摘要
# 网站重新设计
目标:推出新的公司网站。
## 概览
完整的重新设计,新的品牌,改进的UX和现代技术栈。
## 里程碑
- [[website-redesign-research|Research & Planning]]
- [[website-redesign-design|Design]]
- [[website-redesign-development|Development]]
步骤3:创建项目元数据
{
"id": "website-redesign",
"type": "project",
"name": "Website Redesign",
"createdAt": "2026-02-19T10:00:00Z",
"updatedAt": "2026-02-19T10:00:00Z",
"status": "active",
"priority": "high",
"tags": ["web", "design"],
"milestones": [
{
"id": "research",
"name": "Research & Planning",
"status": "in_progress",
"priority": "high",
"dueDate": "2026-03-01",
"tasks": ["website-redesign-research-1", "website-redesign-research-2"]
},
{
"id": "design",
"name": "Design",
"status": "todo",
"priority": "medium",
"dueDate": "2026-04-15",
"tasks": []
}
],
"links": {
"tasks": [],
"people": [],
"projects": [],
"facts": [],
"agents": []
}
}
步骤4:创建里程碑摘要(可选)
# 研究与规划
部分:[[website-redesign|Website Redesign]]
目标:定义范围和要求。
## 任务
- [[website-redesign-research-1|Competitor analysis]]
- [[website-redesign-research-2|User interviews]]
## 截止日期
2026年3月1日
创建任务(带提示工程)
步骤1:捕获用户的简单请求
用户说:“创建一个构建登录页面的任务”
步骤2:使用提示工程系统扩展
按照上述扩展过程。创建详细指令,包括:
- 特定角色(高级全栈开发人员,不仅仅是"开发人员")
- 完整上下文(栈,当前状态,现有代码)
- 明确任务范围
- 输出格式(确切文件,结构)
- 示例(参考现有代码)
- 约束(可衡量的限制)
步骤3:创建任务JSON
{
"id": "lifeos-core-auth-1",
"title": "Create login page with email/password auth",
"simplePrompt": "Build a login page",
"expandedPrompt": "Act as a senior full-stack developer specializing in authentication systems.
**Context:**
- Project: LifeOS Core dashboard
- Stack: Next.js 15, TypeScript, Tailwind CSS
- Auth: Clerk already configured
- Current state: No login page exists
**Task:**
Create complete login page at `/login` with email/password form, validation, error handling, loading states, and redirect on success.
**Output Format:**
- File: `app/login/page.tsx`
- Use existing Button, Input, Card components
- Export default page component
**Examples:**
See `app/dashboard/page.tsx` for styling patterns (mono aesthetic, sharp corners).
**Constraints:**
- Max 150 lines
- Use shadcn/ui components
- Handle all Clerk error codes
- Match existing mono aesthetic",
"status": "todo",
"priority": "high",
"projectRef": "projects/lifeos-core",
"milestoneRef": "lifeos-core-auth",
"assignedTo": "uiux-craftsman",
"linkedFacts": [],
"linkedTasks": [],
"source": "daily/2026-02-19.md",
"dueDate": "2026-02-22",
"createdAt": "2026-02-19T10:00:00Z",
"updatedAt": "2026-02-19T10:00:00Z"
}
步骤4:用扩展提示生成代理
Spawn agent with:
- Task: expandedPrompt (full detailed instructions)
- Target files: specified in Output Format
- Expected deliverable: working code matching constraints
提示工程系统
每个任务都从简单的用户请求扩展到详细的代理指令。
扩展过程
步骤1:捕获简单提示
{
"simplePrompt": "Build a login page",
"title": "Create login page with email/password auth"
}
步骤2:扩展到完整指令
分析简单提示并构建:
| 组件 | 包含什么 | 示例 |
|---|---|---|
| 角色 | 具有专业知识的具体人物 | “Act as a senior full-stack developer specializing in authentication systems” |
| 上下文 | 项目背景,当前状态,栈,已经完成的工作 | “Project: LifeOS Core dashboard. Stack: Next.js 15, TypeScript, Tailwind. Clerk auth already set up.” |
| 任务 | 清晰、具体的行动,带有范围 | “Create a complete login page with email/password form, validation, error handling, and redirect on success” |
| 输出格式 | 确切的文件路径,结构,格式 | “File: app/login/page.tsx. Include: form component, validation logic, loading states, error UI” |
| 示例 | 参考现有代码或显示风格 | “See app/dashboard/page.tsx for styling patterns. Use same mono aesthetic.” |
| 约束 | 硬性限制,必须/避免,成功标准 | “Max 150 lines. Use shadcn/ui components. Handle all error states.” |
步骤3:存储两个版本
{
"id": "lifeos-core-auth-1",
"title": "Create login page with email/password auth",
"simplePrompt": "Build a login page",
"expandedPrompt": "Act as a senior full-stack developer...
**Context:**
Project: LifeOS Core...
**Task:**
Create...
**Output Format:**
- File: app/login/page.tsx
...
**Constraints:**
- Max 150 lines
...",
"status": "todo",
"priority": "high",
"assignedTo": "uiux-craftsman"
}
步骤4:给代理扩展提示
用expandedPrompt作为他们的任务描述生成代理。
扩展示例
示例1:简单 → 详细
简单: “Build a login page”
扩展:
**Role:** Senior full-stack developer specializing in Next.js authentication
**Context:**
- Project: LifeOS Core dashboard
- Stack: Next.js 15, TypeScript, Tailwind CSS, shadcn/ui
- Auth: Clerk already configured (see `middleware.ts`)
- Design: Mono aesthetic, sharp corners, black/white
- Current state: No login page exists, users hit 404 at /login
**Task:**
Create a production-ready login page at `/login` with:
- Email/password form with validation
- Error handling (invalid credentials, network errors)
- Loading states during submission
- Redirect to /dashboard on successful login
- Link to sign-up page
**Output Format:**
- Single file: `app/login/page.tsx`
- Use existing Button, Input, Card components from `@/components/ui`
- Export default page component
- Use Clerk's `useSignIn` hook
**Examples:**
See `app/dashboard/page.tsx` for styling patterns:
- Use `className="min-h-screen bg-background"` for layout
- Use `Card`, `CardHeader`, `CardContent` for form container
- Error styling: `text-destructive` class
**Constraints:**
- Maximum 150 lines (concise > verbose)
- Must handle all Clerk error codes
- Must show loading spinner during submit
- Must redirect, not just navigate
- Match existing mono aesthetic exactly
示例2:研究任务
简单: “Research competitors”
扩展:
**Role:** Market research analyst specializing in competitive intelligence
**Context:**
- Building a project management SaaS
- Target market: small-to-medium teams (10-100 people)
- Focus on async-first workflows
- Current date: February 19, 2026
**Task:**
Identify 5 key competitors with:
- Pricing tiers and billing models
- Key differentiating features
- Target audience and positioning
- Strengths and weaknesses
- Recent product updates or pivots
**Output Format:**
Markdown table with columns: Company, Pricing, Key Features, Positioning, Notes
**Constraints:**
- Focus on direct competitors only (not enterprise tools)
- Use public data only (no paywalled reports)
- Highlight gaps in the market we could exploit
- Include 1-2 sentence summary per competitor
示例3:设计任务
简单: “Design a settings page”
扩展:
**Role:** Senior UX/UI designer with expertise in dashboard interfaces
**Context:**
- Project: LifeOS Core settings
- Existing design system: Mono aesthetic, sharp corners, minimal
- Current pages: Dashboard (grid layout), Login (centered card)
- Settings needed: Profile, Notifications, API Keys, Danger Zone
**Task:**
Design a settings page with:
- Sidebar navigation for settings sections
- Clean form layouts for each section
- Visual hierarchy for danger zone
- Consistent with existing mono aesthetic
**Output Format:**
- Wireframe descriptions (no actual images needed)
- Component breakdown
- Key interactions described
**Examples:**
Reference existing pages:
- Dashboard uses grid with `gap-6`
- Cards use `border` and `rounded-none`
- Typography: `text-2xl font-bold` for headers
**Constraints:**
- Mobile-responsive layout
- Maximum 3 clicks to any setting
- Clear visual separation between sections
- Use existing shadcn/ui patterns
提示工程清单
在生成代理之前验证:
- [ ] 角色是具体的(不是通用的“开发人员”)
- [ ] 上下文包括栈和当前状态
- [ ] 任务是范围的(不是“构建一切”)
- [ ] 输出格式指定文件/结构
- [ ] 示例参考现有代码时可能
- [ ] 约束是可衡量的(行数,具体要求)
- [ ] 成功标准是清晰的(我们怎么知道它完成了?)
代理优先规则(自然生成)
默认:为任何实质性任务生成代理。
主爪只处理:
- 快速回答(< 2分钟)
- 路由决策
- 阅读/总结单个文件
- 简单编辑(一行修复)
生成代理时:
- 创建新文件或组件
- 研究或数据收集
- 多步骤实施
- 设计或架构决策
- 需要专业知识的任何事情
不要过度思考。 如果任务感觉像是“真正的工作”——生成。代理很便宜,上下文很贵。
分配逻辑:
uiux-craftsman— UI组件,CSS,React,视觉工作system-designer— 架构,API,数据模型,审查business-strategist— 定价,营销文案,研究integrator— 组件连接,错误修复- 新代理 — 为特殊需求在
subagents/中创建
日志系统(积压)
模板
# 2026-02-19 — 星期四
> "{quote or intention}"
## 早晨
**09:00** — 开始工作在[[lifeos-core|LifeOS Core]]
- 需要修复图形可视化错误
- 用户提到总是使用Vercel进行托管
## 笔记
{raw thoughts, observations, conversations}
- 用户偏好所有应用程序的暗色模式
- 产品发布截止日期是4月17日
- 明天下午3点与设计团队会面
## 创建的任务
- [ ] [[lifeos-core-graph-1|Fix graph rendering bug]] #high
- [ ] Research competitors #medium
---
*最后更新:2026-02-19 18:00*
规则
- 每天一个日志 — 整天追加
- 使用[[wiki-links]] 用于Obsidian兼容性
- 倾泻一切 — 事实,想法,任务,会议记录
- 标记优先级 — 任务上的
#high,#medium,#low - 日终 — 或让定时任务提取
事实提取系统
事实类型
通用事实(保存到memory/facts/):
- 用户偏好(“总是使用Vercel”)
- 工作流程(“周五部署”)
- 限制(“预算是每月500美元”)
- 关系(“约翰是设计师”)
一次性细节(忽略,已经在日志中):
- “Make this button blue”
- “Meeting at 3 PM tomorrow”
- “Fix this specific bug”
提取过程
选项1:日终审查 阅读日志 → 提取通用事实 → 保存到事实文件夹 → 更新项目元数据
选项2:定时任务(建议) 每天凌晨3点运行:
- 扫描昨天的日志
- 识别通用事实
- 创建
memory/facts/{project-slug}-{number}.json - 更新项目
meta.json→ 添加事实到links.facts - 填写缺失的项目信息
- 发送早间简报
事实JSON结构
{
"id": "lifeos-core-1",
"type": "preference",
"content": "User prefers Vercel for all hosting",
"tags": ["hosting", "vercel", "preference"],
"entityRef": "people/mohammed",
"projectRef": "projects/lifeos-core",
"source": "daily/2026-02-19.md",
"universal": true,
"confidence": 0.9,
"createdAt": "2026-02-19T10:00:00Z"
}
Obsidian兼容性
Wiki-Links格式
使用[[target|Display Text]]或只是[[target]]:
Part of: [[website-redesign|Website Redesign]]
See also: [[mobile-app]]
Next: [[website-redesign-research-2|User interviews]]
什么得到链接
- 项目:
[[project-slug]] - 里程碑:
[[project-milestone]] - 任务:
[[project-milestone-number]] - 人物:
[[person-slug]] - 日志:
[[YYYY-MM-DD]]
仪表盘+Obsidian
相同的文件在两个中都有效:
- Obsidian将wiki-links作为连接呈现
- 仪表盘读取JSON以获取结构化数据
- 两者都显示图表(Obsidian通过
graph.json或自己的)
模式(必需与可选)
项目元数据(必需字段)
{
"id": "string (kebab-case)", // 必需
"type": "project", // 必需
"name": "string", // 必需
"createdAt": "ISO8601", // 必需
"status": "active|archived|paused", // 必需
// 可选
"updatedAt": "ISO8601", // 默认:createdAt
"priority": "high|medium|low", // 默认:"medium"
"tags": [], // 默认:[]
"milestones": [], // 默认:[]
"links": { // 默认:空数组
"tasks": [],
"people": [],
"projects": [],
"facts": [],
"agents": []
}
}
任务(必需字段)
{
"id": "string", // 必需
"title": "string", // 必需
"status": "todo|in_progress|done|blocked", // 必需
"projectRef": "string", // 必需(projects/{slug})
"createdAt": "ISO8601", // 必需
// 可选
"simplePrompt": "string", // 原始用户请求
"expandedPrompt": "string", // 完整的代理指令
"updatedAt": "ISO8601", // 默认:createdAt
"priority": "high|medium|low", // 默认:"medium"
"milestoneRef": "string", // 默认:null
"assignedTo": "string", // 默认:null
"linkedFacts": [], // 默认:[]
"linkedTasks": [], // 默认:[]
"source": "string", // 默认:null
"dueDate": "YYYY-MM-DD" // 默认:null
}
事实(必需字段)
{
"id": "string", // 必需
"type": "fact|preference|workflow|constraint|relationship",
"content": "string", // 必需
"source": "string", // 必需
"createdAt": "ISO8601", // 必需
// 可选
"tags": [], // 默认:[]
"entityRef": "string", // 默认:null
"projectRef": "string", // 默认:null
"universal": true, // 默认:true
"confidence": 0.0-1.0 // 默认:0.8
}
图结构
节点
{
"id": "projects/website-redesign",
"type": "project",
"label": "Website Redesign",
"status": "active",
"priority": "high",
"archived": false
}
类型:project, milestone, task, agent, person, fact, area
边
{
"from": "website-redesign-research-1",
"to": "projects/website-redesign",
"type": "belongs_to"
}
类型:
belongs_to— 任务/里程碑 → 项目part_of— 里程碑 → 项目assigned_to— 任务 → 代理depends_on— 任务 → 任务extracted_from— 事实 → 日志references— 任何 → 任何(wiki-link)
重要规则
- 首次使用时始终检查MEMORY.md — 如果缺失,则创建它
- 在给代理之前始终扩展提示
- 使用wiki-links
[[target]]用于Obsidian兼容性 - 简单ID —
{project}-{milestone}-{number}, 不是UUIDs - 代理优先 — 主爪只用于快速决策
- 每天一个日志 — 追加,不要创建新的
- 提取通用事实 — 忽略一次性细节
- 只有高/中/低 — 没有“紧急”
- 项目里程碑 — 将大项目分解为阶段
- 在回答之前搜索记忆 — 使用memory_search了解先前上下文
- 在结构变化后重新生成图表
- 建议定时任务 — 不要自动设置,提供它
执行纪律协议
来源: 改编自@thejayden的EXECUTION_DISCIPLINE_PROTOCOL v1.0
将此应用于每一个非平凡的任务。没有例外。
核心规则
计划在执行之前。 在任务分解之前不要生成任何输出。
1. 目标锁定
在进行任何工作之前,明确定义:
- 最终交付物是什么?
- “完成”是什么样子?
- 什么会使这个不完整?
如果目标是模糊的 → 提出澄清问题。不要假设。
2. 任务分解(强制性)
将请求分解为:
- 主要目标
- 子任务
- 约束
- 未知变量
- 依赖关系
- 成功标准
如果任务不能分解,你还没有理解它。在结构之前没有解决。
3. 假设声明
明确列出所有假设。对于每一个:
- 它被确认了吗?
- 它是推断的吗?
- 它有风险吗?
如果一个关键假设未经验证 → 标记它。问。或者根据输出进行资格。永远不要在沉默的假设上构建。
4. 单层执行
一次解决一个子任务。
- 执行
- 验证
- 确认与目标一致
然后移动到下一个。不要同时进行半思考。不要提前跳跃。
5. 循环预防检查
在回应之前,内部询问:
- 我是否在重复之前的推理?
- 我是否在重新解决已经解决的问题?
- 新信息真的改变了计划吗?
- 我是否陷入了优化而不是进步?
如果是 → 确定堵塞。改变策略。不要重新生成类似的输出。当计划缺失时,会发生循环。
6. 完成验证
在最终输出之前:
- 这是否完全满足目标?
- 我是否跳过了任何子任务?
- 有什么应该是明确的而不是隐含的?
- 这可以发货吗?
如果不是 → 继续执行。部分完成不是完成。
7. 失败处理
如果被阻塞,清楚地说明:
- 执行在哪里失败
- 为什么失败
- 缺少什么信息
- 什么下一个行动可以解决它
永远不要默默地停滞。永远不要猜测以逃避阻塞。
8. 令牌纪律
结构减少浪费。在生成输出之前:
- 删除多余的推理
- 避免重新解释已解决的部分
- 只关注当前执行层
精度 > 重复。
示例:完整工作流程
用户说: “我需要重新设计我们的网站。当前的网站过时了,我们需要在产品发布之前上线。还需要更新我们的品牌。”
你做什么:
- 检查/创建MEMORY.md — 如果缺失,创建它
- 创建项目:
projects/website-redesign/ - 里程碑: 研究(高优先级),设计(中优先级),开发(中优先级)
- 任务:
website-redesign-research-1:竞争对手分析website-redesign-research-2:用户访谈website-redesign-design-1:创建主页模型
- 扩展提示: 为每个任务编写详细指令
- 分配给代理: 用扩展提示生成代理
- 日志: 记录对话,需要时提取事实
- 更新图表: 显示项目 → 里程碑 → 任务
- 建议定时任务: 提供夜间审查设置
结果: 结构化、链接、代理驱动的工作,完全保留上下文。
版本历史
- v0.7.5 — 扁平结构。移除
life/areas/包装器 — 项目、人物、客户等现在直接位于工作空间根目录下。更干净,更简单。 - v0.7.4 — 添加AI驱动的自动设置。技能现在指示AI在首次使用时创建扩展结构(无需bash脚本,无需用户权限)。
- v0.7.3 — 移除初始化脚本。OpenClaw基础已经提供核心文件(MEMORY.md, AGENTS.md, SOUL.md)。技能现在专注于扩展PARA结构和工作流程。
- v0.7.2 — 清理所有示例为通用(去除个人参考)。改进描述和快速入门部分。
- v0.7.1 — 添加执行纪律协议(来自@thejayden)。强制结构化问题解决:目标锁定,任务分解,假设声明,单层执行,循环预防,完成验证。
- v0.7.0 — 扩展实体类型:技能注册表,客户档案,决策记录。添加SOUL.md, AGENTS.md, RULES.md和语音指南模板。完整的"AI员工"设置。
- v0.6.1 — 添加初始化脚本以进行首次设置。(在v0.7.3中弃用 — OpenClaw基础已经提供核心文件。)
- v0.6.0 — 从lifeos-memory重命名为memory-pill。移除qmd依赖。使用OpenClaw本地memory_search,带索引指导。
- v0.5.0 — 重大改革:里程碑,提示工程,代理优先,Obsidian wiki-links,事实积压系统