DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Fetch Url — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
F

@lansi-ai/dsh-fetch-url

Fetch Url

注册 fetch_url 工具的 DSH 插件:获取任意 URL(国内目标直接访问,海外目标通过 HTTP CONNECT 代理访问),并返回受限长度的文本/JSON摘要。复用 tools/fetch-url.cjs 中经过实战验证的 Node TLS 逻辑,并将其作为模型可调用工具提供。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:lansi-ai/dsh-fetch-url#4bdb74d4c8d45d36ba7da7a2282027dcd8b762ba
README兼容性版本

兼容性与来源证明

Fetch Url 以 @lansi-ai/dsh-fetch-url 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/8/25

版本

0.1.0stable
2026/8/25

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/8/25
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 search-research 分类下经过校验的插件。

Weknora@wxg-prc-cpg/dsh-weknora适用于 DeepSeek Harness (dsh) 的 WeKnora 知识检索工具:通过自有知识库进行语义搜索、文档阅读以及 RAG/代理回答。Browser Skill Dsh Plugin@wxg-prc-cpg/browser-skill-dsh-plugin向模型提供 BrowserSkill 浏览器自动化(browser_* 工具)的 DeepSeek Harness 工具插件Free Searchdsh-free-searchDeepSeek Harness 的免费网页搜索:13 个引擎(Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl 无需密钥;Parallel/Perplexity/SerpBase/DeepSeek 需要密钥),支持时间筛选、平台搜索和 web_fetch,并提供网页设置界面。Find Plugindsh-find-plugin在代理中查找 DeepSeek Harness 插件——实时搜索 GitHub 上的 dsh-plugin 主题,并按星标数排序。

README

@lansi-ai/dsh-fetch-url

DeepSeek Harness (DSH) 抓取工具插件 — 注册模型可调用的 fetch_url 工具,抓取任意 URL(境内直连 / 境外走代理),返回有界摘要。

本插件给 DSH 注册一个工具 fetch_url:Agent(模型)直接调用即可抓取网页/API,无需每次手写抓取逻辑。

✨ 功能特性

功能说明
🌐 境内直连用 Node 内建 TLS(openssl),不依赖 Windows schannel,受限沙箱下也可用
🔀 境外代理HTTP CONNECT 隧道走 127.0.0.1:7890 代理(先消费 200 Connection established 头再 TLS 握手)
📄 有界摘要JSON 就地压缩,正文截断到 maxBytes(默认 2000 字符)
📝 自定义头支持传入 headers(仅字符串值生效)
💾 落盘传 outFile 可把完整正文写入本地文件
⏱️ 超时控制默认 20s 超时,支持 AbortSignal 取消

🚀 快速开始

安装

安装方式决定 fetch_url 工具对哪些会话可见,分两种:全局安装(所有预设的会话可见)和预设安装(只有加入指定 preset 的会话可见,类似 pwsh 只在部分 preset 出现)。

方式一:全局安装(默认,所有预设可见)

# 从 GitHub 安装(推荐)
dsh plugin --profile web add github:lansi-ai/dsh-fetch-url

# 从本地目录安装(开发用;路径相对你所在的目录)
dsh plugin --profile web add ./dsh-fetch-url

# 或从本地打包文件安装
dsh plugin --profile web add ./lansi-ai-dsh-fetch-url-0.1.0.tgz

说明:这会把它写进 profile 的 dsh.profile.bundles(全局插件层)。按照 DSH 的作用域链 agent → preset → global,全局层工具每个 preset 的 agent 都会继承——所有会话都能看到 fetch_url。

方式二:预设(Preset)安装(只对特定预设可见)

想让 fetch_url 只在某个自定义 preset 的会话里出现,其它 preset 看不到(类似 pwsh 只在部分预设可用):

  1. 先让本地有插件的文件(两种任选):
    • dsh plugin --profile web add github:lansi-ai/dsh-fetch-url(会下载进 profile);
    • 或把插件目录放到你方便的位置(如 clone 到本地)。

    如果之前已经用方式一全局装过,又想改用预设方式,先移除全局注册再继续(避免同一个工具在两层重复出现):

    dsh plugin --profile web remove @lansi-ai/dsh-fetch-url
    
  2. 把目标预设组合文件里加一行。预设文件在 {DSH_HOME}/.agent-presets/<预设名>/agent.cordis.yml,追加:
    - id: fetch-url
      name: '<插件路径>/lib/index.mjs'
    
    <插件路径> 填插件所在目录的完整路径,写到 lib/index.mjs 这个文件为止,例如:
    /你的插件所在目录/dsh-fetch-url/lib/index.mjs
    
  3. 重启 DSH,新建会话时选择该预设,即可使用。

入口填什么(就这么填): name 的值就是 插件构建产物 lib/index.mjs 的完整路径,写清楚到那个文件就行。路径分隔符用 /(不要用 \)。千万别只填到插件目录(那样会加载失败、整个预设挂不上,会话退回默认预设)。

提示:如果你不确定插件目录在哪、或者路径填错,最省事还是用上面的方式一全局安装——它会自动下载并配好路径。

重启 DSH

dsh web --port 3081

重启后 fetch_url 工具即出现在模型可用工具列表中,可直接调用。

🚀 使用方法

安装并重启 DSH 后,在任意会话中模型可直接调用:

fetch_url(url="https://api.github.com/rate_limit", proxy="127.0.0.1:7890")
# 境外目标走代理 -> { ok:true, status:200, ... }

fetch_url(url="https://www.qq.com/")
# 境内目标直连 -> { ok:true, status:200, ... }

参数

参数类型必填说明
urlstring✅要抓取的 URL(http/https)
proxystring-HTTP 代理 host:port(境外目标,如 127.0.0.1:7890);境内直连省略
headersobject-附加请求头(字符串值,如 {"Accept": "application/vnd.github+json"})
maxBytesnumber-返回正文最大字符数(默认 2000)
outFilestring-把完整正文写入本地文件

返回

{ "ok": true, "status": 200, "contentType": "application/json", "bytes": 427, "body": "..." }

失败时返回 { "ok": false, "error": "..." }。

📦 项目结构

dsh-fetch-url/
├── src/
│   └── index.ts              # 插件主体:注册 fetch_url 工具
├── lib/
│   ├── index.mjs             # Host ESM 产物
│   └── index.d.mts           # 类型声明
├── cordis.patch.yml          # DSH 安装配置
├── package.json
├── tsconfig.json
├── tsdown.config.ts          # 单产物 ESM 构建
├── README.md                 # 本文档
└── IMPLEMENT.md              # 实现文档(自包含,可在任意 DSH 窗口照做)

🛠️ 开发

# 安装依赖
npm install --no-audit --no-fund

# 类型检查
npx tsc -p tsconfig.json --noEmit

# 构建
npm run build

📋 依赖

包名版本用途
@deepseek-ai/cordis^4.0.1Cordis 框架
@deepseek-ai/dsh-tools^0.1.0-rc.7工具注册(defineTool)

❓ 常见问题

Q: 报 wrong version number?

A: CONNECT 后没等代理 200 头就 TLS——代码已处理;若仍出现,检查代理是否真的是 HTTP 代理。

Q: GitHub 返回 400?

A: 缺 Host 头——代码已补显式 Host。

Q: 其他窗口/某些预设没有该工具?

A: 这是正常的——工具到底在哪些会话可见,取决于你用的是全局安装还是预设安装(见上文"安装")。若预期全局可见却没有,检查 dsh.profile.bundles 里是否有它、是否已重启;若预期只在某 preset 可见,确认对应 preset 的组合文件里加了 fetch-url 行。

Q: 如何卸载?

全局安装卸载:

dsh plugin --profile web remove @lansi-ai/dsh-fetch-url
# 重启 DSH

预设安装卸载:从该 preset 的 agent.cordis.yml 里删掉 fetch-url 那一行,重启 DSH 即可(不影响插件的代码,只是不再被该 preset 装载)。

📄 许可证

MIT

🔗 相关资源

  • DeepSeek Harness 文档
  • DSH 插件开发流程
  • GitHub 仓库