让沙箱里的 agent 通过你的本地代理联网:net_fetch 抓取网页,net_proxy_status 查看代理状态。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:izwarm195/dsh-net-tools
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
让DSH使用你的魔法:把沙箱里的 agent 接上你本地的 HTTP 代理,一条命令就能抓取被墙的网站、文档和 API。
English · 简体中文
🤖 关于本项目
本项目由 AI 完全开发与维护:代码、测试与文档均由 AI(DeepSeek Harness 编码代理)生成,人工仅负责审阅、验收与发布。
要解决的问题
DSH 在文件沙箱(workspace-write)里执行命令时:
- Windows 基于
schannel的 TLS(curl、PowerShell)无法获取凭据,所有 HTTPS 请求都会失败并报SEC_E_NO_CREDENTIALS; - Node.js 自带独立的 TLS 实现不受影响,但沙箱 shell 依然无法稳定联网;
- 本机代理(如
127.0.0.1:7897)只有在每个工具都记得手动传入时才会被使用,极易漏配。
这个插件做了什么
工具运行在 DSH 宿主进程(Node.js)中,位于文件沙箱之外,TLS 正常工作。插件提供:
net_fetch—— 通过用户代理的手动 CONNECT 隧道抓取 HTTP(S) 内容(不走 schannel、零依赖)。自动跟随重定向、执行超时/大小上限/SSRF 防护,返回文本(或截断后的响应体)。net_proxy_status—— 报告 DSH 进程会使用哪个代理(用户级环境变量、当前进程环境变量、Windows 系统代理),并检测其可达性。
代理发现顺序:显式 proxy 参数 → HTTPS_PROXY / HTTP_PROXY 环境变量 → Windows 系统代理(注册表 Internet Settings)。
安装
dsh plugin --profile web add <本包>
# 或:dsh plugin --profile desktop add <本包>
安装后重启 DSH,agent 即可使用这两个工具。
使用示例
抓取一个被墙的页面(自动走代理):
net_fetch(url: "https://github.com/")
→ [200] https://github.com/ (via proxy) 1212ms …
排查代理配置:
net_proxy_status(checkReachability: true)
→ effective: http://127.0.0.1:7897
proxy reachable: true
probe: [204] https://www.gstatic.com/generate_204 ok=true
实际效果:agent 思考过程中连续调用 net_fetch 抓取网页(截图):

测试
npm test
# 沙箱内无法 spawn 子进程时,用同进程模式:
node --test --test-isolation=none test/fetch.test.js
安全设计
- 仅允许
http:/https:协议; - SSRF 防护:默认拒绝私网 / 回环 / 链路本地地址(传
allowPrivate: true可放行); - 响应大小上限(默认 1 MiB)、超时上限(默认 30 秒);
- 重定向最多 5 次,且每次重定向都重新执行同样的安全校验。
许可
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 31531
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 3949
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1130
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
gitroomhq/postiz-agent#dsh-postiz★ 499
通过 MCP 将 DeepSeek Harness 连接到 Postiz:列出已连接的社交媒体渠道、获取各平台发帖规则,并向 X、LinkedIn、Instagram、Facebook、Threads、TikTok、YouTube、Reddit、Bluesky、Mastodon、Discord、Slack、Telegram 等平台排期、存草稿或发布帖子;附带 postiz 工作流技能。
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 477
面向 DeepSeek Harness 的本地 IMAP 发票下载、OCR 识别、归档与 Excel 报销汇总。
anysearch-team/anysearch-dsh★ 441
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。