【AI 】OpenSpec 实战指南:在 Cursor 中落地 AI 原生开发工作流

【AI 】OpenSpec 实战指南:在 Cursor 中落地 AI 原生开发工作流

OpenSpec 实战指南:在 Cursor 中落地 AI 原生开发工作流

前言:OpenSpec 是“规范驱动开发 (Spec-Driven Development, SDD)”在 Cursor IDE 中的最佳实践落地。它将 AI 从一个“容易遗忘的编码助手”升级为“严谨的工程合作伙伴”。

0. 安装和初始化

安装要求:Node.js >= 20.19.0
npm install -g @fission-ai/openspec@latest
openspec --version 装好后可以查看版本,输出版本号,说明安装成功,我的版本号是1.1.1,注意1.0.0之后的版本命令都更新了,我讲的都是新的命令。

选择你的工程目录,打开cmd输入,openspec init 初始化目录,

在这里插入图片描述


我这里用的是cursor,所以选择cursor。

在这里插入图片描述


确认后,显示如下:

在这里插入图片描述


这样整个工程就创建好了~~~~

1. 核心架构解密:CLI 与 Agent 的关系

在 OpenSpec 中,我们经常看到两类命令:openspec .../opsx:...。理解它们的底层关系,是你掌握这套系统的关键。

1.1 角色定义

  • CLI (openspec ...) —— “机械臂” (The Engine)
    • 本质:它是底层的命令行工具(类似于 Git 或 NPM)。
    • 能力:它只懂文件操作。它负责创建文件夹、移动文件、验证 JSON 格式、合并文档。它没有智能,不理解业务,只听死命令。
    • 运行位置:Terminal (终端)。
  • Agent (/opsx:...) —— “大脑” (The Brain)
    • 本质:它是 Cursor 的 AI 代理脚本(Prompt Chain)。
    • 能力:它拥有智能。它负责思考架构、编写文档、生成代码。
    • 运行位置:Chat (对话框)。

1.2 底层调用关系

Agent 是 CLI 的“驾驶员”。

当你输入 /opsx:new "login" 时,实际上发生了一连串的连锁反应:

  1. Agent 思考:AI 先分析你的意图,决定需要创建一个名为 login 的变更。
  2. Agent 调用 CLI:AI 在后台默默执行了终端命令 openspec new change "login"
  3. CLI 执行:CLI 在硬盘上创建了目录结构。
  4. Agent 接管:AI 看到目录创建好了,开始引导你:“好了,文件夹建好了,我们来写 Proposal 吧…”。
结论:你(用户)指挥 Agent,Agent 指挥 CLI。Agent 封装了繁琐的 CLI 操作,让你专注于业务逻辑。

2. 双重规格系统:Delta Specs vs. Main Specs

这是 OpenSpec 最精妙的设计之一。你会发现有两个地方存放 spec.md,它们看似相同,实则作用完全不同。

2.1 位置对比

  • 位置 A (Delta Specs): openspec/changes/<change-name>/specs/...
  • 位置 B (Main Specs): openspec/specs/...

2.2 深度解析

特性Delta Specs (位置 A)Main Specs (位置 B)
中文名变更规格 (拟议)主规格 (真理之源)
状态Draft (草稿/拟议中)Live (生效中/已发布)
含义“我希望系统变成什么样”“系统现在是什么样”
生命周期随变更创建,归档即消失 (合并)永久存在,随项目演进
Git 类比Feature Branch (功能分支)Main Branch (主分支)
作用指导 AI 完成本次开发任务指导 AI 理解现有系统能力,帮助新成员上手

2.3 数据流向

  1. 开发时:你在 changes/ 下编写 Delta Specs。此时,它可能与 Main Specs 冲突(因为你要修改现有功能)。
  2. 归档时 (/opsx:archive):CLI 会自动将 Delta Specs 合并 (Merge) 到 Main Specs 中。
  3. 完成后changes/ 文件夹被移走,specs/ 文件夹更新为最新状态。

3. 标准工作流 (The Workflow)

第一阶段:思考 (Thinking)

  • 指令/opsx:explore
  • 作用:自由探索,分析代码,不产生文件。

第二阶段:定义 (Defining)

  • 指令
    • /opsx:new "任务名" (新手向,一步步引导)
    • /opsx:ff "任务名" (老手向,Fast-Forward,一次性生成)
  • 产出工件
    1. Proposal: Why & What (意图)。
    2. Specs (Delta): 具体的、可测试的需求 (WHEN…THEN…)。
    3. Design: 技术选型、架构决策。
    4. Tasks: 执行清单。

第三阶段:执行 (Executing)

  • 指令/opsx:apply "任务名"
  • 作用:AI 读取 tasks.md,自动写代码。
  • 技巧:中断后使用 /opsx:continue "任务名" 恢复。

第四阶段:完成 (Finishing)

  • 指令/opsx:archive "任务名"
  • 作用
    1. 验证任务完成度。
    2. 将 Delta Specs 合并进 Main Specs
    3. 将变更文件夹移入 archive/ 目录作为历史记录。

4. 最佳实践与 FAQ

4.1 并行开发与“暂停”

  • 场景:正在做 feature-A,突然要修 bug-B
  • 操作流
    1. git stash (保护 feature-A 的半成品代码)。
    2. /opsx:ff "bug-B" (创建修复任务)。
    3. /opsx:apply -> /opsx:archive (修复并归档)。
    4. git stash pop (恢复现场)。
    5. /opsx:continue "feature-A" (继续之前的任务)。

4.2 为什么不用 Cursor (CLI)命令行?

  • Cursor (CLI):适合“盲写”和自动化执行,但缺乏全局视图。
  • Cursor (IDE):OpenSpec 产生大量文档,IDE 的文件树分屏对比Diff 视图能让你更好地进行决策审查 (Review)
  • 建议:在 IDE 里做规划和 Review,享受掌控感。

4.3 什么时候该用什么命令?

  • 90% 的时间:用 /opsx:... (Agent 命令)。让 AI 帮你干活。
  • 10% 的时间:用 openspec ... (CLI 命令)。通常用于查看状态 (openspec status) 或手动强制归档。

5. 总结

OpenSpec 的本质是将**“隐性的思维过程”转化为“显性的文档资产”**。

  • 它让 AI 不再是“黑盒”,而是可控的“白盒”。
  • 它让你的项目不再只有代码,还有完整的决策历史 (archive/)功能说明书 (specs/)

Read more

Verilog 零基础入门:语法、仿真与 FPGA 实战

一、入门前提 Verilog 是 FPGA 开发的核心硬件描述语言,学习需具备两大基础:一是数字电子技术常识(理解逻辑门、时序 / 组合逻辑等概念),二是 C 语言基础(有助于快速适应语法结构)。学习核心是掌握 “代码→硬件” 的映射逻辑,而非单纯记忆语法。 二、仿真环境选择 根据开发场景选择适配环境,需重点注意路径约束: * FPGA 开发环境:Xilinx Vivado(主流推荐)、Xilinx ISE(已停更)、Intel Quartus II * ASIC 开发环境:Synopsys VCS * 关键约束:电脑用户名、软件安装路径、工程路径必须全英文(无中文 / 特殊符号),否则会导致软件启动失败、编译报错或仿真异常。 三、Verilog 设计流程

后仿之SDF 反标Warning的描述和解决

在后仿中SDF的反标log中Error是必须要解决的,但是Warning有时候可能并不会影响到实际的内容,而是工具严格的检查得到的一些警告,因此可能就需要我们仔细的来甄别是否warning需要被解决;针对此,将平时看到的一些warning进行整理,帮助之后解决这些问题: 1. SDFCOM_UHICD:Up-hierarchy Interconnect Delay ignored      这个warning是指将hier间的delay放在device delay上体现,可以不用处理;对跨层次的端口标注INTERCONNECT delay时出现该warning,在层次铺平之后是不会有问题的。 2. SDFCOM_IWSBA:INTERCONNECT will still be annotated     也不用处理,delay实际上也是反标了。     vcs是无法识别assign语句代表的是单纯的连线还是作为一个device存在,所以当vcs检测到对assign语句反标INTERCONNECT delay时会报出该警告,但是依然会将INTERCONNECT delay标注。

【 n8n解惑】如何用 n8n 打造一个个人社交媒体内容同步机器人?

【 n8n解惑】如何用 n8n 打造一个个人社交媒体内容同步机器人?

如何用 n8n 打造一个个人社交媒体内容同步机器人:从原理到生产部署 目录 * 0. TL;DR 与关键结论 * 1. 引言与背景 * 2. 原理解释(深入浅出) * 3. 10分钟快速上手(可复现) * 4. 代码实现与工程要点 * 5. 应用场景与案例 * 6. 实验设计与结果分析 * 7. 性能分析与技术对比 * 8. 消融研究与可解释性 * 9. 可靠性、安全与合规 * 10. 工程化与生产部署 * 11. 常见问题与解决方案(FAQ) * 12. 创新性与差异性 * 13. 局限性与开放挑战 * 14. 未来工作与路线图 * 15. 扩展阅读与资源 * 16. 图示与交互 * 17. 语言风格与可读性 * 18. 互动与社区 0.

论文阅读:基于曝光融合的超高动态范围成像

论文阅读:基于曝光融合的超高动态范围成像

论文:UltraFusion Ultra High Dynamic Imaging using Exposure Fusion 这篇发表于 CVPR 2025 的论文提出了UltraFusion—— 首个能融合曝光差达 9 档(stops)图像的曝光融合技术,针对传统高动态范围(HDR)成像在超大曝光差、动态场景运动模糊 / 重影、色调映射伪影等问题提出解决方案,通过将曝光融合建模为引导式修复问题,结合扩散先验、定制化网络分支和专属训练数据集,实现了超高动态范围场景下的高质量成像,且在静态、动态数据集及自建基准测试中均显著优于现有方法。 摘要 高动态范围(HDR)场景成像是相机设计领域的核心研究问题之一。目前主流相机均采用曝光融合技术,通过融合不同曝光度下采集的图像来提升动态范围,但该方法仅能处理曝光差异有限的图像,通常为 3-4 档。当应用于需要超大曝光差的超高动态范围场景时,因输入图像配准错误、光照不一致或色调映射伪影等问题,传统曝光融合方法往往失效。 本文提出 UltraFusion 方法,作为首个可融合曝光差达 9 档图像的曝光融合技术。