前言¶
在智能体开发流程中,规范往往与代码仓库分离,导致需求追踪和变更管理较为松散。DeepSeek Harness (DSH) 生态允许开发者通过插件扩展侧边栏功能。dsh-spec-panel 是一款基于 dsh-better-sidebar 的配套插件,它围绕 OpenSpec 标准目录结构,在侧边栏提供了一个 Spec 工作台,让“先写规范 → 再实现 → 再验证”的流程在文件系统中落地。
核心定位¶
这是一个侧边栏 Spec 工作台,旨在通过 OpenSpec 标准目录结构,提供需求浏览、变更管理和任务清单勾选功能。插件不维护额外状态,而是直接读写工作区内的真实文件。
前置条件¶
- 需要安装 DeepSeek Harness web (
dsh web)。 - 需要安装
dsh-better-sidebar插件且版本不低于 0.16.0。 - 开发需要 Node.js ≥ 20 和 pnpm ≥ 10。
安装¶
通过命令行安装:
dsh plugin --profile web add dsh-spec-panel
安装完成后,需要重启 dsh web 服务。
核心功能¶
插件提供了以下模块:
- 事实源 (specs/):列出 openspec/specs/<domain>/spec.md,点击即可渲染需求和场景。
- 变更工作台 (changes/):展示每个变更的提案、设计、任务和增量四个工件,显示完成度和状态徽标。
- 状态推断:不引入额外状态文件,根据工件存在情况(如 tasks.md 完成度)推断变更状态(提案中、实施中、已完成)。归档目录恒为“已归档”。
- 任务清单:在侧边栏直接勾选 tasks.md 中的复选框,改动会实时写回磁盘。
- 模板新建:首次使用时输入变更名(kebab-case,如 add-dark-mode),自动生成包含 proposal、design、tasks、specs 的模板目录。
- 已归档 (archive/):展示历史变更记录。
- 编辑器联动:支持在侧边栏内置编辑器中直接打开任意工件(绝对路径)。
使用方法¶
- 打开一个工作区,面板会读取其下的
openspec/目录。 - 在侧边栏菜单中选择 Spec。
- 首次使用时,点击“+”号输入变更名,系统会自动生成模板。
- 在“任务”标签页勾选或取消任务,修改会实时同步到磁盘上的
tasks.md文件。 - 点击“↗”图标,在编辑器中打开对应的工件文件进行完善。
目录结构¶
插件兼容 OpenSpec 标准布局,文件操作限定在 <会话cwd>/openspec 范围内:
<workspace>/openspec/
├── specs/<domain>/spec.md # 事实源(系统当前行为)
├── changes/<change-name>/
│ ├── proposal.md # 为什么 / 改什么
│ ├── design.md # 怎么做
│ ├── tasks.md # 实施清单(勾选)
│ └── specs/<domain>/spec.md # 增量 spec(ADDED/CHANGED/REMOVED)
└── changes/archive/ # 已归档变更
注意事项¶
- 插件以当前 DSH 进程的权限运行,文件操作严格限定在
<会话cwd>/openspec范围内,路径越界会被拒绝。 - 目录页与 GitHub 仓库为社区维护,不隶属于 DeepSeek 或幻方官方。