dsh-loopx-plugin
loopx-project/loopxLoopX——面向长周期 Agent 的提供商中立、本地优先状态内核与控制平面:在 DeepSeek Harness 执行层之上持久化 Goal、Todo、门禁、证据、配额、恢复与交接状态;插件负责引导安装 CLI 与技能、准入有界的同会话续跑,并为精确绑定的工作循环提供本地 GoalBar。
Turn an idea into a reviewable specification, implementation plan, task list, and resumable DeepSeek Harness goal.
SpecFlow stores the work in the repository instead of one conversation. A later session can read the same artifacts, recover the next unchecked task, and resume the matching durable DSH goal.
The v0.1.4 release is live on npm and tested with DSH 0.1.0-rc.8 and 0.1.1-rc.1 while retaining the rc.6-compatible peer range.
dsh plugin --profile web add dsh-specflow
dsh web
In a DSH session, enter /specflow to see the workflow. A complete run uses these commands:
/constitution Require focused tests for every behavior change
/specify Add resumable exports to the CLI
/plan-spec 001-resumable-exports
/tasks 001-resumable-exports
/implement 001-resumable-exports
After a restart or a new session, recover the durable state without reconstructing the conversation:
/specflow 001-resumable-exports
/implement 001-resumable-exports
flowchart LR
Idea["Feature idea"] --> Specify["/specify"]
Specify --> Spec["spec.md"]
Spec --> Plan["/plan-spec → plan.md"]
Plan --> Tasks["/tasks → tasks.md"]
Tasks --> Implement["/implement"]
Implement --> Goal["Durable DSH goal"]
Goal --> Verify["Verify task → check tasks.md"]
Verify -->|next task| Implement
Goal -->|new session| Resume["/specflow → /implement"]
See examples/001-resumable-export for a complete artifact set paused at 2/4 tasks.
SpecFlow keeps requirements, design decisions, and task progress in reviewable workspace files instead of relying on one chat's memory. A durable DSH goal represents the whole specification, while tasks.md remains the authoritative record for individual work items.
SpecFlow provides:
constitution, specify, plan-spec, tasks, and implement;/specflow, /constitution, /specify, /plan-spec, /tasks, and /implement;specflow_status tool that reads checkbox progress from tasks.md;/implement;spec.md, plan.md, and tasks.md..dsh/
├── memory/
│ └── constitution.md
└── specs/
└── 001-example-feature/
├── spec.md
├── plan.md
└── tasks.md
The spec directory is the durable source of truth. SpecFlow does not add a required custom session event or maintain a second hidden task database.
tasks.md through the mounted DSH filesystem service. Its skills may ask the agent to create or update files under .dsh/memory/ and .dsh/specs/ through the profile's normal tool and approval policy.autoInjectContext is enabled, the active goal and the most recently observed task counts become model-visible runtime context.The package supports the DSH >=0.1.0-rc.6 <0.2.0 plugin APIs and Node.js ^22.19 || >=24.
dsh plugin --profile web add dsh-specflow
To pin the current release or install without npm resolution, use the prebuilt GitHub Release tarball:
dsh plugin --profile web add https://github.com/lonelymoon87/dsh-specflow/releases/download/v0.1.4/dsh-specflow-0.1.4.tgz
The release tarball needs no build allowance. A pinned source install is also supported:
dsh plugin --profile web add github:lonelymoon87/dsh-specflow#v0.1.4
The source install runs this package's prepare build. pnpm 10 and later reject it until the profile allowlists the exact package key printed by the failed command; apply that instruction and rerun the same dsh plugin add command. Replace web with headless to install into the one-shot agent profile.
To upgrade, rerun dsh plugin add with the newer release URL. To uninstall:
dsh plugin --profile web remove dsh-specflow
After installation, start DSH with the same profile and use:
/specflow
/constitution Require focused tests for every behavior change
/specify Add resumable exports to the CLI
/plan-spec 001-resumable-exports
/tasks 001-resumable-exports
/implement 001-resumable-exports
/specflow <NNN-slug> reports the durable checkbox progress, next task, artifact path, and exact resume command. The same status is available to the agent through specflow_status.
The bundle inserts the plugin with defaults. A profile may configure the plugin entry directly:
- id: specflow
name: dsh-specflow
config:
specsDir: .dsh/specs
autoInjectContext: true
specsDir may be workspace-relative or absolute. autoInjectContext controls only the model-facing progress snapshot; it does not change goal or artifact behavior.
register() method./implement refuses to replace an unrelated active goal.dsh-specflow and installs through the public npm registry.dsh --dump-config.latest and next npm tags.