LogoAI实践知识库
LogoAI实践知识库
首页
提示即产品,出海赚美金

第一篇:认知篇

什么是 Vibe Coding为什么是 AI 编程一人公司心态AI 时代的独立开发者红利

第二篇:需求篇

Google Trends 需求挖掘新词策略长尾词挖掘与一词一站Reddit/X 痛点挖掘Product Hunt 竞品调研MVP 定义与边界

第三篇:工具篇

工具选型MCP 完全指南Playwright 浏览器自动化AI 编程实战技巧

第四篇:心法篇

从 Vibe Coding 到 Spec CodingOpenSpec 实操指南MBRY 提示词框架AI 不是聊天框

第五篇:弹药篇

Prompt 弹药库AI 编程规则全攻略

第六篇:建站篇

省钱技术栈On-Page SEO 基础外链建设与目录提交

第七篇:商业化篇

Stripe 与海外收款定价策略80/20 法则

第八篇:推广篇

社交媒体与 Build In Public冷启动:如何获得前 100 个用户邮件列表与 Newsletter

第九篇:避坑篇

避坑指南
AI自增长系统

第零篇:实验室

实验室:环境搭建

第一篇:认知篇 - 理解复利增长

什么是AI自增长系统线性增长 vs 复利增长飞轮效应详解麦克斯韦妖哲学

第二篇:引擎篇 - 四大核心模块

内容工厂自动化分发数据监测系统反馈回路:系统自进化

第三篇:SEO工厂 - 流量复利

pSEO基础与原理关键词矩阵设计滴灌发布策略即时生成发布(JIT)内链自动化站点矩阵与指纹隔离

第四篇:社交杠杆 - 截流与降维打击

社交媒体监听系统热点内容转化器自动回复截流内容格式套利

第五篇:病毒式增长 - 让用户帮你传播

病毒式产品设计可分享结果模式低摩擦转化设计游戏化分享机制

第六篇:知识套利 - 成为领域权威

信息差套利聚合即服务趋势预测引擎数据护城河

第七篇:组合策略 - 规模化系统

组合拳策略统一通行证交叉推广引擎资产复用引擎

第八篇:自动化终局

自动化终局变现堆栈为卖而生第二曲线

第九篇:实战案例

案例:SEO 工厂实战����������ʽ����ʵս����������ʵս

第十篇:人类优势

人类优势黑暗森林最终宣言
反直觉事实反直觉事实:终极选题规划 (No.068-100)

Writing Protocol

核心提示词:认知狙击手(场景驱动版)文章模板与命名规范

样例文章

反直觉事实(1):你怎么证明你不是虚空中刚刚诞生的一个大脑?反直觉事实(2):为什么"好人"都不在市场上?反直觉事实(3):看不懂的规矩,往往是用尸体换来的反直觉事实(4):为什么鼓吹"开放婚姻"的精英,自己都守身如玉?反直觉事实(5):你的愤怒,是别人脑子里的寄生虫在繁殖反直觉事实(6):你为什么更喜欢假的东西?因为真的已经不够刺激了反直觉事实(7):为什么瞪羚见到狮子不跑,反而原地起跳?反直觉事实(8):人类最伟大的成就,大部分都是进化的"废料"反直觉事实(9):"为了集体好",是世界上最大的谎言反直觉事实(10):你在办公室坐着,身体却以为你在逃荒反直觉事实(11):为什么在谈判桌上,最理性的策略是让对手觉得你是疯子?反直觉事实(12):为什么一群聪明的好人,会集体走向灾难?反直觉事实(13):"所有人都知道"和"所有人都知道所有人都知道",完全是两件事反直觉事实(14):在这个冷酷的宇宙里,善良是怎么活下来的?反直觉事实(15):为什么大家都更有钱了,却更焦虑了?反直觉事实(16):最有效的威胁,是一次性的:你只有一次机会反直觉事实(17):为什么你宁愿自己亏钱,也要让那个赚得多的人倒霉?反直觉事实(18):为什么越贵的废纸越值钱?反直觉事实(19):你觉得宇宙很完美,只是因为你还没死反直觉事实(20):愚蠢比邪恶更危险,因为愚蠢无法被反驳反直觉事实(21):如果他不为错误买单,他的建议就是垃圾反直觉事实(22):为什么老板总是提拔那个最蠢的人?反直觉事实(23):为什么专家会带头迫害那些说了实话的人?反直觉事实(24):日子越好,离死期越近反直觉事实(25):为什么把国家搞得越烂的独裁者,往往活得越久?反直觉事实(26):赚钱和创造财富,完全是两码事反直觉事实(27):免费的东西,往往是最贵的反直觉事实(28):为什么聪明人也会一条路走到黑?反直觉事实(29):即使你是个全能天才,你也需要也是个废物反直觉事实(30):为什么你邻座的机票比你便宜一半?反直觉事实(31):为什么努力毫无意义?反直觉事实(32):为什么富人越富,穷人越穷?反直觉事实(33):一群聪明人,为什么会变成一个蠢货?反直觉事实(34):为什么消费者打个喷嚏,工厂就地震?反直觉事实(35):为什么键盘的字母排列是乱的?反直觉事实(36):那个所有人都在喂养的恶魔反直觉事实(37):为什么每一个伟大的组织,最后都会变成僵尸?反直觉事实(38):皇帝的新装,每天都在你身边上演反直觉事实(39):为什么扎克伯格穿得像个修电脑的?反直觉事实(40):当你考核什么,你就会毁掉什么反直觉事实(41):如何把谎言变成真理?反直觉事实(42):你活在一个没有真相的地图里反直觉事实(43):你根本不知道自己想要什么反直觉事实(44):为什么千万别信"平均收益"?反直觉事实(45):越老的东西,越不容易死反直觉事实(46):为什么房间总会自动变乱?反直觉事实(47):那个虽然死了,但依然在向你收费的恶魔反直觉事实(48):为什么明天太阳升起不是一条新闻?
AI时代的财富真相

第一章:财富分配的隐藏物理学

AI时代的财富真相(01):为什么财富不平等是热力学定律?AI时代的财富真相(02):为什么"随机"也能产生极端不平等?AI时代的财富真相(03):为什么市场越"公平",不平等越严重?AI时代的财富真相(04):为什么你的出生邮编比智商更能预测你的收入?AI时代的财富真相(05):为什么运气的作用被系统性低估了90%?AI时代的财富真相(06):为什么"机会平等"是一个数学上不可能的状态?AI时代的财富真相(07):为什么穷人的"非理性"决策其实是最优解?AI时代的财富真相(08):为什么"中产"是一个二战后的历史异常?AI时代的财富真相(09):为什么经济增长和你的工资增长完全无关?AI时代的财富真相(10):为什么技术进步让普通人更穷?AI时代的财富真相(11):为什么"涓滴效应"从未发生过?AI时代的财富真相(12):为什么通货膨胀是一种隐形财富转移?AI时代的财富真相(13):为什么房价上涨让整个社会更穷?AI时代的财富真相(14):为什么金融化让实体经济萎缩?AI时代的财富真相(15):为什么你永远不可能"跑赢大盘"?

第二章:大脑如何让你变穷

AI时代的财富真相(16):为什么你的大脑被设计成不会理财?AI时代的财富真相(17):为什么价格上涨反而让你买得更多?AI时代的财富真相(18):为什么"省小钱花大钱"是神经系统bug?AI时代的财富真相(19):为什么你会为"免费"付出更多?AI时代的财富真相(20):为什么损失1块钱的痛苦是赚1块钱快乐的2.5倍?AI时代的财富真相(21):为什么你总是在市场高点买入低点卖出?AI时代的财富真相(22):为什么"拍脑袋"的投资决策有时候更好?AI时代的财富真相(23):为什么专家的预测比随机还差?AI时代的财富真相(24):为什么你对小概率事件的判断是灾难性错误的?AI时代的财富真相(25):为什么"沉没成本"会吸干你的财富?AI时代的财富真相(26):为什么你会为"选择权"付出过高代价?AI时代的财富真相(27):为什么越穷的人越容易被骗?AI时代的财富真相(28):为什么赌场装修成那样是有原因的?AI时代的财富真相(29):为什么理财APP界面都长得很像?AI时代的财富真相(30):为什么"理性人"假设从根本上就是错的?

第三章:被设计的贫穷:系统如何收割你

AI时代的财富真相(31):为什么"最低还款额"是银行最赚钱的发明?AI时代的财富真相(32):为什么"分期免息"意味着你多付了20%?AI时代的财富真相(33):为什么保险精算师比你多活10年?AI时代的财富真相(34):为什么"保本理财"意味着必然亏损?AI时代的财富真相(35):为什么银行存款利率永远低于通胀率?AI时代的财富真相(36):为什么养老金系统是一个注定破产的庞氏?AI时代的财富真相(37):为什么"基金定投"的收益被夸大了10倍?AI时代的财富真相(38):为什么医疗破产是头号个人财务杀手?AI时代的财富真相(39):为什么高等教育正在变成一场对赌协议?AI时代的财富真相(40):为什么"买房刚需"是一个被建构的概念?AI时代的财富真相(41):为什么工资涨幅总是追不上房价?AI时代的财富真相(42):为什么出租车牌照值几十万?AI时代的财富真相(43):为什么"元认知"才是真正的阶层分层标志?AI时代的财富真相(44):为什么某些城市永远"限购"却不增加供给?AI时代的财富真相(45):为什么系统不希望你理解这些?

第四章:网络时代的财富黑洞

AI时代的财富真相(46):为什么"免费"互联网让你损失了数万美元?AI时代的财富真相(47):为什么推荐算法让穷人更穷富人更富?AI时代的财富真相(48):为什么每个"病毒式传播"背后都有人在收割?AI时代的财富真相(49):为什么直播带货的价格并不便宜?AI时代的财富真相(50):为什么"我们不卖数据"是最大的谎言?AI时代的财富真相(51):为什么"用户增长"比"盈利"更重要?AI时代的财富真相(52):为什么每一个"爆款"都是精心设计的收割?AI时代的财富真相(53):为什么平台"补贴大战"的最终买单人是你?AI时代的财富真相(54):为什么"私域流量"是一个即将破灭的泡沫?AI时代的财富真相(55):为什么加密货币泡沫和17世纪郁金香泡沫一模一样?AI时代的财富真相(56):为什么NFT不是"数字所有权"而是"数字郁金香"?AI时代的财富真相(57):为什么"元宇宙地产"可能是史上最荒谬的投机?AI时代的财富真相(58):为什么每一轮"技术革命"最先死的都是冲进去的散户?AI时代的财富真相(59):为什么"FOMO"被武器化了?AI时代的财富真相(60):为什么"深度工作"正在成为一种阶级特权?

第五章:AI时代的财富重分配

AI时代的财富真相(61):为什么AI会让"能力"变得不值钱?AI时代的财富真相(62):为什么"人机协作"的赢家仍然是资本?AI时代的财富真相(63):为什么AI时代最大的资产是"注意力主权"?AI时代的财富真相(64):为什么"数据劳动"没有被承认为劳动?AI时代的财富真相(65):为什么AI芯片比AI算法更值钱?AI时代的财富真相(66):为什么OpenAI的7万亿美元芯片计划是一个权力游戏?AI时代的财富真相(67):为什么"AI民主化"是一个谎言?AI时代的财富真相(68):为什么AI会让"品味"成为最后的护城河?AI时代的财富真相(69):为什么"个人品牌"在AI时代变得比公司更重要?AI时代的财富真相(70):为什么AI时代的"一人公司"比大公司更有优势?AI时代的财富真相(71):为什么"接口层"永远比"实现层"更值钱?AI时代的财富真相(72):为什么AI让"垂直"比"通用"更值钱?AI时代的财富真相(73):为什么AI时代"速度"比"完美"重要10倍?AI时代的财富真相(74):为什么真正的AI红利只属于资本持有者?AI时代的财富真相(75):为什么"技术性失业"和历史上的失业完全不同?

第六章:博弈论、信息论与财富战争

AI时代的财富真相(76):为什么"柠檬市场"让诚实人吃亏?AI时代的财富真相(77):为什么"信号"比"能力"更决定你的收入?AI时代的财富真相(78):为什么面试是一场双方都在撒谎的博弈?AI时代的财富真相(79):为什么"内推"比海投有效100倍?AI时代的财富真相(80):为什么谈判中"锚定效应"价值百万?AI时代的财富真相(81):为什么"沉默"是谈判中最强大的武器?AI时代的财富真相(82):为什么"委托-代理问题"让你在每个关系中被收割?AI时代的财富真相(83):为什么"激励相容"是设计任何系统的关键?AI时代的财富真相(84):为什么"公地悲剧"正在互联网上重演?AI时代的财富真相(85):为什么"囚徒困境"解释了大部分社会问题?AI时代的财富真相(86):为什么"先发优势"有时候是诅咒?AI时代的财富真相(87):为什么"慢变量"比"快变量"更决定你的命运?AI时代的财富真相(88):为什么"反馈延迟"让你无法学习?AI时代的财富真相(89):为什么"复杂系统"让专家预测一文不值?AI时代的财富真相(90):为什么"黑天鹅"正在变得越来越频繁?

第七章:终极认知:财富的哲学与虚无

AI时代的财富真相(91):为什么你在玩"有限游戏"而富人在玩"无限游戏"?AI时代的财富真相(92):为什么金钱可能是人类发明的最大"共识幻觉"?AI时代的财富真相(93):为什么"经济增长"可能是一个即将终结的游戏?AI时代的财富真相(94):为什么GDP增长没有让人类更幸福?AI时代的财富真相(95):为什么"成功"可能是一种精心设计的社会控制?AI时代的财富真相(96):为什么越有钱的人越焦虑?AI时代的财富真相(97):为什么"躺平"可能是一种理性的反抗?AI时代的财富真相(98):为什么"意义感"不能被金钱购买?AI时代的财富真相(99):为什么最富有的人往往捐掉大部分财产?AI时代的财富真相(100):如果财富最终毫无意义,你为什么还要追求它?
X (Twitter)

OpenSpec 实操指南

付费文章

手把手教你用 OpenSpec 实现规范驱动开发

OpenSpec 实操指南

上一章讲了规范驱动开发的理念。这一章动手。

OpenSpec 是目前最轻量的规范驱动工具,特别适合个人开发者和小团队。它不像 Spec Kit 那么"重",也不需要像 Kiro 那样换一个 IDE。你用 Cursor、用 Claude Code、用 Windsurf,都能用 OpenSpec。

这一章的目标是让你完整跑通一个案例,从安装到归档,每个步骤都看到实际效果。

OpenSpec 核心工作流📝Draft Proposal起草变更提案/openspec:proposal→🔍Review & Align审查并对齐规范openspec validate→💻ImplementAI 按任务写代码/openspec:apply→📦Archive归档并更新规范/openspec:archive

安装和初始化

先确保你的 Node.js 版本是 20.19.0 以上。打开终端,输入 node --version 检查一下。版本太低就升级,版本够了就继续。

全局安装 OpenSpec CLI:

npm install -g @fission-ai/openspec@latest

安装完成后验证一下:

openspec --version

看到版本号就说明装好了。接下来进入你的项目目录,执行初始化:

cd my-project
openspec init

这时候会出现一个交互界面,问你用什么 AI 工具。它支持的工具很多:Claude Code、Cursor、Windsurf、GitHub Copilot、Amazon Q Developer 等等。选择你常用的那个。

初始化完成后,你的项目里会多出这些东西:

my-project/
├── AGENTS.md              # AI 代理指引文件
└── openspec/
    ├── project.md         # 项目上下文
    ├── specs/             # 源头规范(真相来源)
    ├── changes/           # 变更提案(进行中的改动)
    └── archive/           # 已归档的变更

这几个文件和文件夹,各有各的用处。

理解目录结构

project.md:项目上下文

openspec/project.md 是给 AI 看的项目概览。它告诉 AI 这个项目是干什么的、用了什么技术栈、有什么编码规范。

初始化之后,这个文件是空的或者只有基础模板。你需要填充内容,让 AI 更好地理解你的项目。

一个填写好的 project.md 大概长这样:

# 项目上下文

## 项目概述
这是一个 SaaS 订阅管理平台,允许用户管理他们的软件订阅、追踪费用、设置续费提醒。

## 技术栈
- 前端:Next.js 14 + TypeScript + Tailwind CSS
- 后端:Next.js API Routes + Prisma ORM
- 数据库:PostgreSQL
- 认证:Better Auth
- 支付:Stripe

## 编码规范
- 使用 TypeScript 严格模式
- 组件使用函数式组件 + hooks
- 样式使用 Tailwind,避免内联样式对象
- API 路由使用 RESTful 风格
- 错误处理使用统一的 try-catch 模式

## 目录结构
- /src/app - Next.js App Router 页面
- /src/components - 可复用组件
- /src/lib - 工具函数和配置
- /prisma - 数据库 schema 和迁移

## 约束
- 不使用任何已废弃的 API
- 所有数据库操作必须在服务端
- 敏感信息存储在环境变量中

初始化后,OpenSpec 会提示你:让 AI 帮你填写这个文件。你可以直接告诉 AI:

"请阅读 openspec/project.md,帮我根据项目实际情况填写技术栈、编码规范和目录结构。"

AI 会分析你的项目文件,然后自动填充。省事。

OpenSpec 文件结构openspec/specs/源头规范(当前真相)auth/spec.mdbilling/spec.mduser/spec.md⟷openspec/changes/变更提案(进行中)add-2fa/proposal.mdadd-2fa/tasks.mdadd-2fa/specs/...→openspec/archive/已归档变更(历史记录)fix-login-bug/add-dark-mode/...

specs/:源头规范

openspec/specs/ 存放的是项目当前的规范——也就是"真相来源"。每个子文件夹代表一个功能模块,里面有一个 spec.md 文件描述这个模块的需求和行为。

一开始这个目录是空的。随着你完成变更并归档,规范会逐渐积累。

changes/:变更提案

openspec/changes/ 是工作区。当你想添加新功能或修改现有功能时,你(或者 AI)会在这里创建一个变更文件夹。

假设你想给应用加一个双因素认证功能,变更文件夹可能叫 add-2fa/,里面包含:

  • proposal.md — 描述为什么要做这个变更、做什么
  • tasks.md — 实现这个变更的任务清单
  • specs/ — 对现有规范的修改(增量形式)
  • design.md(可选)— 技术设计决策

AGENTS.md:AI 代理指引

项目根目录下的 AGENTS.md 是给 AI 看的操作手册。它告诉 AI 如何使用 OpenSpec 工作流。

不同于给人看的 README.md,AGENTS.md 专门为 AI 编写,包含具体的操作步骤和命令。支持 AGENTS.md 约定的 AI 工具(包括 OpenAI Codex、Cursor、Claude Code 等)会自动读取这个文件。

完整案例:添加用户 2FA 验证

来走一个完整的案例。假设你的项目是一个 SaaS 应用,现在要给用户添加双因素认证功能。

第一步:起草提案

打开你的 AI 工具(Cursor 或者 Claude Code),输入:

创建一个 OpenSpec 变更提案:为用户添加双因素认证(2FA)功能。
用户可以在设置页面开启 2FA,开启后登录时需要输入手机验证码。

如果你用的是 Cursor 并且配置了 OpenSpec 的斜杠命令,可以直接用:

/openspec:proposal 添加用户 2FA 认证功能

AI 会在 openspec/changes/ 下创建一个新目录,比如 add-user-2fa/,里面生成几个文件。

生成的 proposal.md

AI 生成的 proposal.md 大概长这样:

# 变更提案:添加用户 2FA 认证

## 变更 ID
add-user-2fa

## 摘要
为用户账户添加双因素认证(Two-Factor Authentication)功能,
提高账户安全性。

## 动机
当前系统只有密码保护,面临密码泄露风险。
双因素认证可以显著降低账户被盗的可能性。

## 变更范围
- 用户设置页面新增 2FA 开关
- 登录流程增加验证码验证步骤
- 数据库用户表增加 2FA 相关字段
- 新增短信验证码发送和校验接口

## 影响的规范
- auth/spec.md(认证模块)
- user/spec.md(用户模块)

## 验收标准
- 用户可以在设置中开启/关闭 2FA
- 开启 2FA 后,登录需输入 6 位验证码
- 验证码 5 分钟内有效
- 连续 5 次输错验证码锁定账户 30 分钟

生成的 tasks.md

任务清单会被拆得很细:

# 任务清单

## 1. 数据库变更
- [ ] 1.1 用户表添加 `two_factor_enabled` 布尔字段
- [ ] 1.2 用户表添加 `two_factor_secret` 字段(加密存储)
- [ ] 1.3 创建验证码记录表 `otp_codes`
- [ ] 1.4 运行数据库迁移

## 2. 后端 API
- [ ] 2.1 创建 POST /api/auth/2fa/enable 接口
- [ ] 2.2 创建 POST /api/auth/2fa/disable 接口
- [ ] 2.3 创建 POST /api/auth/2fa/send-code 接口
- [ ] 2.4 创建 POST /api/auth/2fa/verify 接口
- [ ] 2.5 修改登录接口,增加 2FA 校验步骤

## 3. 前端界面
- [ ] 3.1 设置页面添加 2FA 开关组件
- [ ] 3.2 创建验证码输入弹窗组件
- [ ] 3.3 修改登录页面,支持 2FA 流程
- [ ] 3.4 添加 2FA 相关的加载和错误状态

## 4. 测试
- [ ] 4.1 2FA 开启/关闭流程测试
- [ ] 4.2 验证码发送和验证测试
- [ ] 4.3 登录流程集成测试
- [ ] 4.4 错误处理和边界情况测试

生成的 spec delta

在 openspec/changes/add-user-2fa/specs/auth/ 目录下,会有一个 spec.md 文件,记录对认证模块规范的增量修改:

# Delta for Auth

## ADDED Requirements

### Requirement: Two-Factor Authentication
The system MUST support optional two-factor authentication for user accounts.

#### Scenario: Enable 2FA
- GIVEN a logged-in user
- WHEN the user enables 2FA in settings
- THEN the system stores the 2FA secret
- AND future logins require OTP verification

#### Scenario: Login with 2FA
- GIVEN a user with 2FA enabled
- WHEN the user submits valid credentials
- THEN the system sends an OTP to the user's phone
- AND the user must enter the correct OTP to complete login

#### Scenario: Failed OTP attempts
- GIVEN a user entering OTP
- WHEN the user fails 5 consecutive attempts
- THEN the account is locked for 30 minutes

注意这里使用的是 Delta 格式——## ADDED Requirements 表示这是新增的需求,不是修改现有的。如果是修改,会用 ## MODIFIED Requirements。

第二步:审查和对齐

提案生成后,你需要审查一下。运行:

openspec show add-user-2fa

这会打印出提案的详细内容。你也可以用 openspec validate 检查格式是否正确:

openspec validate add-user-2fa --strict

如果有问题,它会告诉你哪里不对。

审查的时候,重点看几个地方:

  1. 验收标准是否完整? 有没有遗漏的场景?
  2. 任务拆分是否合理? 粒度太大不好执行,太小又太碎。
  3. 规范增量是否准确? ADDED 和 MODIFIED 用对了吗?

如果需要调整,直接告诉 AI:

任务清单里缺少短信服务商集成的任务,请补充。
另外,验收标准里加一条:用户可以查看 2FA 开启历史记录。

AI 会更新相应的文件。来回几轮,直到你满意为止。

第三步:实现任务

规范确认后,开始写代码。告诉 AI:

规范已经确认,请开始实现 add-user-2fa 变更。按照 tasks.md 的顺序执行。

或者用斜杠命令:

/openspec:apply add-user-2fa

AI 会按照任务清单逐个实现。每完成一个任务,就在 tasks.md 里打勾:

## 1. 数据库变更
- [x] 1.1 用户表添加 `two_factor_enabled` 布尔字段
- [x] 1.2 用户表添加 `two_factor_secret` 字段(加密存储)
- [ ] 1.3 创建验证码记录表 `otp_codes`
...

实现过程中,如果 AI 遇到问题或者需要你做决策,它会暂停询问。比如:

"短信服务商选用 Twilio 还是阿里云短信?请确认。"

你给出答案,AI 继续执行。

这个过程可能需要一些时间,取决于功能的复杂度。好处是每一步都有据可查,你知道 AI 在做什么、为什么这么做。

第四步:归档变更

所有任务完成、测试通过后,归档这个变更:

openspec archive add-user-2fa --yes

归档操作会做几件事:

  1. 把 changes/add-user-2fa/specs/ 里的增量合并到 specs/ 里
  2. 把整个变更文件夹移动到 archive/ 目录
  3. 更新相关的规范文档

归档后,openspec/specs/auth/spec.md 就会包含完整的 2FA 需求描述,成为项目规范的一部分。下次再做相关修改,AI 读到这些规范,就知道现有系统是怎么工作的。

归档前后对比归档前openspec/├── specs/auth/spec.md (无 2FA)├── changes/add-user-2fa/│ ├── proposal.md│ └── specs/auth/spec.md (Delta)→归档后openspec/├── specs/auth/spec.md (含 2FA)├── changes/ (空)└── archive/add-user-2fa/ └── (完整历史记录)

Cursor 集成技巧

如果你主要用 Cursor,这里有几个技巧能让 OpenSpec 用得更顺手。

启用斜杠命令

OpenSpec 初始化时选择 Cursor,会自动在项目里创建 .cursor/commands/ 目录,包含预定义的斜杠命令。这样你就可以直接在 Cursor 里用:

  • /openspec:proposal — 创建新的变更提案
  • /openspec:apply — 实现变更
  • /openspec:archive — 归档完成的变更

如果斜杠命令没出现,重启一下 Cursor。命令是启动时加载的。

使用 @ 引用规范文件

Cursor 的 @ 符号可以引用文件。和 OpenSpec 配合使用效果很好:

@openspec/project.md
@openspec/specs/auth/spec.md

请基于现有的认证规范,添加 OAuth 登录支持。

这样 AI 就能读到你的项目上下文和现有规范,减少误解。

Cursor Rules 配合 OpenSpec

在 .cursorrules 文件里加一条,让 Cursor 始终关注 OpenSpec 规范:

在进行任何功能开发前,先检查 openspec/specs/ 目录下是否有相关规范。
如果有,严格按照规范实现。
如果没有,先通过 OpenSpec 工作流创建变更提案。

这样即使你忘了,Cursor 也会提醒你先看规范。

常见问题和踩坑经验

在使用 OpenSpec 的过程中,开发者们踩过不少坑。这里总结几个常见的。

问题 1:AI 生成的规范太模糊

有时候你简单说一句"加个评论功能",AI 生成的提案可能很泛泛而谈。解决方法是提供更具体的需求描述:

❌ 加个评论功能

✅ 添加文章评论功能:
- 登录用户可以对文章发表评论
- 评论支持纯文本,最多 500 字
- 用户可以编辑/删除自己的评论
- 评论按时间倒序显示,每页 20 条
- 评论需要审核才能公开显示

需求描述越具体,生成的规范越精确。

问题 2:变更冲突

如果你同时开了多个变更提案,它们可能会修改同一个规范文件,导致归档时冲突。

用 openspec list 查看当前所有活跃的变更:

openspec list

如果发现有重叠,要么合并变更,要么按顺序一个个完成再归档。尽量避免同时开太多变更。

问题 3:MODIFIED vs ADDED 用错

这是新手常犯的错误。

  • ## ADDED Requirements:添加全新的功能,和现有功能没有直接关系
  • ## MODIFIED Requirements:修改现有功能的行为

用 MODIFIED 时,要先复制完整的原始需求,再做修改。不能只写你改的部分,否则归档时会丢失信息。

问题 4:规范和代码脱节

用了一段时间后,可能出现代码改了但规范没更新的情况(尤其是紧急 bug 修复时)。

建议的做法是:任何代码修改都应该有对应的 OpenSpec 变更,哪怕是很小的改动。形成习惯后,规范就会和代码保持同步。

如果发现已经脱节,花时间做一次规范同步——让 AI 读代码、更新规范。磨刀不误砍柴工。

常见问题速查❌规范太模糊→ 提供更具体的需求描述⚠️变更冲突→ openspec list 检查重叠🔀MODIFIED/ADDED 用错→ MODIFIED 要复制完整原文📄规范与代码脱节→ 任何改动都走 OpenSpec 流程🔄斜杠命令不出现→ 重启编辑器重新加载✅验证失败→ openspec validate --strict

实用模板分享

最后分享几个我常用的模板,可以直接复制使用。

proposal.md 模板

# 变更提案:[功能名称]

## 变更 ID
[change-id]

## 摘要
[一句话描述这个变更做什么]

## 动机
为什么需要这个变更?解决什么问题?

## 变更范围
- [影响的模块 1]
- [影响的模块 2]
- [新增的功能点]

## 不在范围内
- [明确排除的内容]

## 技术约束
- [需要遵守的技术限制]

## 验收标准
- [ ] [具体可验证的条件 1]
- [ ] [具体可验证的条件 2]
- [ ] [具体可验证的条件 3]

## 相关链接
- [设计稿 URL]
- [相关 Issue]

tasks.md 模板

# 任务清单

## 预估工时
[总体预估]

## 1. [阶段名称,如"数据库变更"]
- [ ] 1.1 [具体任务]
- [ ] 1.2 [具体任务]

## 2. [阶段名称,如"后端开发"]
- [ ] 2.1 [具体任务]
- [ ] 2.2 [具体任务]
- [ ] 2.3 [具体任务]

## 3. [阶段名称,如"前端开发"]
- [ ] 3.1 [具体任务]
- [ ] 3.2 [具体任务]

## 4. 测试与文档
- [ ] 4.1 单元测试
- [ ] 4.2 集成测试
- [ ] 4.3 更新相关文档

## 注意事项
- [实现时需要注意的点]

spec.md delta 模板

# Delta for [模块名称]

## ADDED Requirements

### Requirement: [需求名称]
The system SHALL [需求描述,使用 SHALL/MUST 等关键词].

#### Scenario: [场景名称]
- GIVEN [前置条件]
- WHEN [触发动作]
- THEN [预期结果]

## MODIFIED Requirements

### Requirement: [原需求名称]
[完整复制原需求内容,然后修改相应部分]

## REMOVED Requirements

### Requirement: [被移除的需求名称]
[说明移除原因]

下一章是 MBRY 提示框架。学会用 OpenSpec 管理需求后,还需要知道怎么高效地和 AI 沟通。MBRY 是一个简洁的提示结构,让你每次和 AI 对话都能一击即中。

目录

OpenSpec 实操指南
安装和初始化
理解目录结构
project.md:项目上下文
specs/:源头规范
changes/:变更提案
AGENTS.md:AI 代理指引
完整案例:添加用户 2FA 验证
第一步:起草提案
生成的 proposal.md
生成的 tasks.md
生成的 spec delta
第二步:审查和对齐
第三步:实现任务
第四步:归档变更
Cursor 集成技巧
启用斜杠命令
使用 @ 引用规范文件
Cursor Rules 配合 OpenSpec
常见问题和踩坑经验
问题 1:AI 生成的规范太模糊
问题 2:变更冲突
问题 3:MODIFIED vs ADDED 用错
问题 4:规范和代码脱节
实用模板分享
proposal.md 模板
tasks.md 模板
spec.md delta 模板