Introduction

The built-in web_search in DSH covers general web retrieval, but to access arXiv official direct links, SSRN original papers, or perform web screenshots, text vectorization, and document reranking, one usually needs to write glue code at the host layer and register it as a tool. dsh-jina skips this step: it encapsulates the Jina AI API capabilities behind jina-cli into 12 jina_* model tools installed into DSH, and provides an API key configuration card with real-time balance checking on the Web Settings page. Below is an introduction to its features, installation method, and selection considerations.

What is this

dsh-jina is maintained by minatoAI, licensed under MIT, current version 0.5.2 (2026-08-29). The GitHub repository is minatoAI/jina-web-search-dsh-plugin, and the plugin/package name is dsh-jina.

It does two things:

  1. After installation, all sessions (all agent presets) gain 12 jina_* model tools.
  2. It provides a Jina Tools card on Web Settings → Plugins → Configuration page to configure the API key, check key identity and balance in real-time, and label the key source.

Implementation details worth noting: the host plugin relies only on Node built-in modules and the DSH host service, with no third-party npm dependencies; the project has no build script, requires no allowBuilds authorization, and the browser bundle (ui/client.js) is pre-built and submitted directly, making git installation out-of-the-box; testing is based on the Node built-in test runner, where npm test is equivalent to node --test, automatically discovering test/*.test.js.

12 jina_* Tools

Tool Description
jina_web_search General web search, default web domain, also has images/blog domains, supports time filtering and region/language hints
jina_search_arxiv arXiv preprint search, returns arxiv.org official direct links
jina_search_ssrn SSRN paper search, returns papers.ssrn.com direct links
jina_read Turns a webpage into clean markdown
jina_screenshot Webpage screenshot, returns hosted image URL (supports full-page screenshots)
jina_datetime Infers the publish/update time of a webpage
jina_expand Expands search terms into a set of related queries
jina_embed Text vectorization (default jina-embeddings-v5-text-small)
jina_rerank Reranks documents by relevance (default jina-reranker-v3.5)
jina_classify Text classification
jina_pdf Extracts charts/formulas from PDF (supports arXiv ID)
jina_primer Gets host clock (ISO/unix/timezone), network facts (public IP and location), and Jina account status (identity/balance)

Installation and Enablement

The plugin is distributed as a bundle, installed into a profile using dsh plugin. Install from GitHub:

dsh plugin --profile web add github:minatoAI/jina-web-search-dsh-plugin

To pin a specific code version, you can specify a commit to avoid changes from subsequent pushes affecting the installed code:

dsh plugin --profile web add github:minatoAI/jina-web-search-dsh-plugin#<commit-sha>

For local development and debugging, you can install a local folder directly:

dsh plugin --profile web add ./jina-dsh-plugin

After installation, restart dsh; the new bundle takes effect on the next startup:

dsh --profile web

API key configuration and balance checking

After restarting via the steps above, open the Web interface → Settings → Plugins → Configuration, expand the Jina Tools card, paste the API key and save. Free keys can be obtained at https://jina.ai/.

The API key detection area in the card will display the current key’s identity (Jina account) and balance (credits) in real-time, and label the key source (saved on this page / key file / anonymous quota), used to confirm if the key is actually effective; re-detection occurs automatically after saving or clearing the key. These data are provided by the host plugin’s /api/dsh-jina/primer route, using the same interface as the jina_primer tool.

Security aspects: The key plaintext never leaves the host; credential values are only sent up via credentials.set, and no read interfaces return plaintext. The new key takes effect immediately after saving on the settings page, no restart required; when encountering an HTTP 401, the plugin will automatically re-read the file and retry once.

API key resolution order

Every tool call looks for the key in the following order; once any match is found, it is used:

  1. Tool call parameter apiKey
  2. Key saved on the settings page (credential reference JINA_API_KEY, persisted by DSH credential storage, e.g., ~/.dsh/.credentials.yaml)
  3. jina-api-key.txt in the session workspace
  4. jina-api-key.txt in the dsh home directory ($DSH_HOME, default ~/.dsh)

Network and proxy

Jina domains are blocked by direct network connections; users in mainland China need a VPN. The plugin accesses Jina via system proxy: it discovers the system proxy address from the WinINET registry before each call, automatically re-discovers and retries on transfer failure, and self-heals even if the VPN restarts with a different port. When the VPN is not enabled, the tool returns an error message with a hint.

Division of labor with built-in web_search

The selection suggestions given in the README (based on sampling comparison with the built-in web_search, not a strict benchmark):

  • Academic papers → jina_search_arxiv / jina_search_ssrn
  • Chinese time-sensitive news → jina_web_search (add time filter)
  • General academic / Engineering documentation → Built-in web_search

It is worth noting that jina_web_search’s default web domain coverage for general academic sources like Springer / IEEE / ACL is average, so it is recommended to use the two dedicated tools mentioned above for academic retrieval.

Applicable Scenarios and Notes

Suitable for users who need capabilities such as paper direct links, web-to-markdown, screenshots, embedding / reranking / classification in DSH. It can serve as a supplement to the retrieval and document processing tool chain. Please pay attention to the following points before use:

  1. After installation, dsh must be restarted; the new bundle only takes effect on the next startup.
  2. Direct connection to Jina is inaccessible in mainland China; a VPN is required.
  3. The plugin runs with the permissions of the current dsh process; it is recommended to read the repository source code before installation and confirm that the MIT license fits your use case.
  4. You can uninstall it at any time when not needed:
dsh plugin --profile web remove dsh-jina

Conclusion

The value of dsh-jina is concentrated in two places: turning Jina’s 12 API capabilities into ready-to-use model tools, and integrating key management into DSH’s standard plugin configuration entry with real-time balance checking. If you frequently perform retrieval and document processing in DSH, you can install a copy following the steps above and give it a try.

  • Community directory page: https://www.skillhub.cn/plugins/minatoAI/jina-web-search-dsh-plugin
  • GitHub repository: https://github.com/minatoAI/jina-web-search-dsh-plugin