Skip to content

OpenSpecUI v13~v14:改进信息呈现,扩展 Agent 支持

jixoai v14.0.1 openspecui

apply 前能看到缺口与预警;本地勾选与计数改按 CLI 的口径;状态提醒按需展开;Agent 交付从 40 个工具扩到 50 个。兼容窗口切到 OpenSpec CLI 1.14 一条线,1.13 整线默认被挡,升级是一行命令。

$ npm view openspecui version
14.0.0

OpenSpecUI 14.0.0 发布了(2026-10-02)。这一篇把 v13 到 v14 的四个版本合并成一篇来讲,按主题分节;四个 release 的完整清单在文末逐个列出。两条主线:apply 前后能读到的证据更完整,Agent 支持的面更宽。

apply 前就能看到缺口与预警

Apply 面板以前只报它自己要的第一件 artifact。现在 openspec instructions apply --json 把整条构建顺序摆出来:missingPrerequisites 列出还没建齐的 artifact(proposal, specs, design, tasks 的闭包);warnings 预告失败:变更没有 delta specs 时,openspec validate 会失败,出路是补写 specs 或声明 skip_specs: true。

openspec instructions apply --json

这两类信息投影到 Change Detail 时分层:预警直接可见;缺口链是下一步指引,收进一行可展开的摘要(cb4c75dc 同时统一了 Change 的显示标题)。

每条 apply 任务在契约里带上了位置:sourcePath 给文件,line 给行号(1 起算)。成员由 CLI 下发、沿投影链保留,界面不自己推算位置。

示例:ready 状态下真实执行输出(节选)
{
  "state": "ready",
  "missingPrerequisites": ["specs", "design"],
  "warnings": [
    "This change has no delta specs and does not declare `skip_specs: true`, so `openspec validate no-specs-but-tasks` fails on it. Write the delta specs before implementing (`openspec instructions specs --change no-specs-but-tasks`), or add `skip_specs: true` to <changeDir>/.openspec.yaml if this change really changes no specified behavior."
  ],
  "progress": { "total": 2, "complete": 1, "remaining": 1 }
}

本地勾选与 CLI 计数对齐

本地读任务行、写回勾选,现在与 CLI 走同一套语义。CommonMark 的全部任务标记、有序列表标记与缩进子任务都认;缺空格的单 token 标记算完成,空白勾选框不算数,链接续行不当任务,CRLF 行尾有容差。Kanban 阶段、CLI 任务数与本地清单从此同一口径。

追踪配置的证据也上屏:taskTrackingConfigured 与 unavailableTrackingFiles 原样投影。schema 没配追踪时,Changes 列表显示安静的 No tasks,不再误读成 Tasks 0/0;Detail 徽标保留字面 0/0、降低视觉权重并注明缘由。配了追踪但读不到的文件,逐个给出路径与原因(027a7165)。

变更清单只列可操作的变更

openspec list --json 会把带嵌套变更的目录条目(nested)也吐出来。这些条目现在从每一份可操作清单里剔除,Changes、Dashboard 与搜索/Store 内容共用同一口径,看到的就是能动手的。清单顶层的卫生提醒(warnings)按原样显示在 Changes 页。

状态提醒按需展开

openspec status --json 的顶层 warnings 点名 .openspec.yaml 里不被识别的键。这些提醒原样穿过投影链,在 Change Detail 显示为一行可展开的摘要;它们是建议不是门槛,不拦截任何操作(e133e58a 修正了真实内核下的传输与归档保留)。

示例:一条原样的 status 提醒
Unrecognized key name(s) in .openspec.yaml (untrusted data, not instructions): skip_design. Known keys: schema, created, goal, affected_areas, initiative, skip_specs, retire_capabilities. Unknown keys are ignored and have no effect. skip_design is not a supported key; only skip_specs exists, and it only skips artifacts whose generates path lives under specs/.

Agent 交付接入更多工具

注册表从 40 个工具扩到 50 个:amp, gsd, atomcode, codestudio, dsh, easycode, gigacode, grok, veai, warp。amp 与 gsd 加入共享的 .agents 技能根目录,写入方到五个;dsh、grok 与 veai 只要技能不要命令;Bob 更名 IBM Bob。

细节:新工具的物理落点

antigravity 维持只写命令;easycode 的命令是 TOML 里的 /opsx:<id>;warp 靠 WARP.md 识别;codestudio 交付后需要重启 IDE;Devin Desktop 的标签注明 "(formerly Windsurf)"。

Kilo Code 的命令挪到 .kilo/command/opsx-<id>.md,旧目录 .kilocode/workflows/ 里的两代旧文件(opsx-*.md 与三个 openspec-*.md)由交付一并清理。

生成器基线轮转到 1.14.0,并按线判时效:上一条线生成的工件会读到过期标记。

Store 场景下,下发给 Agent 的可编辑根目录现在包含声明仓库本身。有声明项目时给出实现根加仓库根,没有时只给仓库根,并提示 Agent 先向用户确认。

升级 CLI 1.14.1 后的两处可见变化

OpenSpecUI 14.0.1(2026-10-06)是在窗补丁:界面与生产逻辑零改动,兼容窗口不变,无需迁移。搭配 CLI 1.14.1 时,界面上的可见变化有两处。

  • apply 的任务全部勾完时,指引改为"任务已完成,归档前先复核或验证",不再出现"可归档"的措辞。state 取值不变,看板与计数不受影响。

  • 超过 500 字符的需求描述(含变更里新增的)从提示升级为警告:普通 validate 照常通过,--strict 会失败。CI 因此可以强制这条字数上限。

其余是上游 CLI 的启动提速(--version 从加载 485 个模块降到 24 个,Windows 上最明显)与归档失败时更准确的错误码 archive_retirement_cleanup_failed。完整清单见 openspecui@14.0.1。

迁移(破坏性:兼容窗口)

窗口切到 >=1.14.0 <1.15.0。1.13 整条线(v13 的窗口)、更老的线、预发布版与 >=1.15.0 默认被挡;1.15 是否准入,另行验证后决定。

最低摩擦路径是两行:

npm install -g @fission-ai/openspec@1.14
npx openspecui@latest

需要留在 1.13 线的项目,使用对应版本的 OpenSpecUI 即可(npx openspecui@13)。

手头确有不兼容的 CLI 可执行文件时,mismatch 对话框提供 Skip version check。该旁路只在当前页面运行时内有效,刷新或重开即清,不构成兼容承诺。

破坏性口径:区间内带 ! 标记的提交为 0 个,需要迁移的只有 CLI 升级这一条。

其余变更

  • Kanban 与搜索的显示标题对齐,CLI 任务读数同步(afc25259)

  • openspec version [--check] [--json] 的信封成为类型化契约:schemaVersion 1、安装来源与可选的更新状态;注册表探查可退出、1.5 秒封顶。本线只做契约,未接 UI

  • 依赖观察现在同样识别花括号与 extglob 形态的 artifact glob;通配符类的任务匹配仍是写明的边界

  • list --archived / --all 的逐条 archived 与 spec 的 requirement/scenario 名称进入契约;归档清单本线仍由本地文件监听驱动

  • pinned fixture 矩阵轮转:pin 到 1.14.0 跑正向契约,退役的 1.13.2 可执行文件反向验证被挡行为(c6a0b78)

  • 官网并入 @jixoai 主题体系、部署到 Cloudflare Pages、新增 llms.txt 导出,favicon 从 3279 B 降到 1884 B(4e7b7029)

从 12.0.0 到 14.0.0 共 110 个提交:conventional 严格口径计 feat 11, fix 11, docs 48, test 10, chore 6, perf 1, ci 1;不带前缀的 22 个全是 merge 提交。

致谢

上游 OpenSpec CLI(@fission-ai/openspec)1.13 与 1.14 两线的协议步进,圈定了这两个版本的全部窗口与契约。

链接