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
GitHub: Scorp1o117/dsh-plugin-marketplace · npm: dsh-plugin-marketplace
Part of the DeepSeek Harness Enhancement Suite — Vision · Soul/Persona · Long-term Memory · Plugin Marketplace.
A plugin marketplace inside the DeepSeek Harness Web UI: browse github.com/topics/dsh-plugin right from the settings page — no terminal needed.
As a profile bundle (recommended):
dsh plugin --profile web add dsh-plugin-marketplace
or via the package's dsh.bundle.patch layer — add dsh-plugin-marketplace
to dsh.profile.bundles in $DSH_HOME/profiles/web/package.json.
Manual mount in $DSH_HOME/profiles/web/cordis.patch.yml:
- insert:
- id: plugin-marketplace
name: 'dsh-plugin-marketplace'
Upgrading from ≤ 0.2.2? If you previously mounted the plugin manually, remove that row from
cordis.patch.ymlbefore switching to the bundle install — the bundle layer already inserts the entry, and two entries with the same id abort boot withduplicate loader entry id: plugin-marketplace. The two ways are alternatives, not both.
Then restart dsh web (new client plugins require a process restart to be
scanned into the browser roster) and open Settings → Plugin Marketplace.
If the install button answers settings namespace "plugin-marketplace" is not exposed to configuration clients: the host apiproxy only lets a
hard-coded allowlist through, and this plugin patches that allowlist on its
first boot — the running process still answers settings-not-exposed until
dsh web is restarted. Restart once; if the error persists, check the boot
log for [settings-expose] lines (the fix line names the file to edit —
WEB_SETTINGS_NAMESPACES in dsh-host-apiproxy/lib/index.js).
| Layer | File | Role |
|---|---|---|
| host shell | index.js |
settings-backed install + AI-explain flows; dsh.bundle.patch makes the package a proper profile bundle |
| browser half | client.js |
registers the settings.section "marketplace" tab; fetches GitHub search API; renders cards + detail; "AI explain" button |
| manifest | package.json |
dsh.bundle: { patch: "./cordis.patch.yml" } + dsh.client: { platform: "web" } + exports["./client"] — discovered by dsh-client-modules |
The browser half needs no dsh.client.inject packages: it only uses react
(provided by the web runtime) and the slots / locale client services.
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。