Introduction¶
In the agent development workflow, specifications are often separated from the code repository, leading to loose requirements tracking and change management. The DeepSeek Harness (DSH) ecosystem allows developers to extend sidebar functionality through plugins. dsh-spec-panel is a companion plugin based on dsh-better-sidebar. It centers on the OpenSpec standard directory structure and provides a Spec workbench in the sidebar, making the workflow of “write specs first → implement → verify” concrete in the file system.
Core Positioning¶
This is a sidebar Spec workbench. It aims to provide requirements browsing, change management, and task checklist functions through the OpenSpec standard directory structure. The plugin does not maintain additional state; instead, it directly reads and writes real files in the workspace.
Prerequisites¶
- You need to install DeepSeek Harness web (
dsh web). - You need to install the
dsh-better-sidebarplugin with a version of 0.16.0 or higher. - Development requires Node.js ≥ 20 and pnpm ≥ 10.
Installation¶
Install it via the command line:
dsh plugin --profile web add dsh-spec-panel
After installation, restart the dsh web service.
Core Features¶
The plugin provides the following modules:
- Source of Truth (specs/): Lists openspec/specs/<domain>/spec.md and allows rendering requirements and scenarios by clicking the entry.
- Change Workbench (changes/): Displays the four artifacts for each change: proposal, design, tasks, and increments. It also shows completion and status badges.
- Status Inference: It does not introduce extra state files. It infers change status from artifact presence, such as tasks.md completion: proposed, in progress, or completed. The archive directory is always treated as “archived”.
- Task Checklist: Check or uncheck checkboxes in tasks.md directly from the sidebar; changes are written back to disk in real time.
- Template Creation: On first use, enter a change name (kebab-case, such as add-dark-mode) to automatically generate a template directory containing proposal, design, tasks, and specs.
- Archive (archive/): Displays historical change records.
- Editor Integration: Supports directly opening any artifact (absolute path) in the sidebar’s built-in editor.
Usage¶
- Open a workspace; the panel reads the
openspec/directory under it. - Select Spec in the sidebar menu.
- On first use, click the “+” button and enter a change name; the system automatically generates the template.
- In the “Tasks” tab, check or uncheck tasks; changes are synchronized to the
tasks.mdfile on disk in real time. - Click the “↗” icon to open the corresponding artifact file in the editor and refine it.
Directory Structure¶
The plugin is compatible with the OpenSpec standard layout, and file operations are limited to the <会话cwd>/openspec scope:
<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/ # 已归档变更
Notes¶
- The plugin runs with the permissions of the current DSH process, file operations are strictly limited to the
<会话cwd>/openspecscope, and out-of-scope paths are rejected. - The directory page and GitHub repository are community-maintained and are not affiliated with DeepSeek or High-Flyer official.