dsh-jina: Integrating jina-cli's 12 API tools into DeepSeek Harness

前言

DSH 内置的 web_search 能覆盖通用网页检索,但要拿 arXiv 官方直链、SSRN 论文原文,或者做网页截图、文本向量化、文档重排,通常得自己在主机层写胶水代码、再注册成工具。dsh-jina 把这条路径省掉了:它把 jina-cli 背后的 Jina AI API 能力封装成 12 个 jina_* 模型工具装进 dsh,并在 Web 设置页提供带实时余额检测的 API key 配置卡片。下面介绍它的功能、安装方式和选型注意。

这是什么

dsh-jina 由 minatoAI 维护,许可证为 MIT,当前版本 0.5.2(2026-08-29)。GitHub 仓库是 minatoAI/jina-web-search-dsh-plugin,插件/包名为 dsh-jina

它做两件事:

  1. 安装后所有会话(所有 agent preset)获得 12 个 jina_* 模型工具
  2. 在 Web 设置 → 插件 → 配置页提供 Jina Tools 卡片,配置 API key,实时检测 key 身份与余额并标注 key 来源

实现上有几点值得留意:主机插件仅依赖 Node 内置模块与 dsh 主机服务,无第三方 npm 依赖;项目无 build 脚本、无需 allowBuilds 授权,浏览器 bundle(ui/client.js)预构建后直接提交,git 安装开箱即用;测试基于 Node 内置测试运行器,npm test 等价于 node --test,自动发现 test/*.test.js

12 个 jina_* 工具

工具 说明
jina_web_search 通用网页搜索,默认 web 域,另有 images / blog 域,支持时间过滤与地区/语言提示
jina_search_arxiv arXiv 预印本检索,返回 arxiv.org 官方直链
jina_search_ssrn SSRN 论文检索,返回 papers.ssrn.com 直链
jina_read 把网页读成干净的 markdown
jina_screenshot 网页截图,返回托管图片 URL(支持整页截图)
jina_datetime 推测网页的发布/更新时间
jina_expand 把搜索词扩展成一组相关查询
jina_embed 文本向量化(默认 jina-embeddings-v5-text-small)
jina_rerank 按相关性重排文档(默认 jina-reranker-v3.5)
jina_classify 文本分类
jina_pdf 从 PDF 提取图表/公式(支持 arXiv ID)
jina_primer 获取主机时钟(ISO 时间/unix/时区)、网络事实(公网 IP 与位置)与 Jina 账户状态(身份/余额)

安装与启用

插件按 bundle 方式分发,用 dsh plugin 安装进 profile。从 GitHub 安装:

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

想固定代码版本,可以指定 commit,避免后续推送改变实际安装到的代码:

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

本地开发调试可以直接装本地文件夹:

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

安装完成后重启 dsh,新 bundle 在下次启动时生效:

dsh --profile web

API key 配置与余额检测

经过上面的步骤重启后,打开 Web 界面 → 设置 → 插件 → 配置,展开 Jina Tools 卡片,粘贴 API key 并保存。免费 key 在 https://jina.ai/ 获取。

卡片中的 API key 检测区域会实时显示当前 key 的身份(Jina 账号)与余额(credits),并标注 key 来源(本页保存 / key 文件 / 匿名配额),用于确认 key 是否真正生效;保存或清除 key 后会自动重新检测。这些数据由主机端插件的 /api/dsh-jina/primer 路由提供,与 jina_primer 工具用的是同一接口。

安全方面:key 明文永不离开主机,凭据值只通过 credentials.set 上行,任何读取接口都不会回传明文。设置页保存新 key 后立即生效,无需重启;遇到 HTTP 401 时插件会自动重读文件并重试一次。

API key 解析顺序

每次工具调用按以下顺序查找 key,任一命中即用:

  1. 工具调用参数 apiKey
  2. 设置页保存的 key(凭据引用 JINA_API_KEY,由 dsh 凭据存储持久化,如 ~/.dsh/.credentials.yaml
  3. 会话工作区的 jina-api-key.txt
  4. dsh 主目录($DSH_HOME,默认 ~/.dsh)下的 jina-api-key.txt

网络与代理

Jina 域名被直连网络屏蔽,中国大陆用户需要 VPN。插件通过系统代理访问 Jina:每次调用前从 WinINET 注册表发现系统代理地址,传输失败时自动重新发现并重试一次,VPN 重启换了端口也能自愈。VPN 未开启时,工具会返回带提示的错误信息。

与内置 web_search 的分工

README 给出的选型建议(来自与内置 web_search 的抽样对比,非严格 benchmark):

  • 学术论文 → jina_search_arxiv / jina_search_ssrn
  • 中文时效新闻 → jina_web_search(加 time 过滤)
  • 泛学术 / 工程文档 → 内置 web_search

需要注意,jina_web_search 默认的 web 域对 Springer / IEEE / ACL 等泛学术来源覆盖面一般,学术检索建议改用上面两个专用工具。

适用场景与注意

适合在 DSH 里需要论文直链、网页转 markdown、截图、embedding / rerank / 分类等能力的用户,可以作为检索与文档处理工具链的补充。使用前注意以下几点:

  1. 安装后必须重启 dsh,新 bundle 在下次启动时才生效
  2. 大陆直连无法访问 Jina,需要 VPN
  3. 插件以当前 dsh 进程的权限运行,安装前建议阅读仓库源码,并确认 MIT 许可证符合你的使用场景
  4. 不需要时可以随时卸载:
dsh plugin --profile web remove dsh-jina

结尾

dsh-jina 的价值集中在两处:把 Jina 的 12 项 API 能力变成模型开箱即用的工具,并把 key 管理收进 dsh 标准的插件配置入口、附带实时余额检测。如果你经常在 DSH 里做检索和文档处理,可以按上面的步骤装一份试试。

  • 社区目录页:https://www.skillhub.cn/plugins/minatoAI/jina-web-search-dsh-plugin
  • GitHub 仓库:https://github.com/minatoAI/jina-web-search-dsh-plugin
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye