Getting started
August 16, 2026 ยท View on GitHub
This guide installs the verified GitHub public Preview, checks the composed bundle before startup, and shows the first two requests to use with Project Anchor.
Prerequisites
- Node.js
^22.19.0 || >=24.11.0; - pnpm available on
PATH(11.21.0is the tested baseline); - DeepSeek Harness CLI
0.1.0-rc.6available asdsh; - a DSH profile with a question-capable surface, such as
web.
DeepSeek Harness requires an explicit profile for plugin management. The examples
below use web; use the same profile name when installing, checking, running,
and removing the plugin.
Install the GitHub Preview
Install and verify the tested CLI version:
npm install --global @deepseek-ai/dsh@0.1.0-rc.6
dsh --version
The version command must print 0.1.0-rc.6. Open the
v0.1.0-preview.1 release
and copy its verified 40-character source commit. Run the following command with
that exact value:
dsh plugin --profile web add github:KKLL2025/dsh-project-anchor#<FULL_COMMIT_SHA>
The first add is expected to stop before pnpm runs the Git package's prepare
build. In the selected profile's pnpm-workspace.yaml, approve the complete key
printed by that failure:
allowBuilds:
'<EXACT_KEY_PRINTED_BY_PNPM>': true
Do not replace the printed key with only dsh-project-anchor. Review the pinned
source first: this approval permits package code to execute on the host outside
any agent sandbox. Repeat the same dsh plugin ... add command after approval.
The release page records the fixed revision and external checks. The package is not published to npm.
Installation writes the dependency and bundle entry into the selected DSH profile. It does not edit this repository or another profile.
Verify before booting
dsh plugin --profile web list dsh-project-anchor --depth 0
dsh --profile web --dump-config
The dependency list should include dsh-project-anchor. The config dump should
contain exactly one # == dsh-project-anchor section with the
project-anchor-skills and project-anchor rows.
Start Web after verification:
dsh --profile web
Restart the DSH process when installing into a profile that is already running.
First request
Send a normal project request that explicitly selects the execution Skill:
Use
drive-large-projectfor 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. Ask me before decisions that change product direction, permissions, spending, or public release.
The first successful load of drive-large-project opens the consent handshake.
With no current DSH Goal, the choices and questions are:
EnableorNot now;- the exact final project result for the persistent Goal;
- the next independently verifiable Milestone.
Not now suppresses the handshake for that session. An empty, closed, or
unavailable answer never counts as consent. When a current Goal exists, Project
Anchor offers Reuse this Goal, Resume this Goal, or Skip Project Anchor as
appropriate for its live state.
The Goal covers the durable project result. The Milestone covers one result that can be checked independently. The Turn carries out only that current Milestone and closes with a checkpoint containing result, evidence, gaps, and next action.
How execution intensity changes
drive-large-project chooses the lightest sufficient intensity for the current
Milestone. Reversible local work can use fast with focused checks; cross-Turn,
cross-module, durable-state, or costly-recovery work uses continuity; external,
security-sensitive, migration, compatibility, or publication work uses
high-risk/release with the broader evidence required by its acceptance claim.
The choice is temporary Skill judgment and is not stored in Project Anchor
state. Repository rules, user decisions, and release authorization still apply.
Continue later
Use this request after reopening the project or resuming a stored session:
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.
On cold recovery, DSH marks any previously open Turn as interrupted. Project
Anchor restores its scoped checkpoint tool but does not automatically resume or
drive the Goal. On the next successful drive-large-project load, an exact
active-Anchor/Goal match offers Resume this Goal when the Goal is disarmed,
paused, or blocked. Not now, an unavailable question provider, missing state,
or a changed Goal leaves both Goal and Anchor unchanged.
Remove the preview
Stop the DSH process for the profile, then run:
dsh plugin --profile web remove dsh-project-anchor
dsh --profile web --dump-config
The second config dump should no longer contain # == dsh-project-anchor or its
two plugin rows. Session events already stored in JSONL remain user data; package
removal does not rewrite session history.
Other profiles
For a custom profile, use that name after --profile in every plugin, dump, and
boot command. For example, boot it with dsh --profile <name>; do not turn the
profile name into a subcommand. Plugin management has no implicit default
profile. Headless composition is tested, but activation requires a question
provider and fails closed without one.
Troubleshooting
--profile <name> is required: add the same explicit profile to the plugin command.pnpm: command not foundor exit code 127: install pnpm and put it onPATH.- The package appears in
list, but the dump has no Project Anchor layer: check that the installed package is this bundle and that installation printed nodeclares no dsh.bundlewarning. - The consent question does not appear: confirm the agent successfully loaded
the exact
drive-large-projectSkill, the selected surface has a question provider, and the session did not already recordNot now. - A running surface still shows the previous plugin set: restart that DSH process after installation or removal.
Local checkout route for maintainers
To build the same preview locally instead of installing through GitHub, run from a reviewed checkout:
npm install
npm run check
npm pack
dsh plugin --profile web add ./dsh-project-anchor-0.1.0-preview.1.tgz
The tarball contains prebuilt JavaScript, so this route needs no allowBuilds
entry. It is a maintainer/development alternative, not an npm distribution path.