edusrez/dsh-tool-web-enhanced ↗★ 1
dsh-tool-web-enhanced
无缝替换的 dsh-tool-web 增强版:在网页搜索中加入可选的主题过滤器以及 SearXNG 结果板块。
AI 分析
增强 DSH 的联网搜索能力,引入 SearXNG 搜索源。适合对默认联网搜索结果不满意、需要更精准和丰富搜索源的用户。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:edusrez/dsh-tool-web-enhanced说明文档
阅读完整 README ↗Configuration reference
Existing stock keys keep identical names and defaults; SearXNG keys are additive.
The stock
fetch*keys are kept ONLY for drop-in config compatibility —web_fetchis NOT modified by this plugin (it is re-registered verbatim from the stock package). Setting them has no enhanced behaviour.
| Key | Type | Default | Description |
|---|---|---|---|
search | boolean | true | Register web_search. |
fetch | boolean | true | Register web_fetch (unchanged). |
searchMaxResults | number | 8 | Source cap for both native and SearXNG sections. |
searchTimeoutMs | number | 30000 | Cooperative budget for web_search (incl. the SearXNG call). |
fetchTimeoutMs | number | 30000 | Cooperative budget for web_fetch. |
fetchMaxOutputChars | number | 200000 | Output cap for web_fetch. |
searxngUrl | string | http://127.0.0.1:8080 | SearXNG base URL; empty/falsy disables SearXNG. |
searxngEnabled | boolean | true | When false, skip the SearXNG section entirely. |
Note on
searxngEnabled: it defaults totrue. WithsearxngUrlpointing athttp://127.0.0.1:8080, a running SearXNG instance is expected. If SearXNG is not deployed, everyweb_searchperforms one extra (silently-failed) connection attempt to the local JSON API before falling back to native-only results — harmless, but avoidable. SetsearxngEnabled: falsewhen you are not using SearXNG to skip that attempt entirely.
RAG configuration
| Key | Type | Default | Description |
|---|---|---|---|
rag.enabled | boolean | true | Enable the RAG section + rag_index tool. |
rag.storePath | string | '' (auto) | SQLite store path; empty → /storages/rag/rag.db. |
rag.embeddings.provider | string | auto | auto / deepinfra / local. auto → deepinfra when a key is present, else local. |
rag.embeddings.apiKeyEnv | string | DEEPINFRA_TOKEN | Env var name holding the DeepInfra key. |
rag.embeddings.apiKey | string | '' | Literal DeepInfra key (wins over apiKeyEnv). |
rag.embeddings.deepinfraModel | string | BAAI/bge-m3 | DeepInfra embedding model. |
rag.embeddings.deepinfraBaseURL | string | https://api.deepinfra.com/v1/openai | DeepInfra OpenAI-compatible base URL. |
rag.embeddings.localModel | string | Xenova/bge-small-en-v1.5 | Local transformers.js model. |
rag.databases[].name | string | — | Database (section) name. |
rag.databases[].path | string | — | Directory of Markdown files to index. |
rag.databases[].topK | number | 5 | Results returned per database. |
Local embeddings (the default when no key is configured) download a small ONNX model (~34MB) on first use, via the optional
@huggingface/transformersdependency. The DeepInfra path usesDEEPINFRA_TOKEN(orrag.embeddings.apiKey). RAG errors degrade silently — the section is simply omitted from the output.