Preface¶
When using DeepSeek Harness (DSH) for long-term solo projects, state continuity is an unavoidable issue: projects span multiple sessions and turns, and before each round, you must clarify “what is the goal, what Milestone is currently achieved, and where did the previous round stop?” Without a persistent anchor, this information relies on manual handoff, making the Goal prone to drift.
DSH’s philosophy is “everything is a plugin,” and such continuity requirements can be handled by plugins. The following introduces such a plugin: dsh-project-anchor.
What is this¶
dsh-project-anchor is maintained by KKLL2025 and is licensed under MIT. In one sentence: it provides a user-approved Goal, a single active Milestone, and persistent Turn checkpoints for long-running solo DeepSeek Harness projects. Project-level logic is not hardcoded in the plugin but left for on-demand loading Skills.
The current version is v0.1.0-preview.1, following a source-only GitHub Preview route: not published to npm, no branch-based installation route, and can only install the reviewed full commit recorded in the release notes. The verified host is DeepSeek Harness 0.1.0-rc.6 (source revision 47f943859bef60e4160492346772ded9b24f765a); DSH itself is in developer preview, and future versions may require plugin modifications.
Core Features¶
- Project Anchoring: Anchors a long-term solo DSH project to a user-approved Goal, a single active Milestone, and a persistent Turn checkpoint.
- Cold Recovery and Consent-Gated Resume: Cold recovery can provide a native resume requiring user consent (consent-gated) for the associated DSH Goal. When state is missing, drifted, postponed, issues are unavailable, or recovery fails, the Anchor and Milestone remain unchanged.
- Three byte-level frozen built-in Skills:
align-project-requirements,drive-large-project,organize-ai-project-files. DSH only loads the Skill body and referenced resources when selected. - Three execution intensity levels:
drive-large-projectprovides fast, continuity, and high-risk/release modes, selecting the lightest sufficient level based on current risk and acceptance boundaries. Note that this is a temporary Skill judgment, not a native plugin state, and the model cannot persist or elevate it via the Anchor field; external operations like public release still require separate authorization. - Permissions and Boundaries: The plugin remembers the association between consent and a stable Goal, exposing checkpoint tools only when the Anchor is activated, and derives Goal, Milestone, and Turn identities from DSH’s real-time state. Standard tools remain unrestricted; in the absence of a checkpoint, at most one short fix attempt within the same Turn is granted to avoid forced loops.
- Activation Logic: When there is no current DSH Goal, the plugin asks whether to enable the persistent continuity layer after a Skill loads successfully. When a suitable Goal exists, explicit reuse or recovery options are provided. Completed Goals will not be replaced or reused; headless activation without a question provider will fail closed.
Installation and Activation¶
Prerequisites: Node ^22.19.0 || >=24.11.0, pnpm in PATH, and DeepSeek Harness 0.1.0-rc.6. First, install the host and confirm the version:
npm install --global @deepseek-ai/dsh@0.1.0-rc.6
dsh --version
Ensure dsh --version outputs 0.1.0-rc.6. Then install the plugin:
dsh plugin --profile web add github:KKLL2025/dsh-project-anchor#<FULL_COMMIT_SHA>
<FULL_COMMIT_SHA> needs to be copied from the release page of v0.1.0-preview.1 (the full 40-character commit), not the package name or branch name.
The first add command is expected to stop before running the Git package’s prepare build: Git source installation runs the package’s prepare script, requiring explicit approval from pnpm’s allowBuilds. This is host code execution, so the source code should be reviewed before approval. Write the complete dependency key printed by pnpm into the pnpm-workspace.yaml of the selected profile:
allowBuilds:
'<EXACT_KEY_PRINTED_BY_PNPM>': true
Copy the key completely; do not shorten it to the package name. Then repeat the same add command and verify the installation result with the following two commands:
dsh plugin --profile web list dsh-project-anchor --depth 0
dsh --profile web --dump-config
The dependency list should include dsh-project-anchor, and the config dump should contain exactly one # == dsh-project-anchor layer. If the Web UI is already running, the DSH process needs to be restarted after installation.
Typical Usage¶
When starting a project, use a standard project request that calls out the Skill:
Use `drive-large-project` for this multi-session project: <describe the project and desired result>. Recover the repository's real state, choose one independently verifiable Milestone, carry it through validation, and finish the Turn with the Project Anchor checkpoint.
When there is no current DSH Goal, the plugin asks whether to enable the persistent continuity layer after a Skill loads successfully. When a suitable Goal exists, explicit reuse or recovery options are provided, without silent replacement.
For subsequent sessions, a shorter request suffices:
Continue this project with `drive-large-project`. Recover the current Goal, Project Anchor state, handoff, and repository facts; work only on the next unblocked Milestone, then validate and checkpoint it before ending the Turn.
After cold recovery, DSH puts the Goal in a disarmed state. The next load of drive-large-project verifies that the current Goal matches the active Anchor completely and asks whether to resume; only an explicit answer of Resume this Goal will trigger the native DSH resume. Postponement, missing state, version changes, or issues unavailability will keep the Goal, Anchor, and Milestone unchanged.
Suitable Scenarios and Notes¶
Suitable scenarios: Solo maintenance of long-term DSH projects spanning multiple sessions and turns, needing a persistent anchor for a clear “where are we now, what’s next,” while leaving project methodology to Skills for on-demand loading.
Please note before use:
- The plugin runs with the permissions of the current dsh process; installation implies executing this code in your environment. Git source installation triggers the prepare script (host code execution), so the source code should be reviewed, the full commit SHA fixed, and the license (MIT) confirmed before installation. Do not install from a moving branch.
- Restart recovery has only been tested using JSONL persistence in a standalone Node.js process; OS power loss, write tearing, and cross-machine recovery are outside the current scope of evidence.
- External operations like public release still require separate authorization, and execution intensity cannot be persisted or elevated by the model. Repository rules, explicit user decisions, and current acceptance declarations remain authoritative.
Conclusion¶
dsh-project-anchor converges cross-session project continuity issues onto a verifiable anchor using a user-approved Goal, a single active Milestone, and a persistent Turn checkpoint, while leaving project judgment to Skills and yourself. If you are running long-term projects with DSH, it is worth a look.
- GitHub: https://github.com/KKLL2025/dsh-project-anchor
- Community Directory: https://www.skillhub.cn/plugins/KKLL2025/dsh-project-anchor (Community independent site, no official affiliation with DeepSeek / Hypothesis)