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.0 is the tested baseline);
  • DeepSeek Harness CLI 0.1.0-rc.6 available as dsh;
  • 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-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. 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:

  1. Enable or Not now;
  2. the exact final project result for the persistent Goal;
  3. 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 found or exit code 127: install pnpm and put it on PATH.
  • 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 no declares no dsh.bundle warning.
  • The consent question does not appear: confirm the agent successfully loaded the exact drive-large-project Skill, the selected surface has a question provider, and the session did not already record Not 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.