comet dashboard 启动一个本地只读的浏览器仪表盘,把命令行里散落在多个文件里的状态——活跃和归档的 change、五阶段进度、产物清单、任务完成度、verify 结果、下一步建议、风险项和 Git 快照——汇总成一个可视化界面。
它只读,不会修改任何文件,可以随时安全启动,适合在开发过程中常驻一个标签页观察进度。
仪表盘支持亮色和暗色两种主题(见下方主题切换):


活跃变更概览:阶段步进条、产物分组、任务完成度环形图与风险提示

支持产物markdown预览
启动
在项目根目录运行:http://localhost:4321 启动并自动打开浏览器。终端会显示:
服务器只绑定
127.0.0.1(localhost),不对外暴露。静态文件服务有路径穿越防护,产物预览有大小限制(256 KiB,超出标记 truncated)。界面布局
仪表盘采用三栏布局:左侧导航栏、中间变更详情、右侧侧边面板,顶部是项目信息和工具栏。项目概览卡片
页面顶部是五张汇总卡片,每张都有一个从 0 开始的数字动画,一眼看清整个项目的健康度:| 卡片 | 含义 | 健康状态 |
|---|---|---|
| 活跃变更 | 当前 repo 中进行中的 change 数 | 标记「进行中」 |
| 已归档变更 | 历史迭代数 | 标记「已完成」 |
| Verify 失败 | verify 阶段失败的 change 数 | 0 时标记「健康」,否则标记「阻塞」 |
| 未完成任务 | 跨变更统计的未完成任务项 | 0 时标记「清零」,否则标记「待办」 |
| Git 未提交 | 工作区脏文件数 | 0 时标记「干净」,否则标记「未提交」 |
变更工作区
概览下方是变更工作区,左侧是 Changes Explorer 列表,右侧是被选中 change 的详情和侧边面板。 Changes Explorer 支持:- 标签页筛选:活跃 / 已归档 / 全部
- 搜索框:按 change 名称、工作流、阶段实时筛选
- 每张卡片显示:change 名称、当前阶段、任务完成度进度条(completed/total)和 verify 状态药丸(通过/失败/待验证/未知)
每个 change 能看到什么
选中一个 change 后,中间和右侧会展示它的完整状态。生命周期阶段步进条
以五个圆点 + 连接线展示 open → design → build → verify → archive 的当前位置:- 已完成的阶段显示为 ✓ 蓝色实心
- 当前阶段高亮显示阶段名
- 未开始的阶段为灰色
关键产物(按来源分组)
产物不再是一个平铺列表,而是按来源分三组展示,并显示每个产物的状态:| 分组 | 产物 | 来源 |
|---|---|---|
| OpenSpec | proposal、design、tasks、deltaSpec | 变更目录内的规格文件 |
| Superpowers | designDoc、plan、verifyReport | 通过 .comet.yaml 路径指针引用的 docs/superpowers/ 文件 |
| Comet | .comet.yaml、handoff、checkpoint、brainstorm、subagentProgress | .comet/ 中间产物 |
- 已生成(蓝点):文件存在,点击可预览全文
- 未生成(空心点):预期产物但尚未创建
- 无需生成(灰点):当前模式/阶段不适用,例如
subagent-progress在executing-plans模式下
任务进度环形图
任务进度用一个环形图(donut)+ 三列统计展示:- 环形图:完成度百分比,从 0% 动画填充;全部完成时变绿
- 三列统计:已完成 / 剩余 / 分组数
- 分组进度条:tasks.md 里每个 section 的完成度
- 下一步提示:全部完成时提示「可以进入 Verify」,否则提示剩余多少项
右侧侧边面板
侧边面板根据 change 状态显示不同卡片:活跃 change
- 下一步建议:推荐的 slash 命令 + 原因 + 说明
- 风险提示:检测到的 info/warning/error 级风险项和恢复建议
- Git 快照:分支、HEAD、最近提交、未提交文件
已归档 change
- 归档摘要:归档名、原名、归档时间和路径、任务完成度
- 风险提示:归档时的遗留风险
- Git 快照:归档时的 Git 状态
产物预览抽屉
点击任意已生成的产物,会从右侧滑出一个全屏高度的抽屉:- 标题区:产物名、完整文件路径
- 元数据:文件大小(B/KB/MB)和更新时间
- 内容区:带简易 Markdown 渲染(标题、列表、代码块、行内代码、加粗),超过 256 KiB 时截断并提示
主题切换:亮色 / 暗色
仪表盘支持亮色和暗色两种主题,在顶部工具栏右侧点击太阳/月亮图标切换。- 首次访问时,根据系统偏好(
prefers-color-scheme)自动选择主题 - 手动切换后,选择会持久化到
localStorage(key 为comet-theme),下次打开沿用 - 切换在
<html data-theme>属性上生效,避免首次渲染闪烁
主题偏好存储在浏览器本地,不会跨设备同步。在另一台机器或另一个浏览器上打开 dashboard 时,会重新读取系统偏好。
自动刷新
前端每 30 秒自动刷新一次快照,无需手动操作。也可以点击工具栏的「立即刷新」按钮手动刷新,刷新成功会弹出 toast 提示。- 自动刷新不会和手动刷新并发(有锁保护,避免重复请求)
- 演示模式(
?demo)下同样每 30 秒重新加载演示数据
演示模式
在 URL 加?demo 可以加载演示数据(不读真实 change),方便预览界面、截图或检查布局:
web/demo.js,覆盖首屏、侧边栏、卡片、产物分组和抽屉的全部 UI 状态。
风险码参考
仪表盘的风险提示卡片会显示检测到的风险码:| 风险码 | 含义 |
|---|---|
MISSING_COMET_YAML | change 缺少 .comet.yaml |
UNKNOWN_PHASE | 阶段无法识别 |
TASKS_MISSING | 缺少 tasks 文件 |
TASKS_INCOMPLETE | 任务未完成 |
VERIFY_FAILED | verify 失败 |
VERIFY_PENDING | verify 待跑 |
ARTIFACT_MISSING | 缺少关键产物 |
ARCHIVE_METADATA_MISSING | 归档元数据缺失 |
GIT_DIRTY | (项目级)工作区有未提交改动 |
仪表盘读取
openspec/changes/(活跃)和 openspec/changes/archive/(归档),采用尽力而为策略:单个 change 出错不会让整个页面空白,错误会被隔离并跳过。下一步
- comet dashboard 命令 — 完整命令选项和脚本/CI 用法
- comet status — 命令行版的活跃 change 状态
- 中间产物 —
.comet/中间产物的作用

