dsh-lan: DSH 局域網暴露與餘額查詢插件

前言

DeepSeek Harness (DSH) 的 Web 運行時默認通常綁定在本地迴環地址上,這限制了在局域網內其他設備訪問 Web GUI 的能力。同時,在開發或運維過程中,直接在命令行或腳本中處理 DeepSeek 官方接口(如查詢餘額)需要暴露 API Key,存在安全風險。dsh-lan 作爲一個 bundle 插件,解決了這兩個問題:它將 Web GUI 綁定至局域網地址,並提供一個不離開 PC 端的餘額查詢 RPC 接口。

這是什麼

dsh-lan 是一個 DeepSeek Harness (DSH) 插件,由開發者 SparkWeiyang 維護。它屬於聯網工具類別,許可證爲 MIT。該插件的核心價值在於將 Web GUI 的訪問範圍擴展至局域網,並利用 PC 端已配置的憑證提供官方餘額查詢服務,確保 API Key 永遠不離開本地環境。

核心功能

  1. 局域網開放 Web GUI:修改 Web 服務器的綁定地址爲 0.0.0.0,並自動枚舉 IPv4 地址作爲信任柵欄白名單,無需額外啓動參數或補丁。
  2. 餘額查詢 RPC:提供 deepseek/balance RPC 接口,使用 PC 端配置的 DEEPSEEK_API_KEY 向官方 API 發起請求。

安裝與啓用

執行以下命令將插件安裝到 web profile:

dsh plugin --profile web add dsh-lan

安裝完成後,需編輯 $DSH_HOME/profiles/web/package.json,確保 dsh-lan 位於 @deepseek-ai/dsh-web-app 之後,將其加入 bundles 列表:

{
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-lan"
      ]
    }
  }
}

典型用法

安裝並配置完成後,啓動 Web 服務:

dsh web              # 默認綁定 0.0.0.0:3080
dsh web --port 8080  # 指定端口

啓動後,web-runtime 會輸出局域網訪問地址(如 http://192.168.x.x:3080)。

通過 RPC 調用餘額查詢。客戶端發送標準 RPC 信封:

{
  "type": "client-request",
  "rpcId": "uuid",
  "method": "deepseek/balance",
  "payload": { "args": {} }
}

成功響應示例:

{
  "is_available": true,
  "balance_infos": [
    { "currency": "CNY", "total_balance": "8.27", "granted_balance": "0.00", "topped_up_balance": "8.27" }
  ]
}

若 PC 端未配置 DEEPSEEK_API_KEY,RPC 將返回 internal 錯誤。

原理

插件通過兩個文件實現功能:
1. cordis.patch.yml:這是一個 bundle patch 文件。它覆蓋 webserver 的配置,將 host 設置爲 0.0.0.0(端口隨 --port 參數可調),並插入 deepseek-service 服務加載邏輯。
2. lib/index.js:實現了一個 TypertRemoteService 子類。它使用 @Remote('balance') 註冊 deepseek/balance 端點。在處理請求時,它通過 ctx.credentials.resolve('DEEPSEEK_API_KEY') 獲取 PC 端憑證,並調用官方接口查詢餘額。

注意事項

  1. 安全邊界:DSH Web carrier 沒有內置鑑權層。這裏的“信任柵欄”僅指網絡可達性策略。一旦綁定 0.0.0.0,同網段內的任何設備均可訪問 Web GUI 並驅動會話執行命令。
  2. 憑證依賴:餘額查詢功能依賴 PC 端已配置的 DEEPSEEK_API_KEY,密鑰邏輯上不出 PC,但前提是 PC 端必須正確配置了憑證。
  3. 部署建議:請僅在可信網絡環境下暴露該服務,或在其前方部署反向代理並開啓認證機制,以防止未授權訪問。

結語

dsh-lan 通過簡單的配置實現了 DSH 在局域網內的可用性,並利用 PC 端憑證提供了安全的餘額查詢手段。它符合 DSH “一切皆插件” 的理念,適合需要在本地網絡中協作或通過腳本自動化查詢餘額的開發場景。

  • 插件目錄:https://www.skillhub.cn/plugins/SparkWeiyang/dsh-lan
  • 倉庫地址:https://github.com/SparkWeiyang/dsh-lan
羽毛球分组比赛记分
小程序二维码

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

小夜