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
DSH (DeepSeek Harness) profile plugin: checks the npm registry for newer
@deepseek-ai/dsh releases at startup and shows a quiet, GUI-styled notice in
the web sidebar when an update is available — click it to copy the update
command or open the npm page.
registry.npmjs.org/@deepseek-ai/dsh at startup (fire-and-forget,
never blocks boot), cached for 6 hours; re-polls every 30 min in the GUI--dsw-* design system) — auto-adapts to
light/dark themesThis is an official DSH bundle (dsh.bundle manifest + in-package
cordis.patch.yml), so it installs through the standard plugin command:
# from the directory that contains the plugin checkout:
dsh plugin --profile web add ./dsh-update-checker
dsh plugin (requires pnpm) links the package into the
profile, appends the bundle to dsh.profile.bundles, and the bundle's own
patch layer mounts the plugin. Verify without booting, then boot/restart:
dsh --profile web --dump-config # shows a "# == dsh-update-checker" layer
dsh --profile web
Remove with dsh plugin --profile web remove dsh-update-checker.
For a running harness the bundle takes effect on the next restart — profile
package.jsonis not hot-reloaded (onlycordis.patch.ymlis). Older DSH versions withoutdsh plugin: copy the package into$DSH_HOME/profiles/packages/, link it into$DSH_HOME/profiles/node_modules/, and insertupdate-checkerin the profile'scordis.patch.yml.
| Side | File | Role |
|---|---|---|
| Host | lib/index.js |
Registers GET /dsh-update-checker/check; queries the npm registry on startup and on stale reads (6 h TTL); semver comparison (prerelease-aware); local version read from the running @deepseek-ai/dsh package |
| Client | lib/client.js |
Sidebar footer slot item; polls the endpoint every 30 min; popover with copy/npm/dismiss actions; dismissal persisted per version in localStorage |
The popover copies:
npx --yes @deepseek-ai/dsh@latest --profile web
Stop the running harness first, run it in a terminal, then reopen the GUI.
update-checker entry from cordis.patch.yml~/.dsh/profiles/node_modules/dsh-update-checker and
~/.dsh/profiles/packages/dsh-update-checkerdsh-update-checker.dismissed key from browser
localStorageMIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。