🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

端口管理器 WASD258-jpg/dsh-port-manager

DeepSeek Harness
WASD258-jpg81 天前有提交已提供中文文档扫描:无法判定

列出本机占用端口并热切换 Web 服务端口

27.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add WASD258-jpg/dsh-port-manager
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/27·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 81 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 取源不可用(Error: github tarball HTTP 404 @ https:
  • · api.github.com
  • · repos
  • · WASD258-jpg
  • · dsh-port-manager
  • · tarball)
扫描于 2026/11/3(1 天前)

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 列出本地监听端口
  • 热切换Web服务端口

DSH web 端口管理插件:列出本地监听端口,热切换 DSH web 端口。

README

由 DeepSeek 最新模型翻译生成
dsh-port-manager DeepSeek Harness(DSH)社区插件:让 DSH web 不再死占 3080,并列出本机所有已占用端口,方便选一个空闲端口。 这是社区项目,并非 DeepSeek 官方插件,也不代表 DeepSeek 的认可或背书。 功能 - 设置 → 端口管理:在 DSH web 界面里直接查看和切换端口 - 本机端口清单:列出 TCP/UDP 监听端口、监听地址、进程名、PID,标记当前 DSH 端口 - 空闲端口推荐:根据当前占用列表推荐空闲端口,一键填入 - 热切换:切换端口不重启 dsh 进程、不丢会话,页面自动跳转到新地址 - 持久化:端口写入 $DSH_HOME/dsh-port-manager.json,重启 DSH 后继续使用新端口 - 占用保护:目标端口被占用时直接拒绝,并提示占用者进程与 PID 安装 要求:DSH web profile(@deepseek-ai/dsh-web-app),Node.js 环境为 DSH 自带或系统 Node。
展开完整文档(README 剩余 1 节)
dsh-port-manager

DeepSeek Harness(DSH)社区插件:让 DSH web 不再死占 3080,并列出本机所有已占用端口,方便选一个空闲端口。

这是社区项目,并非 DeepSeek 官方插件,也不代表 DeepSeek 的认可或背书。

功能

- 设置 → 端口管理:在 DSH web 界面里直接查看和切换端口
- 本机端口清单:列出 TCP/UDP 监听端口、监听地址、进程名、PID,标记当前 DSH 端口
- 空闲端口推荐:根据当前占用列表推荐空闲端口,一键填入
- 热切换:切换端口不重启 dsh 进程、不丢会话,页面自动跳转到新地址
- 持久化:端口写入 $DSH_HOME/dsh-port-manager.json,重启 DSH 后继续使用新端口
- 占用保护:目标端口被占用时直接拒绝,并提示占用者进程与 PID

安装

要求:DSH web profile(@deepseek-ai/dsh-web-app),Node.js 环境为 DSH 自带或系统 Node。

1. 克隆或下载本仓库:

git clone https://github.com/WASD258-jpg/dsh-port-manager.git

2. 安装到 DSH profile 依赖目录(二选一):

方式 A:npm 安装(推荐)

cd "$env:USERPROFILE\.dsh\profiles"
npm install @wasd258/dsh-port-manager --no-save

方式 B:从源码手动复制

$src = '.\dsh-port-manager'
$dst = "$env:USERPROFILE\.dsh\profiles\node_modules\@wasd258\dsh-port-manager"
New-Item -ItemType Directory -Force -Path "$dst\lib" | Out-Null
Copy-Item "$src\package.json" $dst -Force
Copy-Item "$src\lib\index.js","$src\lib\client.js" "$dst\lib" -Force
Copy-Item "$src\LICENSE","$src\NOTICE" $dst -Force

(Linux/macOS 把 $env:USERPROFILE\.dsh 换成 ~/.dsh;设置了 DSH_HOME 就用 $DSH_HOME。)

3. 编辑 $DSH_HOME/profiles/web/cordis.patch.yml,追加:

端口管理插件:CLI --port > 插件配置 > DSH_WEB_PORT > 3080
- id: webserver
inject: [webStartup, dshPortManager]
config:
host: !!js ctx.webStartup.host ?? '127.0.0.1'
port: !!js ctx.dshPortManager.startupPort(ctx.webStartup.port)

- insert:
- id: dsh-port-manager
name: '@wasd258/dsh-port-manager'
config:
role: provider

- id: dsh-port-manager-routes
name: '@wasd258/dsh-port-manager'
inject: [webServer, dshPortManager, subprocess, sandboxPolicy]
config:
role: routes

如果你已经手工给 webserver 行写过配置,请把 port 表达式替换为 !!js ctx.dshPortManager.startupPort(ctx.webStartup.port),并确保 inject 同时包含 webStartup 与 dshPortManager。

4. 重启一次 DSH web(退出后重新打开即可)。设置页出现 端口管理 即安装成功。

使用

1. 打开 DSH web → 设置 → 端口管理
2. 查看“本机已占用端口”,点“重新扫描”可强制刷新
3. 点一个“推荐空闲端口”,或手动输入 1–65535 的端口(0 = 系统自动分配)
4. 点 应用新端口并跳转;等待 1 秒左右,页面自动跳到新地址

热切换期间会短暂关闭旧监听。已打开的其它标签页会断开,需要重新打开新地址。

端口优先级

| 来源 | 优先级 |
| dsh web --port | 最高 |
| $DSH_HOME/dsh-port-manager.json | 高 |
| DSH_WEB_PORT 环境变量 | 中 |
| 3080 | 默认 |

插件在 UI 中切换时会把实际监听端口写回配置(输入 0 时回写系统分配到的端口)。删除 dsh-port-manager.json 即回到默认 3080。

HTTP API

host half 注册在 /api/dsh-port-manager 前缀下:

| 方法 | 路径 | 说明 |
| GET | /status | 当前端口、期望端口、URL |
| GET | /ports | 本机监听端口列表(?force=1 强制刷新) |
| POST | /apply | 切换端口,请求体 {"port": 3210} |

Windows 上端口枚举优先使用 PowerShell 的 Get-NetTCPConnection/Get-NetUDPEndpoint,失败时回退到 netstat;Linux/macOS 回退到 /proc 或 netstat。

工作原理

- lib/index.js(host half)
- role: provider:读取 dsh-port-manager.json,提供 dshPortManager 服务
- role: routes:注册 HTTP API;切换时先绑定新端口的新 server,响应返回后再关闭旧监听
- lib/client.js(web half):向设置页注册“端口管理”卡片
- 切换不重启进程:webServer 的路由表保持不变,仅替换底层 node:http server

隐私与安全

- 插件不发起任何网络请求、不上传数据、无遥测
- 只在本地执行系统命令读取端口占用(Windows:PowerShell;其它:netstat//proc)
- 配置只写在本地 $DSH_HOME/dsh-port-manager.json
- 端口清单与热切换 API 只接受本机回环连接:即使用户把 DSH 配置为 0.0.0.0,插件 API 也不会暴露给局域网/公网
- 写操作 /apply 还要求 Content-Type: application/json 且浏览器请求必须同源,防止恶意网页跨站切换端口
- 插件不会修改 DSH 的绑定 host;host 仍由 DSH webserver 配置决定

兼容性

开发与验证环境:

- DeepSeek Harness 0.1.0-rc.6(web profile,Windows 11 + PowerShell)
- 参照提交 47f9438 的 bundle patch 接口

其它版本若有 webserver 行结构变化,只需要按上面的说明调整 cordis.patch.yml。

官方生态要求

DeepSeek 当前建议社区作者把插件放在自己的 GitHub 项目中,并为仓库添加 dsh-plugin topic 方便发现。官方仓库目前不接受外部 PR,也没有强制社区插件仓库模板。原文见官方 CONTRIBUTING.zh.md。

许可证

MIT。cordis.patch.yml 中 webserver 端口表达式参照 DeepSeek Harness web app bundle patch 修改,原始 DeepSeek 版权和 MIT 许可声明保留在 NOTICE 中。
预览分享卡片长什么样 ↓WASD258-jpg/dsh-port-manager
分享 · DeepSeek Harness Hub
WASD258-jpg/dsh-port-manager

列出本机占用端口并热切换 Web 服务端口

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部