在開發或調試 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_diaghost=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