用途:进入探索模式,充当思考伙伴,帮助用户梳理想法、排查问题、澄清需求。官方明确说明探索模式用于思考而非实现:可以读文件、搜索代码、调研代码库,但绝不写代码或实现功能;若用户要求实现,应提醒先退出探索模式并创建变更提案。可按用户要求创建 OpenSpec 产物(提案、设计、规格),因为这属于记录思考而非实现。
主要能力:提出澄清问题、挑战假设、重新界定问题、寻找类比;调研代码库、梳理相关架构、找集成点、识别既有模式、暴露隐藏复杂度;比较多个方案、制作对比表、列出取舍、在被要求时推荐路径;用 ASCII 图可视化(状态机、数据流、架构草图、依赖图、对比表);识别风险与未知、发现理解缺口、建议调研。官方强调这是一种姿态而非工作流,没有固定步骤、必需顺序或强制输出。
使用方式:开始时运行 openspec list --json 查看是否存在活动变更及其名称、schema 和状态,并从解析出的根目录读取项目上下文 <root.path>/openspec/config.yaml(或 config.yml)中的 context 与 rules,作为约束但不得复制到对话或产物中。若用户指定已注册的独立 OpenSpec 仓库(store),先运行 openspec store list --json 获取 id,再在读取或写入规格与变更的命令(new change、status、instructions、list、show、validate、archive、doctor、context、view)上追加 --store <id>,选定后在后续流程中保持。未指定 store 时,命令作用于最近的本地 openspec/ 根目录。创建新变更前必须先运行 openspec new change "<name>"(适用时带 --store <id>),不得手工在 openspec/changes/ 下创建目录,以确保生成 .openspec.yaml 等元数据;随后运行 openspec status --change "<name>" --json,按依赖顺序处理请求的产物,对每个就绪产物运行 openspec instructions "<artifact-id>" --change "<name>" --json,按返回模板与指令写入 resolvedOutputPath,完成后重新运行 status 直到完成、跳过或按条件有意跳过。
适用场景:想法模糊时的发散探索、具体问题的定位与重构、实现中途卡住时的分析、方案对比取舍、把讨论沉淀为 OpenSpec 提案/设计/规格/任务等。
限制:不实现、不写应用代码;不伪造理解、不仓促下结论、不强制结构、不自动捕获(只提议保存);不手工搭建变更目录。收费、价格、平台、效果等细节官方资料未提供。