klarkxy's DSH plugins

Web Search

@klarkxy/dsh-web-search-manager
Plugin Models and the web includes a Web UI

Manage and rank web search and page-reading providers (DuckDuckGo, Exa, Tavily, Brave, Bocha, Serper, Firecrawl, Perplexity, Jina, and plugin sources) in one settings page for web_search and web_fetch.

Install

 dsh plugin --profile web add @klarkxy/dsh-web-search-manager

This plugin depends on Plugin Kit; they are installed with it automatically.

Replace web with your profile name. Restart the profile after installing; the plugin then shows up under Settings → Plugins.

About

From README.md in 0.3.4.

Pick which service answers the model's web searches, set request limits, and let it read public pages — from one settings page with separate tabs for search, page reading, and request limits.

Install

dsh plugin --profile web add @klarkxy/dsh-web-search-manager

Replace web with your profile name. Restart DSH Web, then open Settings → Web Search. Restart the profile after plugin updates as well so the new search code loads.

DuckDuckGo works out of the box with zero configuration. To use DeepSeek Search, Exa, Brave, Bocha, Serper, Firecrawl, Tavily, Perplexity, or You.com, enter its API key. Drag the list to reorder: each search uses the first ready service. Search services from other plugins, such as Zhihu, appear in the same list and join the priority order once you enable them.

The Settings tab sets the number of results, queries per call, total timeout, and maximum page length.

Read web pages

Turn on Read web pages, enable the services you want, then drag them or use the up/down arrow keys to set priority. Each fetch uses the first configured, available service. Fetch services from other plugins also appear and join the priority order once enabled; temporarily unloaded services keep their selection and position.

Your previously selected fetch service stays first. The bundled Read web pages service uses the free Jina Reader and falls back to one direct request if that fails; services from the host or other plugins use their own fetching method.

Firecrawl can also read Markdown pages with the same API key as Firecrawl search; search and page reads are billed separately. Perplexity uses its Search API to return search results directly; You.com returns web and news snippets directly.

Give the tools to the model

Add this to the plugin list of your agent.cordis.yml:

- name: '@klarkxy/dsh-web-search-manager/tools'

The model then gets web_search and web_fetch while search and fetch are on.

Limits

  • Paid services may charge per search or fetch; refer to your provider account for billing.
  • The bundled Jina Reader sends page addresses to Jina; use it only for public URLs free of private tokens.
  • Firecrawl page reads require a page status code and final URL in the response, and may serve cached page content. URLs are sent to the selected fetch service.
  • Each search or fetch request runs against the selected active service only.
  • Cancellation and timeouts ask the active service to stop and wait for it to finish cleaning up. A third-party service that ignores cancellation can delay results and plugin unloading, as code running inside DSH finishes cooperatively.

License

SATA License 2.1