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…
PROJECT TOPICS
PROJECT README
An opencode plugin that runs a two-phase tool catalog: bootstrap each session with a minimal tool surface, then unlock the full toolset after the session's first tool call.
Inspired by xiaobright/dsh-anchored-standard,
the two-phase preset for DeepSeek Harness. This is an independent implementation
for opencode — no DeepSeek Harness code is included.
Models with strong tool catalogs can over-rely on them on the very first turn, picking an elaborate tool before understanding the task. A bootstrap phase forces a cheap, minimal start (shell + read) and only hands over the full catalog once the model has actually started working. The phase is derived from durable session state, so resume, reload and compaction all preserve it — no plugin-side storage is needed.
Per session:
bash and
read are usable right now);Promotion state is cached in memory per session and re-derived from message history on demand, so a fresh plugin instance (restart) picks up the correct phase automatically.
Platform note: opencode currently has no API to filter the tool catalog per request (the
toolsarray sent to the model is assembled by the core and not hookable). The anchored approach here keeps the full catalog listed for request-cache stability, and enforces the bootstrap phase through the system prompt plus execution interception. Behavior is equivalent for a rule-following model; the original DeepSeek Harness preset instead hides the tools from the catalog entirely.
Add the plugin to your opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-anchored-standard"]
}
Restart opencode and start a new session. The plugin has no network access and adds no telemetry.
{
"plugin": [["opencode-anchored-standard", { "bootstrapTools": ["bash", "read"] }]]
}
| Option | Type | Default | Description |
|---|---|---|---|
bootstrapTools |
string[] |
["bash", "read"] |
Tools available during the bootstrap phase. |
Check a session's requests:
Bootstrap phase section;bash/read call the Bootstrap phase section is gone and
every tool works.npm install
npm run check # typecheck + build + tests
Tests run against the compiled output with plain node --test, no opencode
instance required.
MIT. The mechanism is inspired by
xiaobright/dsh-anchored-standard
(MIT); see NOTICE.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。