dsh-service-console:DSH 的本地開發服務控制檯

前言

用 DeepSeek Harness(DSH)做開發,本地進程很容易越積越多:模型在會話裏跑 npm run dev,你又在別的終端起了 Vite 或 Uvicorn,幾天下來誰佔着哪個端口、哪個進程屬於哪次會話,基本靠回憶。想回收端口時,慣常做法是開終端敲 lsof 找 PID,再手動 kill,一旦判斷錯對象,誤殺的就是不該動的進程。

dsh-service-console 把這套排查和操作搬進了 DSH 的 web UI:發現監聽端口、識別服務歸屬,再安全地查看、停止和重啓。DSH 的理念是「一切皆插件」,本文要介紹的 Jiyr0119/dsh-service-console 就是按這個思路實現的一個原生插件。

這是什麼

一句話定位:DSH 的本地開發服務控制檯。當會話裏(或你自己)啓動了本地開發服務器,它會把這些服務集中列出來——監聽哪些端口、用什麼命令和工作目錄啓動、是否屬於當前會話或工作區、停止或重啓是否安全。

插件由 Jiyr0119 維護,npm 包名爲 @jiyr0119/dsh-service-console,以 MIT 許可證開源,代碼託管在 GitHub。

核心功能

發現與歸屬

插件掃描本機監聽的 TCP 端口,併爲每個服務關聯 PID、PPID、命令、工作目錄、進程組和啓動時間(支持 macOS / Linux)。

歸屬分爲五級:

  1. This chat:與會話啓動臺賬匹配,確認屬於當前會話
  2. Workspace:屬於當前工作區
  3. Other local:本機其他來源
  4. Unknown:來源不明
  5. Protected:受保護進程

要注意,歸屬信息是作爲安全信號展示的,不是隱藏的分類過濾——本機所有監聽服務都會顯示出來,由你自己判斷哪些能動。

停止與重啓

停止操作面向整個進程組優雅退出(對進程組發送 SIGTERM);重啓則使用保存下來的安全啓動命令。每個操作都需要雙重確認,執行前會根據當前快照重新校驗一遍,避免拿着過時的信息動手。

安全防護

這是這個插件着墨最多的部分:

  • 任何信號發送前都會做 PID 複用與指紋校驗
  • 客戶端從不發送原始 PID 或 shell 命令,只以服務 ID 爲目標,Host 在操作前重新校驗 PID、啓動時間和指紋
  • 未知與受保護服務只讀;系統關鍵、高權限進程同樣是只讀
  • 強制殺進程(SIGKILL)默認關閉,僅在顯式啓用並確認後使用
  • 沒有隱式自動清理,命令摘要中的敏感 token 和密碼會被脫敏

作者在文檔裏明確說,這不是一個通用進程管理器。

界面與交互

控制檯按需掃描:打開面板時獲取一次快照,之後用刷新按鈕顯式重新掃描,沒有後臺輪詢。列表支持關鍵詞過濾,可以設置優雅超時和強殺選項,標籤會根據 DSH 當前語言環境自動切換中英文。

展開的服務卡片使用 Web UI 的 token 視覺語言(DSH 原生檢查器樣式),展示進程身份、端口、命令、工作目錄和歸屬證據。

安裝與啓用

用官方命令安裝:

dsh plugin --profile web add -w @jiyr0119/dsh-service-console@latest

安裝後刷新 DSH web UI,會話頭部會出現「🖥 SC」入口,點擊即可打開控制檯面板。

有一點值得說明:插件被 dsh-market / awesome 收錄,並不意味着 UI 會自動出現。這個包自帶 Host 路由和瀏覽器 bundle,執行 dsh plugin add 之後面板即可用。

如果不想走構建流程,還有一條替代路徑:通過動態 Cordis 插件流程粘貼倉庫裏的 dynamic/host.jsdynamic/client.js,零構建、進程本地。

典型用法

1、安裝插件並刷新 web UI,從會話頭部進入控制檯面板;打開時會自動獲取一次快照,之後的重新掃描由刷新按鈕觸發。

2、不安裝也能試用界面:倉庫內有瀏覽器交互演示,打開 ./demo/index.html 即可,無需安裝。

3、想參與開發的話,流程如下:

pnpm install
npm run typecheck
npm run build
npm test

npm test 會先構建一次,再用 Node 內置的 node --test 運行完整測試套件,不需要額外的測試框架。

適用場景與注意事項

適合的場景:在 DSH 裏頻繁起停本地開發服務、想把端口回收從終端命令換成界面操作、需要判斷某個監聽進程屬於哪次會話或工作區的開發者。

動手之前,幾件事需要知道:

  • 僅支持 macOS / Linux,Windows 暫不支持
  • 它不是通用進程管理器,系統關鍵、高權限、未知及受保護進程一律只讀
  • 插件以當前 dsh 進程的權限運行,能做的事以這個權限爲上限
  • 安裝前建議先讀一遍源碼和許可證(MIT),確認符合自己的安全要求

小結

dsh-service-console 解決的是一個具體問題:DSH 會話裏起的本地服務散落在系統各處,排查和回收依賴終端命令和記憶。它把發現、歸屬識別、停止、重啓收進 web UI,並用雙重確認、PID 指紋校驗和只讀策略把誤操作的風險壓低。如果你經常在 DSH 裏起本地服務,值得一試。

  • 社區目錄頁:https://www.skillhub.cn/plugins/Jiyr0119/dsh-service-console (該目錄爲獨立社區站點,與 DeepSeek / 幻方無官方從屬關係)
  • GitHub 倉庫:https://github.com/Jiyr0119/dsh-service-console
羽毛球分组比赛记分
小程序二维码

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

小夜