dsh-fetch-url
dsh-plugin: fetch_url tool for DeepSeek Harness agents — host-side web/API fetching that bypasses the sandboxed shell TLS restriction
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 21, 2026
- Updated
- Aug 21, 2026
Introduction
dsh-fetch-url
给 DeepSeek Harness(DSH)agent 提供 fetch_url 工具:抓取任意 HTTP(S) 网页/API,返回标题 + 纯文本正文(HTML 自动去标签提取,JSON 自动格式化)。
为什么需要它
DSH 的执行沙箱(pwsh / 子进程)出于安全策略禁用了 TLS 凭据获取(SEC_E_NO_CREDENTIALS),agent 的命令行无法直接出网;但 DSH 宿主 Node.js 进程本身网络是通的。本插件把网页抓取做成一个宿主进程内执行的工具,agent 调用它即可稳定访问外网内容,不破坏沙箱边界。
功能
fetch_url { url, maxChars?, raw? }url:目标地址(仅允许 http/https,防止file://等本地资源泄露)maxChars:正文截断上限,默认 30000 字符raw:true时返回原始文本(HTML/JSON 不做提取)
- HTML → 提取
<title>+ 正文纯文本(去 script/style/svg 等、常见 HTML 实体解码、空白规整) - JSON 响应自动 pretty-print
- 返回头包含状态码、最终 URL(重定向后)、Content-Type、正文长度
- 30 秒超时、自动跟随重定向
安装
方式一:dsh 插件市场 / find_dsh_plugin(若已收录)
dsh plugin add dsh-fetch-url
方式二:git 安装
git clone https://github.com/lttcnly/dsh-fetch-url.git
cd dsh-fetch-url
DSH_CHECKOUT=<你的 dsh checkout 路径> bash scripts/build.sh
# 在注入器环境(dsh-super-injector)内:
# dev_inject_plugin <本目录>
# 或持久化装配:
# dev_install_package <本目录>
方式三:下载 Release 的 tgz 后在注入器环境执行 dev_inject_plugin / dev_install_package。
构建
依赖 bash + Node.js,scripts/build.sh 自动探测 DSH_CHECKOUT(env 变量 → ~/dsh-harness → ~/dsh → ~/.dsh/dsh-harness),junction 链接 dsh 生态依赖后用 checkout 内的 tsc 编译 src/ → lib/。
安全说明
- 仅支持
http:/https:协议;其余协议(file:、gopher:等)直接拒绝 - 每次请求 30 秒超时
- 抓取结果会进入 agent 上下文——不要让它抓取包含敏感信息的内网地址;如需限制域名,可自行在
src/index.ts的协议检查处扩展白名单 - 二进制响应(图片/压缩包等)只返回元信息,不返回正文
License
BSD-3-Clause © 2026 lttcnly