deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:jiezeng2004-design/dsh-requirements-alignment
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
Stop long-running agents from quietly changing what you asked for.
让 DSH Agent 自己做工程决策,但别让它在长任务里悄悄改需求、扩范围、换架构。
dsh-requirements-alignment is a lightweight runtime drift guard for DeepSeek Harness (DSH). It turns the user's intent into a durable requirement baseline, stays out of the way while the agent works, and only interrupts when the next step would materially change the direction.
You decide the direction. The agent decides the engineering.
Current release candidate: v0.5.0-rc.1, targeting DeepSeek Harness 0.1.7-rc.2. Requires Node.js >=22.18.0. See the compatibility report for verified behavior and limits.
Long-running coding agents are good at keeping momentum. That is also how they can drift.
A task may start as:
Fix the result-page filter.
Do not refactor backend logic.
Later the agent discovers that a cleaner solution would require backend changes. Without an explicit guardrail, it may simply expand the scope and continue.
Requirements Alignment changes that behavior:
User intent
↓
Durable requirement baseline
↓
Agent works normally
↓
Direction-changing step detected?
├─ No → keep working silently
└─ Yes → ask once → record decision → continue
The plugin is interested in direction-level changes, not implementation trivia.
Typical drift candidates include:
It should not stop the agent to ask about variable names, helper placement, ordinary refactors inside the approved scope, or other routine engineering choices.
Plan Mode asks:
"Is this the right implementation plan?"
Requirements Alignment asks:
"Are we still solving the right problem?"
Plan Mode helps before implementation starts. Requirements Alignment protects intent during execution.
They are complementary:
Plan → approve → execute → detect direction drift → re-align only when needed
Install this release candidate into your DSH Web profile:
dsh plugin --profile web add dsh-requirements-alignment@0.5.0-rc.1
Then use DSH normally.
Auto mode is the recommended default. Clear tasks continue with zero interruption. When a real direction change appears, the plugin surfaces one decision and records the result.
Use /align any time you want an explicit status check.
| Mode | Behavior |
|---|---|
| Auto | Watches for direction-level drift and asks only when necessary |
| Manual | No automatic drift policy; use /align when you want a check |
| Off | Alignment capabilities are disabled for that session; /align-mode remains available so you can switch back |
Common commands:
/align
/align-mode
/align-mode auto
/align-mode manual
/align-mode off
/align-mode reset
Per-session control:
/align-mode session
/align-mode session auto
/align-mode session manual
/align-mode session off
/align-mode session reset
A session override changes only that session. Shared runtime settings remain separate. On DSH 0.1.7, shared mode uses the profile's runtimeMode field; resetting it to null follows the live mode default without erasing other settings.
User:
Improve the result-page filter. Do not refactor backend logic.
Agent:
[works normally]
Agent discovers:
A complete fix would require backend changes.
Requirements Alignment:
[reports a drift candidate and asks]
User:
Stay within the current scope.
Agent:
[keeps the backend untouched and continues within the approved direction]
User:
The app is single-user and local-only.
Later:
Make it work across devices.
Requirements Alignment:
[detects that accounts/cloud sync may change the architecture]
User:
Approve the direction change: multi-user with accounts and cloud sync.
Agent:
[records the new baseline revision and continues]
The plugin provides a small set of alignment primitives:
establish_baseline records the current goal, explicit constraints, must-preserve behavior, allowed scope and settled user decisions;report_drift surfaces a material direction change, asks through DSH's native user-question path and records the exact decision;/align reports current alignment status and requests a fresh inspection;/align-mode changes Auto / Manual / Off behavior without requiring you to uninstall the plugin.Canonical alignment state is kept in durable sidecar storage instead of being mixed into normal DSH session events. That keeps resume/fork/compaction behavior stable and avoids turning the session log into a plugin-specific state database.
Effective mode follows this order:
valid session override
↓
valid persisted runtime override
↓
valid profile default
↓
auto
This means two live sessions can use different alignment modes without leaking state into each other.
Switching modes changes which alignment capabilities are active. It does not delete the requirement baseline or drift history.
In supported DSH Web builds, the plugin includes a small floating alignment control that exposes the current session mode and shared mode without requiring manual profile edits.
The UI and /align-mode operate on the same underlying state, so they are intended to stay consistent. Live browser interaction was not verified for this release candidate; the packed CLI/Web HTTP path was.
When the agent genuinely needs your decision, the expected behavior is to wait instead of guessing.

The same design principle applies to requirement drift: pause for the high-impact choice, record it, then continue from the new baseline.
dsh plugin --profile web rm dsh-requirements-alignment
Off is not the same as uninstalling: Off keeps the plugin installed so the session can switch back to Auto or Manual at runtime.
The project deliberately avoids becoming a full requirements-management system.
Its job is narrower:
Protect the few human decisions that define what is being built, then let the agent work.
The implementation is designed around:
Found a bug or have an idea? Open an Issue. Pull requests are welcome.
MIT. See LICENSE.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。