OpenSpec 是什么?

OpenSpec 是面向 AI 编码助手的规格驱动开发 CLI。每项改动用独立目录保存 proposal、specs、design 和 tasks,开发者先审查需求与方案,再让代理实现并归档。它使用普通 Markdown,并为不同编码工具生成对应命令。

⭐ 50,324 Stars 🍴 3,528 Forks TypeScript — 作者: Fission-AI
来源:github.com/Fission-AI/OpenSpec 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

AI 编码任务一旦跨多个文件或会话,仅靠聊天历史很难保留需求边界。OpenSpec 用可提交的变更目录把计划与实现分开,还能覆盖已有代码库和多种编码助手。这些累计值不能解释为独立用户。

来源:github.com/Fission-AI/OpenSpec

核心功能

变更目录

proposal.md 记录动机和范围,specs 保存需求与场景,design.md 记录技术方案,tasks.md 保存实现清单。归档后变更进入 openspec/changes/archive。

来源:github.com/Fission-AI/OpenSpec
OPSX 工作流

默认 profile 包含 explore 与 propose;典型流程用 propose 建立产物、apply 实现、archive 归档。扩展 profile 另有 new、continue、ff、verify 等命令。

来源:github.com/Fission-AI/OpenSpec
多工具命令生成

同一动作会按客户端采用不同调用形式,openspec init 会打印已选择工具的实际命令;官方当前称支持 30 多种工具。

来源:github.com/Fission-AI/OpenSpec
校验与安全归档

v1.13.1 加强配置注入、卡死文件和 .npmrc 更新重定向防护,并让 validate 检查缺失 delta、空场景和任务复选框等问题。

来源:github.com/Fission-AI/OpenSpec/releases/tag/v1.13.1

技术架构

Node.js CLI 通过 openspec init 在项目中建立 openspec 目录和客户端命令。变更材料以 Markdown 保存,schema 定义产物及其依赖;代理命令负责生成、继续、应用、校验和归档。项目代码是 TypeScript,发布为 @fission-ai/openspec,package.json 当前版本与 Latest release 都是 1.13.1。

来源:github.com/Fission-AI/OpenSpec;https://github.com/Fission-AI/OpenSpec…

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) commander @inquirer/prompts@inquirer/prom… fast-glob yaml zod 变更目录 OPSX 工作流 多工具命令生成 校验与安全归档 OpenSpec 项目本体 核心功能 关键依赖

技术栈

语言TypeScript / Node.js框架命令行工具、Markdown 规格与 schema 驱动的产物工作流
commander@inquirer/promptsfast-globyamlzod
Node.js 20.19.0+;npm 全局包,也提供 pnpm、yarn、bun 与 Nix 安装选项;MIT 许可
来源:github.com/Fission-AI/OpenSpec/blob/main/package.json;https://github.…

快速上手

先确认 Node.js 至少为 20.19.0,再执行 npm install -g @fission-ai/openspec@latest。进入一个有版本控制的测试项目运行 openspec init,按输出选择编码工具。用 /opsx:explore 先梳理想法,或用客户端实际显示的 propose 命令建立改动;审查 proposal、specs、design 和 tasks 后再 apply,完成验证后 archive。
来源:github.com/Fission-AI/OpenSpec

使用场景

适合已有代码库中的跨文件功能、需要多人审查的需求变更,以及希望在多种编码助手之间复用同一套规格产物的团队。很小的一次性修改可能不值得创建完整的 proposal、design 和 tasks。Stores 跨仓库规划当前仍标为 beta。

来源:github.com/Fission-AI/OpenSpec

优势与局限

优势

  • 规格使用普通 Markdown,可进入现有代码审查流程
  • 变更材料与实现任务分开,便于编码前检查范围
  • 同一工作流可为多种编码助手生成调用入口
  • v1.13.1 对未审查仓库的配置与归档路径做了安全加固

局限

  • 工具不能代替团队审查,规格写错仍会把代理带向错误实现
  • 不同客户端的 slash、@ 或 $ 命令形式不同,必须看 init 输出
  • 扩展 profile 命令与默认 profile 不同,更新后要重新生成项目指引
  • Stores 仍是 beta,不应默认承担关键的跨仓库计划
来源:github.com/Fission-AI/OpenSpec;https://github.com/Fission-AI/OpenSpec…

最新版本

2026-09-23 核对时,Latest release 是 v1.13.1,GitHub 页面显示 2026-09-17 发布;主分支 package.json 也是 1.13.1。该版重点是 CLI 安全加固、归档和校验可靠性、profile 感知命令以及 status 的下一步提示。

来源:github.com/Fission-AI/OpenSpec/releases/tag/v1.13.1;https://github.co…

实测与证据

status: docs_only_official_sources_checked_not_installed  |  checked_at: 2026-09-23  |  environment: 只阅读 Fission-AI/OpenSpec 官方 README、package.json、v1.13.1 release 与 GitHub Spec Kit 官方 README;未安装 npm 包,也未运行 openspec init  |  limitations: 没有观察 init 生成内容、客户端命令、propose/apply/archive、validate、安全加固或 Stores;教程中的结果描述来自官方资料,不是本机输出。  |  observed_output: 官方 README 与 package.json 当前都要求 Node.js >=20.19.0;package.json 是 1.13.1,GitHub Releases 把 v1.13.1 标为 Latest,页面显示 2026-09-17 发布。

来源:github.com/Fission-AI/OpenSpec;https://github.com/Fission-AI/OpenSpec…

同类项目对比

相比 GitHub Spec Kit,OpenSpec 更集中在每项变更的 proposal、specs、design、tasks 与归档,并通过适配器覆盖多种编码助手。Spec Kit 官方当前把规格驱动开发、修复和想法评估作为独立流程入口,并要求 Python 3.11+ 与 uv。想在现有 Node 项目中采用轻量变更目录,可先试 OpenSpec;需要更宽的流程目录、扩展和 preset 体系时,可评估 Spec Kit。

来源:github.com/Fission-AI/OpenSpec;https://github.com/github/spec-kit/blo…

总结评价

OpenSpec 适合把中等以上改动变成可审查的规格记录。首次接入应选一个真实但低风险的功能,从 propose 到 archive 走完一轮,并检查生成文件是否让审查更清楚;若团队只是机械提交模板而不读规格,工具不会改善结果。

来源:github.com/Fission-AI/OpenSpec

常见问题

OpenSpec 在 Codex 里为什么不是 /opsx:propose?

官方说明不同客户端会改写命令形式,Codex 可能显示 $openspec-propose,Cursor 或 GitHub Copilot 可能使用 /opsx-propose。以 openspec init 为所选工具打印的命令为准。

OpenSpec 的 propose、apply 和 archive 分别做什么?

propose 建立提案、规格、设计和任务;apply 按已审查的任务实现;archive 在完成验证后归档变更并更新规格。不要跳过人工审查直接把 propose 接到 apply。

OpenSpec v1.13.1 改了哪些安全问题?

官方 release notes 记录了 config.yaml 指令注入、恶意文件让 update/archive 卡死,以及仓库 .npmrc 重定向更新检查等加固,同时加强归档和规格校验。

OpenSpec Stores 适合直接用于生产团队吗?

官方当前仍把 Stores 标为 beta。可以先在非关键跨仓库需求上验证权限、同步、回滚和代理读取方式,再决定是否纳入正式流程。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 13:55.

参考材料:README、GitHub API、依赖文件