DSH 的网络与代理诊断工具:检查系统代理设置、探测本地代理端口、识别 TUN 适配器、测试 GitHub/TCP/HTTP 连通性、扫描 hosts 冲突,并给出具体的修改建议。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-netassist
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:Edge-Echo/dsh-netassist
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。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
GitHub 连不上、代理不生效的时候,一条命令说清是哪一环断了,以及该改什么。
什么时候需要它
- DSH 拉不到 GitHub 或 npm,分不清问题出在 DNS、TCP 还是代理
- 系统代理配了却不生效 —— TUN 模式、路由规则,或者一条过期的 hosts 记录
- 不想自己跑 ping、nslookup、tracert,再对着四份输出自己推断
每条结论都带着它成立的前提,所以报告不会自相矛盾 —— 只有当代理确实被配置为使用某个端口时,该端口不通才会被报成问题。
源自真实的大陆网络痛点:GitHub 时通时断、到处是代理、hosts 冲突、TUN 模式和系统代理分不清。这个插件让 agent 一键回答「GitHub 通不通?」「系统代理是什么?」「代理端口活着吗?」,外加完整诊断链——全部只读、全部防注入。
English docs: README.md.
反馈
下载量能看出装了多少次,看不出有没有用。如果你在用,一句话说明你拿它做什么,比点个 star 有用得多——尤其是没跑通的情况,那是最不会有人主动说的:
- 你想做什么
- 它做到了吗
- 缺什么、哪里不对
开个 issue 说一句 —— 如果是明确的 bug,直接开普通 issue 就行。
工具
| 工具 | 回答什么问题 |
|---|---|
net_github_status |
GitHub 现在通不通?(DNS + TCP 443) |
net_proxy_status |
系统代理配置:注册表 ProxyEnable/ProxyServer/ProxyOverride + 代理环境变量 |
net_proxy_probe |
哪些常见本地代理端口活着?(默认 10808/10809/7890/7897/8888/1080) |
net_diag |
任意主机完整诊断链:DNS → TCP → HTTPS 状态码 |
net_hosts_check |
hosts 里钉了哪些 GitHub 条目(代理冲突扫描) |
net_dns_compare |
同时问 AliDNS / DNSPod / Cloudflare / Google 同一个域名并对比 —— 系统 DNS 是不是返回了过期地址? |
net_registry_check |
npm 实际配置的源能不能连通?同时探测配置源和官方源。 |
安装
dsh plugin --profile web add dsh-netassist
dsh web # 重启
然后直接问 agent:
- 「检查 github.com 通不通」→
net_github_status - 「我的系统代理是什么?」→
net_proxy_status - 「我的代理在跑吗?」→
net_proxy_probe - 「为什么访问不了 api.example.com:8443?」→
net_diaghost=api.example.com port=8443 - 「hosts 里有 github 条目吗?」→
net_hosts_check - 「github.com 能解析但用不了?」→
net_dns_comparehost=github.com - 「npm install 为什么失败?」→
net_registry_check
工作原理
每个工具通过 powershell.exe -NoProfile -NonInteractive 执行一段只读 PowerShell 脚本。所有用户输入以 Base64 形式跨脚本边界——从结构上杜绝注入。不写文件、不需要管理员权限、零依赖。
- 配置:
psTimeoutMs(默认 25000)——单次调用超时,可在 profile 的cordis.patch.yml的netassist条目下设置。 - 仅 Windows:非 Windows 平台明确报错。
真实示例(本机实测)
net_github_status → DNS: 20.205.243.166, TCP 443: OPEN
net_proxy_status → ProxyEnable: 1, ProxyServer: 127.0.0.1:10808
net_proxy_probe → 10808 OPEN, 10809/7890/7897/8888/1080 CLOSED
net_hosts_check → no github entries in hosts (clean)
排错
- 报 "PowerShell failed":多半是执行策略或杀软干扰。插件已用
-NoProfile -NonInteractive;可查Get-ExecutionPolicy——不要求 RemoteSigned。 - 端口探测每个 5 秒连接超时,完整探测最坏约 5-10 秒。
链接
- npm: https://www.npmjs.com/package/dsh-netassist
- GitHub: https://github.com/Edge-Echo/dsh-netassist
- License: MIT
相关
属于 dsh-toolkit 家族 —— 一组各自独立可用的小工具,面向 DeepSeek Harness:
- dsh-mcp-bridge —— 一条命令装好 6 个精选 MCP server,CI 逐个验证
- dsh-win-toolkit —— Windows 剪贴板、通知、hosts、端口检测
- dsh-netassist —— 网络与代理诊断,直接告诉你下一步
- dsh-driftwatch —— 两次会话日志的行为漂移报告
- dsh-ledger —— agent 到底动了哪些文件,且记录不可篡改
- dsh-release-evidence —— 每次发布一个可验证的证据包
- mcp-netassist —— 同一套网络检查,做成任意 MCP 客户端可用的服务器
链接
同类插件
DayuanJiang/next-ai-draw-io#dsh-plugin★ 36718
dsh 的 draw.io 绘图插件:通过 next-ai-drawio MCP 服务器作图,点回复里的链接在右侧栏打开实时预览,可以手动修改图,AI 的每次修改都是可以恢复的版本。需 Node.js 18+,首次使用由 npx 下载 MCP 服务器。
Tencent/WeKnora#dsh-weknora★ 36302
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 7042
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
T-Auto/dsh-ops★ 5074
为 Windows 的 DSH 提供 bash、PowerShell 7 及 Rust 高性能工具,减少 token 消耗。
sixtysevenlf/dsh-blender-plugin★ 1575
让 DSH agent 通过直连 TCP 通道驱动本地 Blender,提供 15 个工具:视口帧、自定义视角渲染、Python 执行、无头与作业卸载、事务回滚,以及 34 个 family / 228 个 op 的规划层。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1155
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。