跳到正文
dsh-market 浏览插件 GitHub EN

webkubor/dsh-env-inspector

环境自检与端口控制大屏:零依赖洞察系统架构、12 款核心 CLI 工具链、活跃监听端口与悬浮释放、模型凭据就绪状态。局域网主 IP 一键速查,零外联、零私有凭据明文。

Star 数 ★ 14 分类 工具与能力 收录于 2026-09-23 npm @dsh-plugins/dsh-env-inspector

安装

在 DeepSeek Harness 里通过 dsh-market 安装

dsh plugin --profile web add dshmarket

或使用命令行

dsh plugin --profile web add @dsh-plugins/dsh-env-inspector

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。

截图

README


🎯 解决什么痛点

场景 以前的困扰 dsh-env-inspector 的解法
端口常遭占用报错 关了终端后残留的 Node/Python 进程仍霸占端口,下次启动频繁 EADDRINUSE 实时探测所有监听端口,鼠标一键点击「×」安全释放(Kill 进程),页面即时自动刷新
全网监听未察觉 服务不经意监听在 0.0.0.0,暴露在局域网存在安全隐患 醒目黄色警告圆点标注全网监听端口,提醒开发者关注访问控制
繁杂端口视觉干扰 系统高位动态端口(49152+)动辄几十个,严重干扰排查 智能抽屉机制:常用开发端口一目了然,高位动态端口平滑折叠,支持一键展开/收起
排查环境低效繁琐 协同或调试时需频繁在终端反复敲 node -v、git --version、lsof 截图 顶部 Tab 独立大看板:操作系统、12 款常用 CLI 就绪状态、大模型 Key 存在性全局掌控

✨ 核心特性

1. 🔌 活跃端口全景透视与一键安全释放 (Kill Process)

  • 实时探测:底层基于系统 lsof 探针,补全 macOS 守护进程最小 PATH 路径,完整捕获服务端口与占用进程名;
  • 高位动态端口折叠:区分核心服务端口与动态端口,保持界面清爽;
  • 坚不可摧的安全护栏:
    • 🛡️ 防自杀保护:DSH 核心端口 :3080 永久锁定(显示 🔒 徽标),DSH 宿主自身的 process.pid 永久锁定,严禁终止;系统核心 PID 强制拦截;
    • 🔍 状态一致性核验:执行前服务端再次校验目标 PID 确实正在监听目标端口,杜绝因 PID 复用导致的误杀;
    • ⚡ 两阶段退出:优先发送 SIGTERM 允许平滑清理,未退出时再升级为 SIGKILL 彻底回收;
    • 🔄 联动即时自检:终止后无需刷新浏览器,页面自动重拉自检,该端口瞬间消失,KPI 计数同步递减。

2. 🛠️ 命令行工具链与版本嗅探

双列黑曜石圆角卡片,实时探测 12 款常见开发工具的安装与版本状态:

  • 基础 CLI:node / npm / pnpm / yarn / git / cs / docker / mise / brew
  • AI CLI:codex / gemini / claude / opencode / agy,另含常见 AI IDE 与本地模型工具
  • 语言运行时:python3 / go / rustc,只展示成功读取到版本的已安装运行时

3. 🔐 AI 模型与开发凭据(零明文、零私有泄露)

  • 高低层级分明:自动提炼并翡翠绿高亮已配置生效的模型能力(如 DeepSeek、MiniMax 等);
  • 低对比度辅助:未配置的环境变量以微型灰度标签展示,视觉清爽不抢戏;
  • 安全红线:所有接口与组件绝不输出、不读取、不传递任何密钥明文,零私有凭据泄露。

4. 🧩 扩展插件与网络接口全览

  • 自动列出当前 Web / Local profile 下加载的 DSH 扩展插件及其实际生效版本;
  • 区分展示局域网 IP、公网出口 IP,并标出是否检测到显式代理配置;公网出口 IP 只在用户点击后检测。

📦 安装与启用

方式 A:通过 DSH 插件管理器安装(推荐)

前提:装好 Node.js 即可,无需全局安装 dsh —— 官方入口就是 npx @deepseek-ai/dsh。已全局安装的可把它换成 dsh。

npx @deepseek-ai/dsh plugin --profile web add @dsh-plugins/dsh-env-inspector

再把 @dsh-plugins/dsh-env-inspector 加进 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 数组,然后按下方重启 DSH。

方式 B:手动配置 Profile

在你的 DSH profile 配置(如 ~/.dsh/profiles/web/package.json)中添加依赖与 bundle 声明:

{
  "dependencies": {
    "@dsh-plugins/dsh-env-inspector": "^0.2.4"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@dsh-plugins/dsh-env-inspector"
      ]
    }
  }
}

执行安装并重启 DSH:

npx @deepseek-ai/dsh plugin --profile web install
# 结束当前 DSH 进程后重新运行
npx @deepseek-ai/dsh web

进入页面后,点击顶部导航栏中的 「🖥️ 电脑环境」 Tab,即可开始使用。


🛡️ 架构与安全承诺

  • 零运行时依赖:代码完全基于 Node.js 原生 API 与纯 React 构建,无任何第三方三方包膨胀;
  • 默认不联网:本地自检不访问外部服务;用户主动点击“检测出口 IP”时,浏览器才向公网 IP 服务发起一次请求;
  • 同源防护:所有接口强制校验 Sec-Fetch-Site: same-origin,彻底杜绝恶意网页跨站探测。

🗺️ 后续落地规划 (Roadmap)

  • 项目目录反查:针对端口占用的进程,自动反查并展示其当前的工作目录(如 /Users/.../my-vite-app);
  • 开机幽灵端口对比:提供“基准端口对比”模式,高亮提示当前会话中新开启但未退出的残留端口;
  • 官方命名平滑演进:待维护账号收敛后,无缝兼容并迁移至 @dsh-plugins/dsh-env-inspector 与 dsh-env-inspector。

🧩 DSH 插件全家桶

一行装齐(只需 Node.js),装完重启 DSH 即可:

npx -y @deepseek-ai/dsh plugin --profile web add dsh-bloom-theme @dsh-plugins/dsh-llm-hub @dsh-plugins/dsh-user-mirror @dsh-plugins/dsh-env-inspector && node -e 'const f=(process.env.DSH_HOME||require("os").homedir()+"/.dsh")+"/profiles/web/package.json",p=require(f),b=p.dsh.profile.bundles;for(const n of Object.keys(p.dependencies))if(/^(dsh-bloom-theme|@dsh-plugins\/)/.test(n)&&!b.includes(n))b.push(n);require("fs").writeFileSync(f,JSON.stringify(p,null,2)+"\n")'

License

MIT © webkubor

内容来自项目 README(GitHub)↗

评论

评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。