- Início
- Plugins
- Ferramentas e funções
- dsh-tool-ddgs
dsh-tool-ddgs
bharathbillawa/dsh-tool-ddgs
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
Instalar
dsh plugin --profile web add github:bharathbillawa/dsh-tool-ddgsREADME
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
Plugins relacionados
WeKnora (dsh-weknora)
tencent/weknora
weknora
tencent/weknora
archify (deepseek-harness)
tt-a1i/archify
BrowserSkill (dsh-plugin-browserskill)
tencent/browserskill