Rivet Actors OPSX 工作流:用 /opsx-new 命令启动 OpenSpec 制品驱动变更

发布时间:2026/9/17 23:40:59
Rivet Actors OPSX 工作流:用 /opsx-new 命令启动 OpenSpec 制品驱动变更 Rivet Actors OPSX 工作流用 /opsx-new 命令启动 OpenSpec 制品驱动变更【免费下载链接】actorsRivet Actors are the primitive for stateful workloads. Built for AI agents, collaborative apps, and durable execution.项目地址: https://gitcode.com/GitHub_Trending/riv/actors在 Rivet Actors 仓库中.opencode/command/opsx-new.md定义了 OpenCode AI 助手的斜杠命令/opsx-new它是实验性制品驱动artifact-driven即 OPSX开发工作流的入口负责把一句我想构建/修复什么转化为一个结构化的 OpenSpec change 目录并停在展示第一个制品模板的安全边界上。读完本文你将掌握/opsx-new的输入格式、六步执行流程、涉及的全部openspecCLI 命令及其输出约定并了解它与/opsx-continue、/opsx-apply等姊妹命令如何串成完整的工作流闭环。/opsx-new 是什么定位与文件构成/opsx-new是一条 OpenCode 命令定义完整规格见 opsx-new.md。其 frontmatter 声明--- description: Start a new change using the experimental artifact workflow (OPSX) ---从源码结构看仓库为每条opsx-*命令都维护了一份对应的技能文件skill二者内容互为镜像/opsx-new对应的技能是 openspec-new-change/SKILL.md其 metadata 标注了requires: openspec CLI和compatibility: Requires openspec CLI说明该工作流依赖外部openspec命令行工具而非仓库内实现的二进制。.opencode/目录还包含 package-lock.json其中锁定了opencode-ai/plugin1.3.17 及传递依赖opencode-ai/sdk1.3.17、zod4.1.8可以推断这套命令体系是围绕 OpenCode 插件生态搭建的 AI 辅助开发工作流。输入格式change 名称或自然语言描述命令定义明确了两类合法输入change 名称kebab-case/opsx-new之后的参数例如/opsx-new add-user-auth自然语言描述用户想构建什么例如 add user authentication。若走描述路径助手必须从中派生一个 kebab-case 名称文档给出的例子add user authentication → add-user-auth。若完全未提供输入命令要求助手通过 AskUserQuestion 工具发起开放式提问无预设选项What change do you want to work on? Describe what you want to build or fix.文档用IMPORTANT强调在未理解用户想构建什么之前不得继续推进后续步骤。执行流程六步完成 change 脚手架/opsx-new的正文定义了六个步骤全部围绕openspecCLI 展开。第 1 步确认构建意图如前所述无输入时先提问再派生 kebab-case 名称。这一步是硬门槛——名称不合法非 kebab-case时命令的 Guardrails 要求助手向用户索取合法名称而不是自行猜测。第 2 步确定工作流 schema默认行为是省略--schema参数使用默认 schema。只有在用户明确提到以下情况时才切换用户指定了某个 schema 名称 → 使用--schema name用户说 show workflows 或 what workflows → 运行openspec schemas --json列出可用 schema 供用户选择。这一设计把工作流形态的选择权留在用户手里命令本身保持零假设。第 3 步创建 change 目录openspec new change name仅在用户要求特定工作流时追加--schema name。该命令会在openspec/changes/name/下生成带脚手架的 change 目录并使用所选 schema。第 4 步展示制品状态openspec status --change name输出会标明哪些制品artifact尚待创建、哪些已满足依赖条件处于 ready 状态。这一步的输出是第 5 步定位第一个制品的依据。第 5 步获取第一个制品的创建指令第一个制品由 schema 决定例如 spec-driven schema 下是proposal。助手需要从第 4 步的 status 输出中找到第一个状态为ready的制品然后执行openspec instructions first-artifact-id --change name该命令输出创建第一个制品所需的模板template与上下文context。第 6 步停止并等待用户指示这是/opsx-new最关键的行为约束命令到此必须STOP等待用户下一步指示而不是顺势开始创建制品。标准输出约定文档的Output章节规定了六步完成后助手必须汇总的信息这四项构成一次/opsx-new调用的可验收产物change 名称与位置openspec/changes/name/使用的 schema/工作流及其制品序列当前状态0/N 个制品完成第一个制品的模板收尾提示语原文Ready to create the first artifact? Run/opsx-continueor just describe what this change is about and Ill draft it.Guardrails四条行为红线命令定义末尾的 Guardrails 段落划定了/opsx-new的边界全部针对防止 AI 越权推进不创建任何制品——只展示指令Do NOT create any artifacts yet - just show the instructions不越过第一个制品模板继续推进名称不是 kebab-case 时要求用户提供合法名称若同名 change 已存在建议改用/opsx-continue继续该 change使用非默认工作流时必须传--schema。值得注意的是镜像技能文件 openspec-new-change/SKILL.md 中同一条目表述为 suggest continuing that change instead建议继续该 change而命令文件更明确地指向/opsx-continue命令二者语义一致、措辞略有差异属于命令/技能双份维护下的正常漂移。源码级佐证OPSX 命令族如何形成闭环从源码结构看.opencode/command/目录下共有十条opsx-*命令/opsx-new只是入口之一命令文件职责frontmatter descriptionopsx-new.md启动新 change本文主题opsx-continue.md创建下一个制品opsx-ff.md一次性生成全部实现所需制品opsx-apply.md按 change 执行实现任务opsx-verify.md校验 changeopsx-sync.md同步规格opsx-explore.md探索opsx-archive.md归档opsx-bulk-archive.md批量归档opsx-onboard.md新成员上手引导其中与/opsx-new衔接最紧的是 opsx-continue.md它通过openspec status --change name --json解析schemaName、artifacts每个含done/ready/blocked状态与isComplete三个字段来定位下一个待创建制品再用openspec instructions artifact-id --change name --json获取context、rules、template、instruction、outputPath、dependencies六个关键字段来落盘制品文件。该文档同时说明了默认spec-drivenschema 的制品序列为proposal → specs → design → tasksproposal.mdWhy、What Changes、Capabilities、Impact 四段其中 Capabilities 一节决定后续要创建多少份specs/capability/spec.mddesign.md技术决策与实现方案tasks.md勾选框形式的实现任务清单供/opsx-apply逐条执行并在完成后把- [ ]改写为- [x]。这解释了/opsx-new第 5 步第一个制品取决于 schema的由来对 spec-driven 而言它通常是proposal而对其他 schema 则由 status 输出动态决定。另一条快速路径 opsx-ff.md 则跳过分步交互它同样以openspec new change name起步读取 status JSON 中的applyRequires数组spec-driven 下例如[tasks]然后按依赖顺序循环创建制品直到所有applyRequires制品达到done最终提示 Run/opsx-applyto start implementing.小结一个受控的 AI 开发工作流入口/opsx-new的价值不在单条命令而在于它把AI 辅助开发约束成了一条可审查的流水线新建脚手架opsx-new→ 逐份产出可评审的制品opsx-continue/opsx-ff→ 按任务清单实施opsx-apply→ 校验opsx-verify→ 归档opsx-archive/opsx-bulk-archive。其核心设计原则在本文档中体现得最充分每个命令只做一件事、每步都有明确的 CLI 依据openspec new change/openspec status/openspec instructions、每个命令都以 STOP 边界结束并把推进权交还用户。在 Rivet Actors 这样一个包含 Rust 引擎engine/packages/、TypeScript SDKrivetkit-typescript/与多语言客户端的大型 monorepo 中这种先 proposal、再 specs/design/tasks、后实现的制品驱动流程正是其 AI 开发工作流OPSXexperimental的落地形态。【免费下载链接】actorsRivet Actors are the primitive for stateful workloads. Built for AI agents, collaborative apps, and durable execution.项目地址: https://gitcode.com/GitHub_Trending/riv/actors创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考