dsh-port-inspector: DSH Web 端口来源追踪与安全处理工具

前言

当 Coding Agent 启动多个本地服务后,用户很难判断当前机器上的端口属于谁、为何还在运行,以及是否可以安全关闭。在多服务联调或后台任务持续运行的 Session 中,这种信息缺失会导致端口冲突、误杀其他服务或遗留僵尸进程。dsh-port-inspector 是 DeepSeek Harness Web 环境下的一个辅助插件,用于解决监听端口来源追踪与安全处理的问题。

核心功能

插件通过集中展示监听端口、应用、PID 与监听地址,并区分来源与处理方式,帮助开发者理清当前环境。

  • 端口总览:集中查看项目和系统中的监听端口、应用、PID 与监听地址。
  • 来源识别:区分当前会话、其他 DSH 会话和普通外部进程。
  • 安全停止:对 DSH 管理的进程执行经过身份校验的停止操作。
  • 结束进程:对身份信息完整的外部进程提供直接结束能力。
  • 打开目录:从端口详情快速跳转到关联项目目录。
  • Compose 识别:展示 Compose 文件、服务、镜像、容器和端口映射。
  • 启动链路:查看从根进程到监听进程的完整启动关系。
  • 快速筛选:支持按端口、应用、PID、项目和会话搜索、筛选与排序。
  • 复制详情:一键复制端口、进程、来源和会话信息。
  • 界面同步:自动跟随 DSH 的语言、深浅色和设计风格。
  • 只读诊断:提供只读 port_list Tool,用于诊断端口冲突。

安装与启用

前置条件:
* Windows 操作系统
* Node.js >= 22.19.0
* 可运行的 DeepSeek Harness (DSH)
* PATH 中可用的 pnpm
* 目标 DSH Profile 为 web

安装方式:

  1. 通过 npm 安装(推荐)
    dsh plugin --profile web add dsh-port-inspector@latest
  1. 通过 GitHub Release 下载并安装
    gh release download --repo ianho7/dsh-port-inspector --pattern 'dsh-port-inspector-*.tgz' --output 'dsh-port-inspector-latest.tgz'
    dsh plugin --profile web add '.\dsh-port-inspector-latest.tgz'
  1. 从源码编译并安装
    git clone https://github.com/ianho7/dsh-port-inspector.git
    cd dsh-port-inspector
    npm install
    npm run build
    npm pack --ignore-scripts
    dsh plugin --profile web add ".\$PackageFile"
*注意:在首次安装或使用 `koffi` 时,如果遇到 `ERR_PNPM_IGNORED_BUILDS`,需在对应 Profile 的 `pnpm-workspace.yaml` 中设置 `allowBuilds: koffi: true`。*

启用:

安装完成后启动 DSH Web:

dsh web

浏览器打开后,创建新的 DeepSeek Harness Session,让 Agent 启动本地服务,然后在侧边栏打开 Port Inspector。

典型用法

  1. 查看端口信息:在 Port Inspector 面板中查看端口、PID、应用、项目、创建时间、来源和处理方式。
  2. 执行处理操作:
    • 对于受管资源(DSH 启动),选择“停止 DeepSeek Harness 任务”。
    • 对于符合安全条件的外部进程,选择“结束该进程”。
  3. 确认结果:确认后等待 fresh scan,检查界面报告的 portReleased 结果,确认端口是否实际释放。

注意事项与限制

  • 平台限制:仅支持 Windows 本地执行环境 和 TCP 监听。
  • 身份验证:Verified attribution 需要具备 PID、创建时间和可验证的 Windows 父进程链,不能仅凭命令、目录、时间或端口号猜测。
  • 生命周期管理:
    • DeepSeek Harness 受管目标优先使用 Job/Terminal 生命周期;Managed shutdown 失败时不会自动升级为 PID 强杀。
    • 外部目标只允许用户确认后,重新校验身份并结束明确选择的单个同用户 PID。
  • 安全边界:
    • 不终止外部进程树、不自动提权、不读取环境秘密。
    • 系统进程、其他用户进程、受保护进程、身份不完整或权限不足的目标保持只读。
  • 归因机制:
    • 安装或更新 Bundle 后必须重启目标 Profile,并创建新的任务才能获得来源归因。
    • 来源记录只保留在当前 DeepSeek Harness 运行周期内,不会追溯归因重启前已经存在的进程。
  • 兼容性:部分 Stock DeepSeek Harness 与 Windows ConPTY 组合会先返回 PID = 0 的 LocalTerminalHandle,仅在精确版本和精确句柄形状均匹配时,兼容层才等待 PTY 发布正 PID。
  • 卸载行为:卸载插件只清理自身资源,不自动终止用户进程。

总结

dsh-port-inspector 是一个专注于 Windows 本地开发的端口管理辅助工具,它通过连接 Windows 监听端口、进程链与 DeepSeek Harness 的 Session/Tool Call,实现了对开发服务来源的可追溯与安全可控管理。适合需要在多项目并行开发中区分同名进程、解决端口冲突的开发者使用。

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

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

小夜