dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
KDB-Wind/dsh-minimal-anchored
DeepSeek Harness preset: first round uses the official Minimal tools, then unlocks full Standard. 复现 Project2 评测中更高分的 We/Let's 思维链(Minimal 99/96 vs Standard 91/92),改善 Windows 上 DeepSeek V4 Pro 的 Let me 现象。
PROJECT TOPICS
PROJECT README
An experimental DeepSeek Harness preset. On the first request it shows the model
the same two tools as DeepSeek's official Minimal preset, persistent bash and
str_replace_editor, with the Minimal system prompt, a 1024-token output limit,
and no injected workspace or skill context. Once the session makes its first
tool call or writes its first reply, the full Standard tool catalog opens up.
This is a community project. It is not an official DeepSeek preset and is not affiliated with or endorsed by DeepSeek.
DeepSeek V4 Pro pays a lot of attention to which tools it can see in the API.
Upstream also reported Project2 V4.1b scores on this endpoint: the official
Minimal preset scored 99 and 96, while Standard and PTC scored 91 and 92, and
the higher-scoring runs showed the we/let's reasoning style. This preset
copies Minimal's first-request tool identity.
The upstream experiment
xiaobright/dsh-anchored-standard
bootstrapped the first request with pwsh/bash + read, a 1024-token output
cap, and stripped injected context. Its
issue #11
then ran controlled Windows tests and found that the tools shown on the first
request matter most:
| First-request tools | Source | n | First line | let me |
|---|---|---|---|---|
persistent bash + str_replace_editor |
official Minimal preset | 5 | 5/5 We need... |
0.0 |
pwsh + read |
anchored-standard | 8 | 8/8 The user wants / Let me... |
2.0 to 2.6 |
This preset keeps that approach and changes only the first-request tool surface.
It mounts the official Minimal persistent-shell and editor groups, so request #1
sees bash + str_replace_editor. The 1024-token cap and the first-request
context filter stay. After promotion the session gets the full Standard catalog
plus those two tools.
You are a helpful software engineer assistant.bash and str_replace_editor.suppressedContextSources). Skill gestures the user sends themselves are
not filtered, and both injections come back from request #2 on.bootstrapMaxTokens (default 1024), then release the cap
after promotion.tool/call or the first assistant/message, expose
the full Standard catalog. Request #1 always sees the bootstrap catalog and
request #2 always sees the full one.Local tests on Windows 11 with opencode-go, deepseek-v4-pro, and
reasoningEffort=max, 2026-08-15. Counts match upstream: completed reasoning
text, case-insensitive, whole words.
| Preset | Prompt language | First-request tools | maxTokens |
we |
let's |
let me |
|---|---|---|---|---|---|---|
| dsh-anchored-standard (real session) | Chinese | pwsh, read |
1024 | 0 | 0 | 5 |
| dsh-anchored-standard (control) | English | pwsh, read |
1024 | 3 | 2 | 0 |
| dsh-minimal-anchored #1 | English | bash, str_replace_editor |
1024 | 2 | 1 | 0 |
| dsh-minimal-anchored #2 | English | bash, str_replace_editor |
1024 | 3 | 1 | 0 |
| dsh-minimal-anchored | Chinese | bash, str_replace_editor |
1024 | 0 | 0 | 1 |
One more Windows session, reported by a user but not counted line by line, used
only we/let's reasoning and no let me.
A few limits worth knowing:
we, let's, and let me are trajectory fingerprints, not performance
claims. Matching the wording does not promise a score or capability change.we fingerprint; see upstream issues
#6 and
#11.Developed and tested against:
0.1.0-rc.547f9438DeepSeek Harness is a developer preview and explicitly permits breaking changes. Check the upstream composition before using this preset with a newer release.
On Windows the bootstrap shell is persistent bash. Make sure a bash is
available (Git for Windows or WSL, for example) before starting a session.
Clone this repository and copy the whole preset directory into the user
preset root under the id minimal-anchored.
PowerShell:
$dshHome = if ($env:DSH_HOME) { $env:DSH_HOME } else { Join-Path $env:USERPROFILE '.dsh' }
$target = Join-Path $dshHome '.agent-presets\minimal-anchored'
if (Test-Path -LiteralPath $target) { throw "Preset already exists: $target" }
New-Item -ItemType Directory -Force -Path (Split-Path -Parent $target) | Out-Null
Copy-Item -Recurse -LiteralPath '.\preset' -Destination $target
Linux/macOS:
dsh_home="${DSH_HOME:-$HOME/.dsh}"
mkdir -p "$dsh_home/.agent-presets"
test ! -e "$dsh_home/.agent-presets/minimal-anchored"
cp -R preset "$dsh_home/.agent-presets/minimal-anchored"
Restart DeepSeek Harness completely, start a blank session, and select Minimal Anchored Standard (experimental). Do not switch presets in a session that already has content.
Export the session JSONL and inspect request/header events:
bash and str_replace_editor, with
config.maxTokens: 1024 and the Minimal persona system prompt;bash and
str_replace_editor);Run the local zero-dependency tests:
npm test
promoteOn: either, the session promotes after its first
durable tool/call or its first assistant/message, whichever comes first.
Set promoteOn: tool-call to require a tool call.tool/call already exists.promoteOn values
fail when the preset mounts.source.kind is listed in suppressedContextSources (default:
agent-instructions and skill-catalog). Set the list to [] to turn the
context filter off. If the filter itself fails, it keeps every message.This project is derived from
xiaobright/dsh-anchored-standard
at commit 6472c1c, with the first-round budget-cap listener fix synced from
upstream PR #13 (commit c774e60). That project is based on the DeepSeek
Harness Standard preset. The Minimal persistent-shell and editor groups are
copied from the official DeepSeek Harness Minimal preset. Copyright and license
details are in LICENSE and NOTICE.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。