mmyhj
dsh-tool-hermes-web
Hermes-backed web search/fetch for DeepSeek Harness: ddgs + Tavily search, Firecrawl extraction
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
dsh-tool-hermes-web
Hermes-backed web search/fetch for the DeepSeek Harness (DSH).
- Search: DuckDuckGo via a Python venv
ddgspackage (free, unlimited) as primary, Tavily as fallback. - Fetch / extract: Firecrawl (markdown extraction).
- Backends are chosen in the DSH Settings → Hermes Web Search section, hot-reloaded (no file editing).
- API keys are read from a plain
.envfile (defaultD:/Hermes/.env, configurable) and are never stored in settings. - Registers the
ctx.webproviders under the idhermes-web(works withweb_search/web_fetch).
Built from the Hermes personal-assistant setup at
D:/Hermes; paths are configurable so any layout works.
Install
dsh plugin --profile web add dsh-tool-hermes-web
# or from source: dsh plugin --profile web add D:/path/to/dsh-tool-hermes-web
Restart dsh web, then open Settings → Hermes Web Search to pick backends.
Requirements
- ddgs backend: a Python interpreter with the
ddgspackage installed (e.g.pip install ddgs), and optionally a proxy for DuckDuckGo (defaulthttp://127.0.0.1:7897— Clash-style). - Tavily backend:
TAVILY_API_KEYin the .env file. - Firecrawl backend:
FIRECRAWL_API_KEYin the .env file.
Configuration
All options live in the Settings → Hermes Web Search section (namespace hermes-web):
| Option | Meaning | Default |
|---|---|---|
search_backend | ddgs (free) or tavily | ddgs |
extract_backend | firecrawl | firecrawl |
proxy | HTTP(S) proxy for the ddgs child process; empty = no proxy | http://127.0.0.1:7897 |
hermes_env | Path to the .env file holding API keys | empty → HERMES_ENV env var → D:/Hermes/.env |
hermes_python | Python interpreter with ddgs installed | empty → HERMES_PYTHON env var → D:/Hermes/hermes-agent/venv/Scripts/python.exe |
Example .env:
TAVILY_API_KEY=tvly-...
FIRECRAWL_API_KEY=fc-...
Security notes
- API keys live only in the .env file (read at call time, never logged, never written to settings).
- ddgs runs as a local child process with an explicit proxy env when configured.
- The plugin is MIT-licensed; review the source before installing (it runs inside the DSH host process).
License
MIT