DSH 插件生態支持通過插件擴展客戶端能力。對於開發者而言,查看本地監聽端口、關聯進程以及快速處理端口問題(如佔用或異常)是日常高頻需求。dsh-port-manager 是一個本地運行的插件,它將端口信息直接集成到 DSH 的右側邊欄中,提供可視化的查看和操作入口。
插件概覽¶
這是一個零運行時依賴的客戶端插件,由 wyzh0117 維護,採用 MIT 許可證。它通過註冊右側邊欄的 Guide 頁面膠囊來提供入口,數據採集和渲染完全在本地完成。
核心功能¶
側邊欄入口
在右側邊欄的 Guide 頁面中,插件會註冊一個順序爲 15 的膠囊,點擊即可在當前 Pane 中打開端口管理面板。
端口列表與詳情
面板列出當前機器的所有監聽端口,包含以下信息:
* 協議與端口
* 綁定範圍(僅本機、局域網、全部接口)
* 應用詳情(應用名、分類徽章)
* 進程信息(PID、CPU、內存)
* 工作目錄
* 容器信息(若通過 Docker 端口映射關聯)
端口操作
支持一鍵操作:
* 打開:在系統瀏覽器中打開對應地址。
* 複製:提供多種格式(URL、lsof 命令、kill 命令、工作目錄路徑等)。
* 詳情:展開顯示完整命令行、父進程鏈、所有綁定及 HTTP 探測結果(包含狀態碼、延遲等)。
* 定位:在文件管理器中打開工作目錄。
* 結束:支持 SIGTERM 優雅終止,若 1.7 秒後進程仍存活則升級爲 SIGKILL。
過濾與控制
* 工具欄顯示端口總數、應用數、暴露端口數及最後掃描時間。
* 支持搜索(端口、應用、命令、目錄、容器名)。
* 過濾器:全部 / 僅本機 / 對外暴露 / 可結束。
* 排序:端口、應用、CPU、內存。
* 刷新:手動 / 3s / 10s / 30s 自動刷新。
安裝與啓用¶
- 進入插件目錄。
- 執行安裝命令。
cd /path/to/dsh-PortManager
dsh plugin --profile web add "link:$PWD"
- 重啓
dsh web。由於安裝了新的 bundle 層,必須重啓dsh web才能使插件生效。
驗證安裝:
node -e 'const h=process.env.DSH_HOME??process.env.HOME+"/.dsh";const p=require(h+"/profiles/web/package.json");console.log(p.dependencies["dsh-port-manager"], p.dsh.profile.bundles)'
卸載:
dsh plugin --profile web remove dsh-port-manager
使用方式¶
安裝並重啓後,打開 DSH 右側邊欄,點擊 “Port Manager” 膠囊。面板加載完成後,可以通過工具欄的搜索框過濾端口,或點擊卡片上的操作按鈕(如打開、複製、結束)快速處理端口相關任務。
兼容性與注意事項¶
- 平臺支持:macOS 和 Linux 完全支持。Windows 因系統命令限制,掃描會報錯且列表爲空。
- UI 語言:面板 UI 目前僅支持簡體中文,暫無國際化支持。
- 環境要求:DSH 版本需在
^0.1.5-rc.1以上,Node.js 版本需>= 20。
該插件以 DSH 進程的權限運行,安裝前建議檢查源碼與許可證。