
tianji-qingtian/dsh-spec-loop
120Last commit Aug 14, 2026
dsh-spec-loop DSH plugin
dsh-spec-loop adds a /spec command family to DeepSeek Harness, enabling a structured propose → approve → implement → verify → archive workflow. It integrates with the OpenSpec layout under the workspace and provides a durable state machine, automatic validation, and per-scenario verification. The plugin also adds a change card in the composer dock showing current stage and progress.
How to install the dsh-spec-loop DSH plugin
dsh plugin --profile web add "github:tianji-qingtian/dsh-spec-loop#v0.1.2Copying does not run this command. Review the repository and version before installing the dsh-spec-loop DSH plugin.
dsh-spec-loop DSH plugin data source
dsh-spec-loop DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-spec-loop DSH plugin can do
- /spec command family: init, new, status, list, show, approve, implement, verify, archive, validate, edit
- OpenSpec-compatible directory layout with automatic validation and deltas merging
- Durable state machine (proposed → approved → implemented → verified → archived) surviving restarts without custom event types
- Per-scenario verification with judge call and execution of bash commands from proposal.md
- Change card in composer dock showing change-id, stage, task progress, and next command, with locale support (zh/en)
Where the dsh-spec-loop DSH plugin fits
- Manage feature development with a clear spec-driven workflow in DeepSeek Harness
- Track and verify changes against OpenSpec requirements automatically
- Collaborate on proposals with built-in clarification questions and approval gates
- Archive completed changes by merging deltas back into spec files
Who the dsh-spec-loop DSH plugin is for
- Developers using DeepSeek Harness for AI-assisted coding
- Teams adopting OpenSpec-based specification-driven development
dsh-spec-loop DSH plugin limitations
- Requires the dsh CLI on PATH; not compatible with only npx usage
- Approval state is per-session, not shared between sessions
- ctx.fs has no move/delete, so archive uses ctx.shell (workspace sandbox allows it)
- No custom session event types, so state transitions rely on standard events
dsh-spec-loop DSH plugin: from the repository README
Quoted from the tianji-qingtian/dsh-spec-loop README, the upstream source of the dsh-spec-loop DSH plugin. Copyright remains with the original authors.
Spec-driven development loop for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (`dsh`): a `/spec` command family drives **propose → approve → implement → verify → archive**, with change directories compatible with the [OpenSpec](https://github.com/Fission-AI/OpenSpec) layout under `<workspace>/openspec/`. > The harness is in developer preview and iterates quickly — expect compatibility-breaking changes. > 中文说明见 [README.zh.md](README.zh.md)。 ## Features - **`/spec` command family** — `init` · `new <goal>` · `status` · `list` · `show <id>` · `approve <id>` · `implement <id>` · `verify <id> [--deep]` · `archive <id>` · `validate [id]` · `edit <id>`. Commands orchestrate and touch the filesystem only; proposal and implementation content is generated by the agent's main model through `agent.steer` with the full tool set. - **Clarification on `/spec new`** — up to three built-in choice questions (scope / constraints / acceptance), in the language of the goal; answered through the harness question UI. Subagent sessions and missing UI providers fall back to proceeding without clarification. - **OpenSpec-compatible layout** — `openspec/project.md`, `openspec/specs/
Read the full READMERepository license: MIT
dsh-spec-loop DSH plugin questions
How do I install dsh-spec-loop?
First ensure the dsh CLI is on your PATH by running 'npm install -g @deepseek-ai/dsh' or 'pnpm add -g @deepseek-ai/dsh'. Then run 'dsh plugin --profile web add "github:tianji-qingtian/dsh-spec-loop#v0.1.2"' and restart the harness with 'dsh --profile web'. Verify the plugin is listed under Settings > Plugins.
What commands are available after installing this plugin?
The plugin adds a single /spec command with subcommands: init, new, status, list, show, approve, implement, verify, archive, validate, and edit. Each subcommand drives a specific step in the spec-driven development loop. Use /spec help for a quick reference.
Does the plugin work with existing DeepSeek Harness projects?
Yes, but you need to run /spec init first to create the OpenSpec-compatible directory layout (openspec/project.md and subdirectories) under your workspace. After that, /spec new will start a new change proposal.
Can I use this plugin with the npx version of DeepSeek Harness?
No, the plugin requires the dsh CLI to be installed globally on your PATH. If you only run the harness through npx, you will get 'command not found: dsh'. Install dsh globally with npm or pnpm, then use the plugin.
How does the approval gate work?
The implement command refuses to run if the change is not in 'approved' state. The approve command changes the state from 'proposed' to 'approved'. The state is tracked per session via a projection of standard command events, so it persists across restarts within the same session.