OpenSpec 安装与使用指南文档定位OpenSpec 的安装、初始化、需求调整、技术方案调整、任务调整、实现推进和测试 bug 修复流程说明。1. OpenSpec 是什么OpenSpec 是一套面向 AI 编程代理的规格驱动开发工具。它把需求拆成结构化文件让 AI 和开发者围绕同一组文档推进先创建 change。写清楚proposal.md为什么做、做什么、不做什么。写清楚spec.md系统应该怎样表现如何验收。写清楚design.md技术方案、数据结构、兼容和风险。写清楚tasks.md测试、实现和验证步骤。实现时按tasks.md推进。完成前运行 OpenSpec 校验和项目测试。完成后同步规格或归档。与 Superpowers / Spec Kit 的关系OpenSpec 管变更档案proposal/spec/design/tasksSuperpowers 管 AI 执行纪律Spec Kit 管规格驱动项目模板。三者搭配方式见superpowers-guide.md§3。2. 安装与初始化2.1 安装全局安装 OpenSpec CLInpminstall-gfission-ai/openspeclatest openspec--version本次项目验证过的版本1.5.0如需关闭遥测exportOPENSPEC_TELEMETRY02.2 初始化项目在项目根目录执行openspec init.--toolscodex openspec doctor--jsonopenspec context--json初始化后通常会生成.codex/skills/openspec-*Codex 使用的 OpenSpec 工作流技能。openspec/config.yaml项目上下文、约束、验证命令和目录规则。openspec/changes/每个需求变更的工作目录。初始化后建议执行openspec validate--all--jsongitstatus--short--branch3. 目录结构一个标准 change 的目录结构openspec/changes/change-name/ ├── .openspec.yaml ├── proposal.md ├── design.md ├── tasks.md └── specs/ └── capability-name/ └── spec.md文件作用proposal.md变更提案说明背景、范围、非目标和影响design.md技术设计说明方案、数据、兼容、迁移和风险tasks.md任务清单说明测试、实现、验证和收尾specs/capability-name/spec.md能力域规格说明说明系统应该怎样表现spec.md不和design.md、tasks.md放同级是因为一个 change 可能影响多个能力域。OpenSpec 用specs/capability-name/spec.md区分能力域方便后续同步主规格。4. 常用命令openspec--version# 版本openspec init.--toolscodex# 初始化项目openspec doctor--json# 环境检查openspec context--json# 查看项目上下文openspec new changechange-name# 创建 changeopenspec instructions proposal--changechange-name--json# 读取 proposal 指令openspec instructions spec--changechange-name--json# 读取 spec 指令openspec instructions design--changechange-name--json# 读取 design 指令openspec instructions tasks--changechange-name--json# 读取 tasks 指令openspec instructions apply--changechange-name--json# 读取 apply 指令openspec validate--all--json# 全量校验openspec status--changechange-name--json# 查看 change 状态openspec archivechange-name--json# 归档openspec archivechange-name--skip-specs--json# 归档不同步主规格5. 创建 Changeopenspec new changechange-name示例openspec new change evan-openspec-sales-policy-iteration命名建议使用小写英文、数字和短横线。名称表达业务动作。与分支名、任务号、文档前缀保持一致。6. 写 Proposal / Spec / Design / Tasks推荐顺序proposal.md → spec.md → design.md → tasks.md6.1 proposal.md重点回答为什么做。本期做什么。本期不做什么。影响哪些模块、数据、接口、页面、测试。6.2 spec.md重点回答系统应该具备什么能力。用户在什么场景下操作。系统应该给出什么结果。哪些边界、异常、权限、历史数据要覆盖。6.3 design.md重点回答准备怎么实现。数据表和模型如何调整。前后端职责如何划分。历史数据如何兼容。风险和回滚如何处理。6.4 tasks.md重点回答先写哪些失败测试。再改哪些文件。如何验证每一步。完成后跑哪些命令。7. 如何调整需求需求调整指业务范围、验收口径或非目标变化。不要直接改代码先改 OpenSpec。操作顺序收到需求调整 → 判断是新增、删除还是修改需求 → 更新 proposal.md 的 What Changes / Non-Goals / Impact → 更新 specs/capability/spec.md 的 Requirement / Scenario → 判断 design.md 是否需要调整 → 判断 tasks.md 是否需要调整 → 运行 openspec validate --all --json → 再进入实现提示词需求有调整说明调整内容。 请先判断影响 proposal、spec、design、tasks 哪些文件。 然后更新对应 OpenSpec 文件全部使用中文。 更新后列出变更摘要和需要重新执行的验证命令。 不要先改代码。8. 如何调整技术方案技术方案调整指业务验收口径不变但实现方式发生变化。操作顺序发现技术方案需要调整 → 对照 spec.md 判断业务行为是否变化 → 业务行为不变更新 design.md → 业务行为变化先更新 spec.md再更新 design.md → 更新 tasks.md 的实现步骤、测试步骤和验证命令 → 如涉及数据库更新 SQL 和迁移说明 → 运行 openspec validate --all --json提示词技术方案需要调整说明原方案和新方案。 请先判断 spec 是否受影响。 如果业务验收口径不变只更新 design 和 tasks。 如果验收口径变化先更新 spec再更新 design 和 tasks。 更新后给出风险、迁移影响和需要重跑的测试。9. 如何调整 TasksOpenSpec 中的 plan 主要体现在tasks.md。如果只是执行顺序、任务拆分、测试步骤或验证命令变化可以只改tasks.md。操作顺序发现 tasks 不合理 → 判断是否影响 spec → 判断是否影响 design → 只影响执行方式时修改 tasks.md → 新增、删除或重排任务 → 调整测试和验证命令 → 运行 openspec status --change change-name --json提示词tasks 需要调整说明问题。 请先判断是否影响 spec 或 design。 如果不影响只修改 tasks.md。 请把任务拆得更可执行补上 TDD 步骤、验证命令和预期结果。10. 实现阶段进入实现前读取 apply 指令openspec instructions apply--changechange-name--json实现原则先读proposal.md、spec.md、design.md、tasks.md。按tasks.md顺序推进。能写测试的地方先写失败测试。每完成一个阶段就更新任务勾选。不把本期明确不做的内容带进实现。完成前重新运行测试和 OpenSpec 校验。11. 测试提 Bug 处理测试提 bug 后不要直接修代码。先分流11.1 Bug 类型判断Bug 类型判断标准OpenSpec 操作实现缺陷spec.md已写清楚但代码没做到不改 spec在tasks.md增加 bug 修复任务和回归测试任务需求遗漏测试提出的是 spec 没写的新行为先改proposal.md和spec.md再改design.md、tasks.md技术方案偏差业务口径没变但实现方案不合理改design.md和tasks.md如验收口径变化再改spec.md测试用例问题代码符合 spec但测试期望错了不改业务实现修测试并记录依据11.2 未归档 Change 的处理流程收到测试 bug → 复现 bug → 对照 spec.md 判断是否已有验收场景 → 对照 design.md 判断是否是方案问题 → 更新 tasks.md增加测试反馈 bug 修复任务 → 如需求或方案变化同步更新 proposal/spec/design → 先写失败测试 → 修复实现 → 跑回归测试 → 运行 openspec validate --all --json11.3 已归档 Change 的处理流程openspec new changebugfix-change-name然后为 bugfix 单独补proposal.md、spec.md、design.md、tasks.md。11.4 推荐提示词测试提了 bugbug 描述。 请先对照当前 OpenSpec spec 判断它属于实现缺陷、需求遗漏、技术方案偏差还是测试用例问题。 如果是实现缺陷不要改 spec只在 tasks.md 增加 bug 修复和回归测试任务。 如果是需求遗漏或方案变化请先更新对应 OpenSpec 文件再进入实现。12. 归档实现完成后归档openspec archivechange-name--json如果不需要更新主规格openspec archivechange-name--skip-specs--json13. Review 重点文件Review 关注点proposal.md范围、非目标、影响面是否完整spec.md每个场景是否能验收是否覆盖异常和边界design.md数据、接口、权限、兼容、风险和回滚是否清楚tasks.md是否可执行是否有测试验证命令是否真实14. 参考链接OpenSpec npm 包https://www.npmjs.com/package/fission-ai/openspecOpenSpec GitHub CLI 文档https://github.com/Fission-AI/OpenSpec/blob/main/docs/cli.mdSpec Kit GitHubhttps://github.com/github/spec-kitSpec Kit 安装文档https://github.github.com/spec-kit/installation.html
从AGI到ASI:四条技术路径与六大挑战解析 1. 先搞清楚 AGI 和 ASI 到底差在哪如果你关注 AI 领域,最近可能看到不少关于“AGI 到 ASI”的讨论。Google DeepMind 这篇论文最实际的价值,不是预测未来,而是把模糊的概念拆解成了可判断的技术路径。AGI(通用人工智能࿰…
工程项目管理系统和OA区别:2026项目型企业选型指南 很多市政、公用工程、机电安装、装饰装修类企业在上系统时,都会遇到一个很现实的问题:公司已经有OA了,还要不要再上工程项目管理系统?审批不是已经在线了吗?为什么项目经理、材料员、商务造价、财务还是天天对数&#…
Python复刻植物大战僵尸:从游戏开发到数学建模的实战解析 1. 项目概述:当数学建模遇上经典塔防 几年前,当我第一次尝试用Python复刻《植物大战僵尸》时,我把它纯粹当作一个游戏开发练习。但后来我发现,这个看似简单的塔防游戏,其内核其实是一个绝佳的数学建模沙盒。从向日葵的…
Unity WebGL本地部署避坑指南:从构建到运行全流程解析 1. 项目概述:为什么你的Unity WebGL项目在本地打不开?如果你正在尝试将Unity项目发布为WebGL格式,并兴奋地想直接在浏览器里打开那个生成的index.html文件,结果却只看到一片空白、一个报错提示,或者一个永远转不完的加…
Python 3.12 文件遍历性能对比:os.walk vs scandir vs pathlib 谁更快? Python 3.12 文件遍历性能深度评测:os.walk vs scandir vs pathlib 终极对决当我们需要处理服务器日志分析、批量图像处理或大规模数据集整理时,文件遍历往往是第一个性能瓶颈。Python作为数据处理领域的主流语言,提供了多种目录遍历方案&…
C语言标识符命名避坑指南:从5个常见错误案例到修复方案 C语言标识符命名避坑指南:从5个常见错误案例到修复方案1. 为什么标识符命名如此重要?在代码审查和问题排查过程中,糟糕的命名往往是引发问题的罪魁祸首。一个不恰当的变量名可能导致理解偏差、逻辑错误甚至系统崩溃。想象一下,当你…
B站缓存视频无损转换终极方案:3分钟学会m4s转MP4 B站缓存视频无损转换终极方案:3分钟学会m4s转MP4 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾遇到过这样的烦恼ÿ…
OpenClaw飞书QQ双IM接入实战:从合规部署到生产级稳定 1. 项目概述:这不是一个“装软件”的教程,而是一次真实业务场景的落地推演 OpenClaw 是2025年底到2026年初在国内技术圈快速升温的开源AI Agent平台,它不像Dify或Coze那样主打低代码编排,也不像LangChain那样偏重开发框架——它的…
2026 年新消息:吴桥口碑好的注塑高分散彩色母粒工厂怎么联系,明明加了色母,塑料件为什么还是泛白?这3个细节90%的人搞错 - 行业甄选官 2026 年新消息:解决塑料着色难题,就选北宏注塑高分散彩色母粒!在塑料制品的生产过程中,你是否常常遇到这样的困扰:明明往塑料里添加了色母,可生产出来的塑料件还是泛白,颜色怎么都达不到理想效果。就像张师傅,…
2026年7月最新金华宇舶官方售后客户服务热线与维修网点地址汇总 - 亨得利官方服务中心 金华宇舶官方售后客户服务热线与维修网点地址信息是每一位宇舶腕表拥有者都极为关注的核心内容。作为瑞士高端制表品牌,宇舶以其精湛工艺与创新设计闻名,确保腕表始终处于理想运行状态,离不开官方售后渠道的合规支持…
HS2汉化补丁终极指南:一键解锁Honey Select 2完整中文体验 HS2汉化补丁终极指南:一键解锁Honey Select 2完整中文体验 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为Honey Select 2的日文界面而苦恼吗…
怎么寄快递才能便宜呢?2026年7月寄快递省钱攻略 - 生活情报姬 同一箱老家特产,同事花22寄的,我花9块。不是我路子野,是我按场景选了渠道。寄快递便宜不便宜,一半看你会不会"对号入座"——退换货、卖闲置、寄礼物,招数都不一样。 分场景才最省 丰火递想不管啥场景都…
3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略 3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾为Windows右键菜单中那些…
GXDE OS下Wayland兼容性实战:从deepin-mutter原理到VMware Tools修复 如果你正在用 GXDE OS 或者任何基于 Deepin 的发行版,并且遇到了“检测到窗口系统采用 Wayland 协议,程序即将退出”这类弹窗,或者发现 VMware Tools 在 Ubuntu 24.04 这类默认 Wayland 的系统上启动失败,那这篇文章就是为你准备的…
企业AI落地困境与AgenticOps实践指南 1. 企业AI落地的现实困境与破局之道过去两年,大模型技术呈现爆发式增长,从GPT-3到GPT-4,从LLaMA到DeepSeek,模型参数规模从百亿级跃升至万亿级,多模态能力从单一文本扩展到图文音视频的综合处理。然而在企业应用层面&a…
[C++]内存管理:串顺序存储的内存回收 在串(字符串)的顺序存储中,内存回收的方式取决于字符串的存储方式以及所使用的编程语言和相关库。以下以 C 为例进行说明,因为 C 对内存管理有较为直接的控制。 1. 基于 char 数组的串顺序存储 如果使用普通的 char 数组来存储字…
移动端游戏功耗测试实战:电流、功率、亮度和场景对比 移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…
足球口袋教练 HarmonyOS 离线应用实战(03/20):ArkUI 首页仪表盘搭建 本文是“足球口袋教练 HarmonyOS 离线应用实战”系列第 3 篇。示例项目是一个 HarmonyOS / ArkTS / ArkUI 编写的离线足球训练助手,围绕真实页面、真实截图和可复现操作展开。 本篇要解决的问题 训练 App 的首页不能只展示欢迎语,它要解决“我现在该点哪…