dsh-netassist:DeepSeek Harness 网络与代理诊断助手

在开发或调试 DeepSeek Harness (dsh) 工作流时,网络连通性、系统代理配置冲突以及本地 Hosts 文件干扰是常见的阻碍因素。当智能体无法访问 GitHub 或特定 API 时,往往需要人工介入排查代理端口、DNS 解析及 Hosts 记录。dsh-netassist 旨在为智能体提供一套只读的网络诊断能力,直接回答“是否可达”、“代理状态如何”以及“端口是否存活”等具体问题。

这是一个由 Edge-Echo 维护的 DSH 插件,属于 dsh-toolkit 家族的一部分。它利用 PowerShell 在 Windows 环境下执行一系列只读诊断脚本,提供从 DNS 解析、TCP 连接到 HTTPS 状态码的完整诊断链,并支持扫描本地 hosts 文件中的 GitHub 记录。

核心功能

  • GitHub 连通性检查:验证 DNS 解析与 TCP 443 端口可达性。
  • 系统代理检测:读取 Windows 注册表(ProxyEnable/ProxyServer/ProxyOverride)及环境变量中的代理配置。
  • 代理端口探测:探测本地常见代理端口(10808, 10809, 7890, 7897, 8888, 1080)的存活状态。
  • 完整诊断链:针对任意 Host 和 Port,执行 DNS -> TCP -> HTTPS 状态码的全链路诊断。
  • Hosts 文件冲突扫描:检查 hosts 文件中是否存在 GitHub 相关的域名记录。

安装与启用

在终端中执行以下命令安装插件:

dsh plugin --profile web add dsh-netassist
dsh web   # 重启服务以加载插件

典型用法

安装后,可通过自然语言或工具名调用以下功能:

  • 检查 GitHub 可达性:”check if github.com is reachable” -> 触发 net_github_status
  • 查看系统代理:”what proxy is my system using?” -> 触发 net_proxy_status
  • 检查代理端口:”is my proxy running?” -> 触发 net_proxy_probe
  • 排查网络故障:”why can’t I reach api.example.com:8443?” -> 触发 net_diag host=api.example.com port=8443
  • 检查 hosts 冲突:”any github entries in my hosts?” -> 触发 net_hosts_check

注意事项

  • 平台限制:仅支持 Windows。工具在非 Windows 平台会报错(spawn powershell.exe ENOENT)。
  • 安全机制:所有诊断均为只读操作,无写入权限。通过 Base64 传递用户输入,防止命令注入。
  • 性能:每个工具冷启动耗时约 20 秒。net_doctor(全链路诊断)可能超过 60 秒(因为并行运行多个检查),MCP 客户端默认 60 秒超时可能不满足需求,建议单独调用工具或调整超时。
  • PowerShell 策略:若执行失败,需检查 PowerShell 执行策略,虽然插件使用 -NoProfile -NonInteractive,通常不依赖 RemoteSigned。

该插件通过标准化的诊断接口,辅助智能体快速定位网络层问题,适合在调试 DSH 工作流时使用。

GitHub: https://github.com/Edge-Echo/dsh-netassist
NPM: https://www.npmjs.com/package/dsh-netassist

羽毛球分组比赛记分
小程序二维码

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

小夜