dsh-instance-manager:DeepSeek Harness 側邊欄實例管理器

前言

DeepSeek Harness(DSH)允許在本地通過不同端口(如 3080–3129)同時運行多個實例。手動切換標籤頁查看日誌、檢查進程狀態或停止實例會增加操作成本。dsh-instance-manager 插件通過常駐側邊欄面板,將所有本地實例的監控與控制集中在一處。

這是什麼

這是一個常駐 DSH 插件,提供側邊欄面板以統一查看並優雅停止本機 3080–3129 端口的 dsh 實例。項目由 xswt442-cmd 維護,採用 MIT 許可證。

核心功能

插件提供以下核心能力:

  1. 實例列表與詳情
    列出每個實例的詳細信息,包括端口、PID、運行時長、會話數、常駐內存和版本。當前實例會恆排在列表第一行,其餘實例按端口升序排列。

  2. 啓動新實例
    在側邊欄面板啓動新實例時,如果端口留空,插件會在託管端口段(默認 3080–3129)內自動挑選第一個空閒端口並啓動。如果指定端口已被佔用,會直接報錯而不會嘗試佔用其他端口。

  3. 打開與跳轉
    點擊列表中的 :端口 鏈接可跳轉到該實例的界面。插件會自動處理 token 重定向邏輯。

  4. 停止實例
    支持停止單個實例、停止當前實例或停止所有本地實例。所有停止操作均通過目標實例自身的優雅退出流程完成,而非強制殺進程。

  5. 日誌與會話查看
    提供每個實例的只讀視圖,可查看 stdout/stderr 日誌以及會話概要。

  6. 遠程實例支持
    配置 peer 後,面板可以查看遠程實例及其日誌。遠程實例行只讀,不參與 stop-all 操作。

  7. Agent 工具
    提供 instance_list、instance_start、instance_stop、instance_logs、instance_sessions 等命令行工具。

安裝與啓用

通過 npm 包安裝並註冊到 web profile。安裝後重啓 DSH Web 即可生效。

dsh plugin --profile web add dsh-instance-manager

配置

插件支持在 DSH Settings 中配置,也支持通過環境變量設置默認值。主要配置項包括:

  • Dock 位置:控制面板在主界面的停靠位置。
  • 刷新間隔:控制列表數據刷新的頻率。
  • 啓動端口段:設置實例啓動時的可用端口範圍。
  • Fleet token:用於遠程認證與安全校驗。
  • Peers:配置需要監聽的遠程 peer 地址。

對應的環境變量示例:

$env:DSHIM_DOCK_PLACEMENT = 'main-bottom-left'
$env:DSHIM_REFRESH_INTERVAL_MS = '4000'
$env:DSHIM_PORT_RANGE = '3080-3129'
$env:DSHIM_FLEET_TOKEN = '<long-random-secret>'
$env:DSHIM_PEERS = 'office@http://192.168.1.20:3080'

安全

插件內置了本地守衛機制:

  • 訪問控制:拒絕跨站 Origin、非 loopback Host 的請求。
  • Token 驗證:Fleet token 的有效性基於真實 TCP 對端地址(socket)判定,而非僅依賴 HTTP Host 頭。如果對端地址缺失或無法解析 token,請求會被拒絕。
  • 權限劃分:Fleet token 持有者擁有啓動或停止本機實例及讀取會話信息的權限,但沒有操作級權限劃分。應僅授予可信設備。
  • 接口開放:Server-Sent Events(SSE)僅向本機開放。

注意事項

  • 遠程實例限制:配置 peer 後查看的遠程實例爲只讀狀態,不參與本地的一鍵停止操作。
  • 開發要求:在提交代碼前,需要運行 npm test、npm run docs:check 和 npm pack --dry-run。

資源

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

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

小夜