The first request sees 2 tools before the catalog grows
dsh-anchored-standard changes the conditions DeepSeek sees at the start of a coding session. The base preset exposes only bash and str_replace_editor, suppresses automatic context injections, and keeps the Minimal system prompt. After the first durable tool call or assistant reply, it restores context and exposes discovery tools. Heavier Standard tools remain available through explicit search rather than appearing in one large catalog. The design is aimed at model trajectory, not execution speed.
The repository now contains 7 modes. Zero-Anchored and Whoami add a tool-free opening turn. Eternal Minimal hides the larger catalog behind a shell gateway. Wire Think-Execute adds a separate thinking call with tools present but disabled, while Combo combines several steering mechanisms. These modes do not share one cost profile. Some add one model request per session, per subagent, or per user turn, and changing the visible catalog breaks request-prefix cache continuity.
The published 98/99 scores do not cover today's generic preset
The headline Project2 results were 98, 99, and 99, but the README supplies an unusually important provenance correction. Those runs used an older first-request surface with pwsh and read, then promoted to a full 25-tool Standard catalog. The current base uses the actual Minimal pair plus a smaller resident catalog. The generic prefab also removes Project2-specific warm-up facts and was not re-benchmarked before API pricing made the evaluation loop unaffordable.
Independent reports are mixed rather than confirmatory. One replication anchored trajectories 9 out of 9 times, but its estimated ability difference was small enough that the 95% confidence interval crossed zero. Another multi-environment effort reported ability scores of 85 to 90 and did not reproduce 98 or 99. The honest reading is that the request conditions affect style reliably in these experiments, while the size of any coding-quality gain remains unresolved.
What happened when we ran it
Our sandbox cloned commit 25f21ae and completed installation in 10 seconds. The npm project installed 0 packages and occupied 3 MB. There is no build script or target, so we skipped that step rather than inventing one. Node's test runner finished in 9 seconds with 205 passed and 0 failed out of 205. Npm audit reported 0 known vulnerabilities across every severity level.
The checkout held 126 files, about 17,524 lines of source, and 1.3 MB before installation. Our scan found 1 CI workflow and a tests directory, but no Dockerfile. These results verify the repository's zero-dependency checks in a fresh Node 22 Debian container. They do not reproduce the DeepSeek behavior studies, because our lab run had no secrets and did not send paid model requests.
Verification requires exported request headers
Copying a mode directory is simple, but successful copying does not prove the mechanism ran. The README asks users to create a blank session, select the preset, and inspect exported JSONL. Request 1 should contain exactly the 2 Minimal tools and omit instruction-file and skill-catalog injections. The next changed request header should show the resident catalog, including dev_tool_search, skill_search, and skill_load, plus any tools already unlocked.
That check is necessary because host drift can fail quietly. Issue 32 describes DeepSeek Harness rc.6 changing the tool registry to a scoped view. The preset's search code queried the global view and returned no matches, leaving heavier tools unavailable even though promotion appeared to happen. A fix was merged on August 26, but the episode shows why the exported header and an actual unlock call belong in every upgrade check.
A persistent PTY makes shell mistakes expensive
The base mode relies on a persistent PTY-backed Bash tool. It gives the model session continuity and also inherits shell continuation behavior. Issue 75 reports that an unterminated heredoc, quote, or bracket can leave Bash at the PS2 prompt. The completion marker never returns, so the tool waits until its overall timeout. The reporter's workaround is to create scripts with the editor tool and execute the saved file instead of asking the model to compose multiline heredocs.
Issue 61 reports a 3.5-second delay after every Bash call on Linux, though it establishes no cause. These runtime findings sit outside the 205 repository tests. A trial should include malformed input, cancellation, restart, compaction, and session reload.
The bare Minimal persona can claim the wrong identity
Issue 81 shows DeepSeek V4 Pro answering an identity question by saying it was Claude because the byte-matched Minimal persona names no provider. Appending a DeepSeek Harness identity sentence corrected that answer in the reporter's session, while the mechanical 2-tool bootstrap and promotion checks remained intact. The reporter did not rerun the trajectory A/B test, so the change cannot yet be called behavior-neutral.
This is a useful example of the preset's tradeoff. Reproducing a sparse prompt condition means omitting information a normal product prompt may require. Teams can pin identity, preserve the experimental prompt, or avoid identity-sensitive use, but they cannot assume the model will infer the intended answer. The same caution applies to suppressed AGENTS.md and skill reminders during the first request: the mechanism works by withholding normal context.
Maintenance continues after active evaluation stopped
The README dates the end of active development to August 17, 2026, citing higher DeepSeek API and subscription prices. GitHub still recorded a push on August 26, 3,775 stars, and 18 combined issues and pull requests. Recent merged work addressed Windows paths, context hint persistence, preset hydration, and the rc.6 tool search problem. The right label is maintenance-only with current fixes, not abandoned.
There is no published GitHub release, so adopters must pin a commit rather than a release tag. DeepSeek Harness itself is a developer preview that permits breaking changes. The MIT license makes forking possible, but ownership of compatibility testing then falls on the adopter. This repository is most useful as documented experimental apparatus: its code, probes, caveats, and failed replications are more defensible than its headline score.

