OpenSpec:轻量级规范层助力AI编码,优势远超其他工具!
最受欢迎的规范框架
理念是:灵活而非僵化,迭代而非瀑布式,简便而非复杂,适用于既有项目,而非仅针对全新项目,可从个人项目扩展到企业级应用。
全新工作流现已推出!用全新的工件引导式工作流重构了OpenSpec。运行 `/opsx:propose "你的想法"` 即可开启。
关注X上的 @0xTab 获取更新信息,加入OpenSpec Discord寻求帮助或提问。
实际操作示例
你输入 `/opsx:explore`,AI会问你想探索什么内容。你表示想实现暗黑模式但不知如何干净利落地实现,AI会查看样式设置并给出最简洁的方法:使用CSS变量和一个小型主题上下文,并进行系统偏好检测,无需引入新依赖,还会问是否确定范围。你同意后,输入 `/opsx:propose add-dark-mode`,AI会创建 `openspec/changes/add-dark-mode/`,包含 `proposal.md`(说明为何要做以及会有哪些改变)、`specs/`(需求和场景)、`design.md`(技术方案)、`tasks.md`(实施清单)。
准备好实施后,你输入 `/opsx:apply`,AI会执行任务,包括添加主题上下文提供者、创建切换组件、添加CSS变量、连接localStorage。所有任务完成后,你输入 `/opsx:archive`,AI会将其存档至 `openspec/changes/archive/2025-01-23-add-dark-mode/`,规范已更新,准备好开发下一个功能。
OpenSpec仪表盘快速入门
需要Node.js 20.19.0或更高版本。全局安装OpenSpec:`npm install -g @fission-ai/openspec@latest`,然后导航到项目目录并初始化:`cd your-project`,`openspec init`。
现在就可以和AI交流了:若不确定要构建什么,可从 `/opsx:explore` 开始,它是无风险的思考伙伴,能在编写代码前读取代码、权衡选项并制定计划;若已明确需求,可直接使用 `/opsx:propose`。这两个命令都包含在默认配置文件中。若需要扩展工作流(`/opsx:new`、`/opsx:continue`、`/opsx:ff`、`/opsx:verify`、`/opsx:bulk-archive`、`/opsx:onboard`),可使用 `openspec config profile` 进行选择,再用 `openspec update` 应用配置。
注意:不确定工具是否受支持,可查看完整列表,支持25种以上工具,且数量还在增加,也支持pnpm、yarn、bun和nix。
文档
从文档主页开始,涵盖了所有内容。初次使用OpenSpec,先阅读快速上手,再了解命令使用方法(将在此实际输入 `/opsx:propose`)。还包括快速上手(入门步骤)、先探索(在确定方案之前,使用 `/opsx:explore` 进行全面思考)、命令使用方法(斜杠命令与CLI的运行位置)、核心概念概览(完整的概念模型,一页呈现)、示例与配方(完整的实际变更案例)、工作流(组合和模式)、现有项目(在既有代码库中采用OpenSpec)、编辑变更(更新工件、回溯、协调手动编辑)、命令(斜杠命令和技能)、CLI(终端参考)、存储库(在单独的仓库中进行规划,供团队共享(测试版))、支持的工具(工具集成和安装路径)、概念(整体架构)、多语言(多语言支持)、自定义(打造属于你的配置)、常见问题解答 · 故障排除 · 术语表(快速帮助)。
社区模式
第三方模式包通过独立仓库分发,这些模式提供了将OpenSpec与其他工具集成的实用工作流,类似于github/spec-kit的社区扩展目录处理工具集成的方式。可在自定义文档中浏览目录。
为何选择OpenSpec?
AI编码助手功能强大,但当需求仅存在于聊天记录中时,结果往往不可预测。OpenSpec增加了一个轻量级的规范层,让你在编写代码之前就明确要构建的内容。
优势有:提前达成共识,在编写代码之前,人与AI就规范达成一致;保持条理清晰,每个变更都有自己的文件夹,包含提案、规范、设计和任务;灵活工作,可随时更新任何工件,无需严格的阶段关卡;适配现有工具,通过斜杠命令与20多种AI助手兼容。
与其他工具对比
与Spec Kit (GitHub) 对比,Spec Kit全面但重量级,有严格的阶段关卡、大量Markdown文件和Python设置。OpenSpec更轻量级,可自由迭代。
与Kiro (AWS) 对比,Kiro功能强大,但会被锁定在其IDE中,且仅限于Claude模型。OpenSpec可与现有的工具配合使用。
与无规范的AI编码对比,没有规范的AI编码意味着模糊的提示和不可预测的结果。OpenSpec无需繁琐流程,就能带来可预测性。
更新OpenSpec
升级包:`npm install -g @fission-ai/openspec@latest`。刷新代理指令:在每个项目中运行 `openspec update`,以重新生成AI指导并确保最新的斜杠命令生效。
使用注意事项
模型选择:OpenSpec与高推理能力的模型配合使用效果最佳,建议在规划和实施阶段都使用Codex 5.5和Opus 4.7。
上下文管理:OpenSpec在干净的上下文窗口中效果更好。在开始实施前清理上下文,并在整个会话过程中保持良好的上下文管理。
贡献代码
小修复:错误修复、拼写纠正和小改进可直接以PR形式提交。
重大变更:对于新功能、重大重构或架构变更,请先提交一个OpenSpec变更提案,以便在开始实施前就意图和目标达成一致。编写提案时,要牢记OpenSpec的理念:服务于不同编码代理、模型和使用场景的广泛用户群体,变更应适用于所有人。
欢迎使用AI生成的代码,只要代码经过测试和验证即可。包含AI生成代码的PR应注明使用的编码代理和模型(例如:“使用Claude Code和claude-opus-4-5-20251101生成”)。
开发
安装依赖:`pnpm install`;构建:`pnpm run build`;测试:`pnpm test`;本地开发CLI:`pnpm run dev` 或 `pnpm run dev:cli`;常规提交(单行):`type(scope): subject`。
其他
遥测
OpenSpec会收集匿名使用统计数据,仅收集命令名称和版本,以了解使用模式,不收集参数、路径、内容或个人身份信息。在CI中会自动禁用。选择退出:`export OPENSPEC_TELEMETRY=0` 或 `export DO_NOT_TRACK=1`。
维护者与顾问
查看MAINTAINERS.md了解核心维护者和顾问列表,他们会指导项目的发展。
许可证
MIT许可证