章节 01
导读 / 主楼:OpenSpec Extended:为 AI 编程助手打造的自主实现框架
OpenSpec Extended 是 OpenSpec 的扩展包,添加了七阶段自主实现工作流、三个专业代理和六个实用技能,让 AI 编程助手能够端到端地完成复杂开发任务。
正文
OpenSpec Extended 是 OpenSpec 的扩展包,添加了七阶段自主实现工作流、三个专业代理和六个实用技能,让 AI 编程助手能够端到端地完成复杂开发任务。
章节 01
OpenSpec Extended 是 OpenSpec 的扩展包,添加了七阶段自主实现工作流、三个专业代理和六个实用技能,让 AI 编程助手能够端到端地完成复杂开发任务。
章节 02
章节 03
原作者与来源
--with-core) |\n| 自主实现 | ✗ | ✓ 七阶段循环 |\n| 专业代理 | ✗ | ✓ 3 个代理 |\n| 实用技能 | ✗ | ✓ 6 个技能 |\n\n这种对比清晰地展示了 Extended 的定位:它不是取代 OpenSpec Core,而是在其基础上增加自主能力,让开发者可以根据任务复杂度选择合适的工作模式。\n\n---\n\n七阶段自主工作流\n\nOpenSpec Extended 的核心是 osx-orchestrate 脚本,它实现了七阶段自主实现循环:\n\n阶段 0:审查(Review)\n\n分析现有工件,理解当前代码库的状态和结构。代理会读取相关文件,建立对项目的整体认知。\n\n阶段 1:构建(Build)\n\n根据变更需求实现具体任务。这是主要的编码阶段,代理会创建、修改文件,执行实际的开发工作。\n\n阶段 2:验证(Verify)\n\n验证实现是否正确。代理会运行测试、检查代码质量,确保变更符合预期。\n\n阶段 3:文档(Docs)\n\n更新相关文档。包括代码注释、README、API 文档等,确保文档与代码同步。\n\n阶段 4:同步(Sync)\n\n与上游代码库同步。代理会检查是否有冲突,必要时进行合并操作。\n\n阶段 5:反思(Reflect)\n\n自我评估。代理会回顾整个变更过程,识别潜在问题和改进空间。\n\n阶段 6:归档(Archive)\n\n归档已完成的变更。状态文件会被移动到归档目录,保留历史记录供将来参考。\n\n---\n\n三个专业代理\n\nOpenSpec Extended 定义了三个专门化的代理,每个都有特定的职责和工具集:\n\n1. osx-analyzer(分析器)\n\n- 用途:审查、验证、反思\n- 工具:read、grep、glob、bash\n- 温度:0.1(低随机性,更确定性)\n\n分析器代理专注于理解和评估。它不会修改文件,而是仔细阅读代码,提供分析和建议。低温度设置确保其输出稳定、可预测。\n\n2. osx-builder(构建器)\n\n- 用途:实现\n- 工具:read、grep、glob、bash、write、edit\n- 温度:0.4(适度创造性)\n\n构建器代理是唯一拥有写权限的代理。它负责实际的编码工作,创建新文件、修改现有代码。适度的温度设置允许一定的创造性,同时保持代码质量。\n\n3. osx-maintainer(维护者)\n\n- 用途:文档、同步、归档\n- 工具:read、grep、glob、bash、write、edit\n- 温度:0.3(平衡创造性和一致性)\n\n维护者代理专注于保持项目的健康状态,处理文档更新、代码同步和变更归档。\n\n这种分工设计体现了软件工程的最佳实践:不同的任务由不同的"角色"处理,每个角色都有明确的权限和责任边界。\n\n---\n\n六个实用技能\n\nOpenSpec Extended 提供了六个实用技能,扩展了 AI 代理的能力:\n\n| 技能 | 用途 |\n|------|------|\n| osx-concepts | 教授 AI 代理 OpenSpec 框架的概念 |\n| osx-modify-artifacts | 修改工件并跟踪依赖关系 |\n| osx-review-artifacts | 审查工件的质量和完整性 |\n| osx-generate-changelog | 生成变更日志(遵循 Keep a Changelog 格式) |\n| osx-review-test-compliance | 审查 OpenSpec 变更的测试覆盖率 |\n| osx-maintain-ai-docs | 维护 AGENTS.md 和 CLAUDE.md |\n\n这些技能覆盖了软件开发的关键环节:从概念理解到工件修改,从质量审查到文档维护,形成了一个完整的工具链。\n\n---\n\n状态管理\n\nOpenSpec Extended 使用一套状态文件来跟踪变更进度:\n\n| 文件 | 用途 | 生命周期 |\n|------|------|----------|\n| state.json | 阶段跟踪 | 成功时删除 |\n| complete.json | 完成标记 | 验证后删除 |\n| iterations.json | 迭代历史 | 归档 |\n| decision-log.json | 代理推理 | 归档 |\n\n这些文件位于 openspec/changes/<change>/ 目录下。阶段 6(归档)完成后,文件会被移动到 openspec/changes/archive/YYYY-MM-DD-<change>/,保留完整的历史记录。\n\n---\n\n使用方法\n\n安装\n\nbash\n快速安装\ncurl -sSL https://raw.githubusercontent.com/amauryconstant/openspec-extended/main/install.sh | bash\n\n特定版本\nVERSION=v0.19.0 curl -sSL https://raw.githubusercontent.com/amauryconstant/openspec-extended/main/install.sh | bash\n\n\n项目设置\n\nbash\ncd your-project\n\n安装扩展资源\nopenspec-extended install opencode\n\n包含核心 OpenSpec 工作流(11 个命令)\nopenspec-extended install opencode --with-core\n\n\n运行自主实现\n\nbash\n基本用法\n.opencode/scripts/osx-orchestrate <change-name>\n\n带选项\n.opencode/scripts/osx-orchestrate add-auth --max-phase-iterations 20 --verbose\n.opencode/scripts/osx-orchestrate add-auth --from-phase PHASE3\n.opencode/scripts/osx-orchestrate add-auth --dry-run\n\n\n可用选项\n\n| 选项 | 说明 |\n|------|------|\n| --max-phase-iterations N | 每阶段最大重试次数(默认:10,-1 表示无限) |\n| --timeout N | 超时秒数 |\n| --model MODEL | 指定使用的模型 |\n| --verbose | 启用详细输出 |\n| --dry-run | 显示将要执行的操作 |\n| --force | 强制操作 |\n| --clean | 开始前清理状态 |\n| --from-phase PHASEX | 从特定阶段开始 |\n\n---\n\n实际意义与启示\n\nOpenSpec Extended 代表了 AI 辅助软件开发的一个重要方向:从协助到自主。\n\n1. 渐进式自动化\n\n开发者可以根据任务复杂度选择工作模式:\n\n- 简单任务:使用手动工作流,保持完全控制\n- 复杂任务:使用自主工作流,让 AI 代理端到端完成\n- 混合模式:从特定阶段开始自主实现,人工介入关键节点\n\n2. 可审计的 AI\n\n与完全黑盒的 AI 编码工具不同,OpenSpec Extended 保留了完整的决策日志和迭代历史。这意味着:\n\n- 问题追溯:当出现问题时,可以查看代理的推理过程\n- 知识积累:历史记录成为团队的宝贵资产\n- 合规支持:满足需要审计追踪的行业要求\n\n3. 专业化代理分工\n\n三个专业代理的设计体现了软件工程的最佳实践。这种分工模式可以应用到其他 AI 系统中:\n\n- 分析型代理:专注于理解和评估,不修改状态\n- 构建型代理:拥有写权限,专注于实现\n- 维护型代理:专注于保持系统健康\n\n4. 框架化思维\n\nOpenSpec Extended 展示了如何将 AI 能力"框架化"。通过定义明确的阶段、代理和技能,它将 AI 的不可预测性封装在可控的边界内,让团队可以安全地利用 AI 的能力。\n\n对于正在探索 AI 辅助开发的团队来说,OpenSpec Extended 提供了一个经过深思熟虑的参考实现,值得深入研究和借鉴。