DSH Plugins
返回列表
🧩

dsh-port-guard

admin-security 更新于 2026.08.14

在终端中运行以下命令:

dsh plugin install PangYiMing/dsh-port-guard

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install PangYiMing/dsh-port-guard 即可安装该插件,开源仓库地址为 https://github.com/PangYiMing/dsh-port-guard。

插件介绍

EADDRINUSE 是每次 dev server 启动时最熟悉的报错,也最容易让人条件反射式地 kill 掉占用进程。但 dsh-port-guard 的核心判断是:端口被占不等于该杀。上次会话遗留的 dev server 应该直接复用,别人的项目进程应该换端口绕开,只有确认是僵尸残留才值得精确清理。先判断归属,再决定动作。

插件的第一步是取证:打印占用进程的完整身份,包括 PPID、tty、文件描述符指向、运行时长与内存占用。PPID 等于 1 说明是孤儿进程,tty 为空说明不是人在终端里跑的,fd 指向 .log 文件则是 nohup 启动的 agent 或脚本指纹。把这些线索组合判读,就能明确该复用、该绕开、还是该精确 kill。

处置时遵循明确的安全红线:绝不 killall node,绝不碰 PID 低于 100 的系统进程,别人的进程不杀,命令行看不懂就停下来报告用户。所有操作只针对精确 PID,不误伤其他正常服务。

适合频繁切换多项目的前端与全栈开发者、用 agent 脚本批量拉起 dev server 的团队,以及任何不希望一次端口冲突就丢失仍在运行服务的场景。

使用场景

  • dev server 启动报 EADDRINUSE,需判断该复用还是该杀
  • 多项目并行开发时端口冲突频发需快速处置
  • agent 脚本批量拉起服务后残留进程占用端口

适合人员

  • 频繁切换多项目的前端与全栈开发者
  • 用 agent 脚本批量管理 dev server 的团队
  • 重视进程安全、拒绝无脑 kill 的开发者