插件目录 / UI & Skins / dsh-tool-ddgs
dsh-tool-ddgs
已验证 · 实测可装 BharathBillawa
功能简介
DuckDuckGo web search and URL fetch tools for DeepSeek Harness, no API key required. Provides web_search (via ddgs) and web_fetch (via trafilatura) as a drop-in bundle
可用 — 实测通过,早期项目
DuckDuckGo web search and URL fetch tools for DeepSeek Harness, no API key required. Provides web_search (via ddgs) and web_fetch (via trafilatura) as a drop-in bundle 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-tool-ddgs
DuckDuckGo web search and URL fetch tools for DeepSeek Harness.
Zero required system dependencies — search is pure Node.js, fetch uses @mozilla/readability with optional trafilatura fallback for higher quality extraction.
Install
dsh plugin --profile web add github:BharathBillawa/dsh-tool-ddgs
Then restart dsh. The bundle patch automatically:
- Registers
web_search(DuckDuckGo Lite, pure Node) - Registers
web_fetch(content extraction, saves to file) - Wires the native Search action to use ddgs
- Disables the built-in DeepSeek web search provider
- Enables the file read tool for accessing full fetched content
Requirements
- Node.js >= 24 (required by DeepSeek Harness)
- Optional: Python 3.9+ with
pip install trafilaturafor better content extraction
Tools
web_search
Search the web using DuckDuckGo Lite. Pure Node.js — no Python, no subprocess, no API key.
- Accepts 1-4 queries
- Returns deduplicated sources with titles, URLs, and snippets
- Wired to the native Search action via
ctx.webprovider
web_fetch
Fetch a URL and extract readable text content:
- Downloads the page with browser-like headers
- Extracts clean text using
trafilatura(if available) or@mozilla/readability - Saves the full content to
/tmp/dsh-web-fetch/<url-slug>.md - Returns a 5000-char preview + the file path + total line count
If the preview answers the question, the model responds immediately. If more detail is needed, the model uses dsh's built-in read tool with offset/limit to read specific sections from the saved file — just like reading any local file.
This avoids dumping 100K+ chars into context for a simple question about one section of a long article.
How it works
- Search: Direct POST to DuckDuckGo Lite + HTML regex parsing. No headless browser, no API key, no subprocess.
- Fetch: Node native
fetch()→@mozilla/readability(DOM extraction vialinkedom). Falls back totrafilaturavia Python subprocess when available (better quality on complex pages). - File storage: Full fetched content is saved to
/tmp/dsh-web-fetch/<url-slug>.md
Architecture
The plugin registers both:
- A
ctx.websearch provider (id: "ddgs") — powers the native Search action in the agent loop web_searchandweb_fetchtools — directly callable by the model
Configuration
The bundle patch configures itself. No manual cordis.patch.yml editing needed.
License
MIT
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-tool-ddgs」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:BharathBillawa/dsh-tool-ddgs Headless(CLI)profile:
dsh plugin --profile headless add github:BharathBillawa/dsh-tool-ddgs 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。