Back to home

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 ddgs package (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 .env file (default D:/Hermes/.env, configurable) and are never stored in settings.
  • Registers the ctx.web providers under the id hermes-web (works with web_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 ddgs package installed (e.g. pip install ddgs), and optionally a proxy for DuckDuckGo (default http://127.0.0.1:7897 — Clash-style).
  • Tavily backend: TAVILY_API_KEY in the .env file.
  • Firecrawl backend: FIRECRAWL_API_KEY in the .env file.

Configuration

All options live in the Settings → Hermes Web Search section (namespace hermes-web):

OptionMeaningDefault
search_backendddgs (free) or tavilyddgs
extract_backendfirecrawlfirecrawl
proxyHTTP(S) proxy for the ddgs child process; empty = no proxyhttp://127.0.0.1:7897
hermes_envPath to the .env file holding API keysempty → HERMES_ENV env var → D:/Hermes/.env
hermes_pythonPython interpreter with ddgs installedempty → 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