dsh-3301:DSH 的 LAN 入口與反向代理插件

DSH(DeepSeek Harness)通常只綁定在 127.0.0.1,限制了只能在本地訪問。要在局域網內的其他設備(如手機或辦公電腦)上查看 DSH 的 Web 界面,需要一個反向代理。dsh-3301 旨在解決這個問題。它將 DSH 的本地端口轉發到 http://<this-machine-ip>:3301,提供密碼保護、會話認證以及對 WebSocket 的支持。

核心功能

  • LAN 訪問 DSH:將 DSH 的 Web 界面暴露在局域網內。
  • 密碼保護的反向代理:支持 HTTP 和 WebSocket,防止未授權訪問。
  • DSH 插件支持:作爲插件集成到 DSH 進程中,隨 DSH 啓動和停止,無需單獨運行守護進程。
  • 會話 Cookie 認證:登錄後使用簽名 Cookie(默認有效期 30 天),避免了 Basic Auth 對 WebSocket 連接的頻繁中斷問題。
  • 速率限制:防止暴力破解攻擊。
  • 跨平臺支持:基於 Node.js 內置模塊,支持 Windows、macOS 和 Linux。
  • 零安裝依賴:不依賴外部 npm 包。

安裝與部署

當前項目沒有發佈 npm 包,需要通過 Git 克隆並部署。請確保已安裝 Node.js 18 或更高版本。

  1. 克隆倉庫並進入目錄:
    git clone https://github.com/Aztech-Lab/dsh-3301
    cd dsh-3301
  1. 執行部署腳本:
    node tools/deploy.mjs dsh-3301
腳本會將插件文件寫入 DSH 的配置目錄(通常在 `$DSH_HOME/profiles/<profile>`)。如果遇到權限拒絕錯誤,請檢查目錄權限或以所有者身份運行。

配置與使用

插件配置

重啓 DSH 後,在界面中進入 設置 -> 插件 -> 插件配置 -> dsh-3301。

配置項 說明
啓用 開啓後監聽指定端口,關閉則釋放端口。
綁定主機 0.0.0.0 允許局域網訪問,127.0.0.1 僅本機訪問。
端口 默認爲 3301。
用戶名 登錄表單的用戶名,默認爲 dsh。
Session 有效期 會話 Cookie 的有效期,默認 30 天。
失敗鎖定 IP 在多次登錄失敗後的鎖定策略。
密碼 寫入式輸入框。留空表示清除密碼;修改密碼需要輸入舊密碼。

訪問入口

配置並保存後,在局域網內的任意設備訪問:
http://<host-ip>:3301

首次訪問或重置密碼時,可訪問初始化設置頁:
http://127.0.0.1:3301/__gate/setup

檢查服務狀態(無需認證):
http://127.0.0.1:3301/__gate/health

注意事項

  • 默認無密碼:插件啓動時沒有默認密碼。任何能訪問端口 3301 的設備都可以進入 DSH。建議在暴露到網絡前先設置密碼。
  • 配置方式:插件的所有配置均通過設置卡片完成,不支持命令行參數。
  • 樣式授權:插件的樣式代碼使用了 BSD-3-Clause 許可證。
  • 獨立模式:除了作爲插件運行外,項目仍支持獨立的 CLI 模式,通過環境變量 DSH_PROXY_PASS 進行配置。

適用場景

適合需要在局域網內使用 DSH 進行智能體開發或調試的開發者,特別是需要長時間保持 WebSocket 連接(如 SSE 或實時流式輸出)的場景。

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

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

小夜