dsh-cloudflare-access:DeepSeek Harness 的 Cloudflare Access 認證插件

前言

DeepSeek Harness (DSH) 採用插件化架構,允許通過 Web 客戶端進行遠程管理。爲了在遠程訪問(如 https://dsh.example.com)下安全地操作 Settings、Credentials、Agent Preset 管理及模型發現等功能,需要驗證請求來源的合法性。

dsh-cloudflare-access 是一個運行在 DSH 進程內部的插件。它不替代 Cloudflare Access,而是作爲 Origin 端的驗證層,讀取並驗證 Cloudflare Access 注入的 Cf-Access-Jwt-Assertion 頭部。驗證通過後,DSH 將其作爲認證令牌使用,從而允許遠程特權操作。

插件簡介

  • 名稱: dsh-cloudflare-access
  • 維護者: Luawig
  • 許可證: MIT
  • 核心功能:
    • 在 DSH Origin 端驗證 Cloudflare Access JWT。
    • 實現遠程特權授權(Settings、Credentials、Agent Preset 管理、模型發現)。
    • 提供 Profile Bundle + Web Client 的雙重模式。
    • 不提供登錄頁、密碼存儲、MFA、會話表或 Cloudflare API 客戶端。

安裝與啓用

此插件需要配合 Web profile 使用。

安裝命令如下:

dsh plugin --profile web add dsh-cloudflare-access

如需卸載:

dsh plugin --profile web remove dsh-cloudflare-access

安裝後需重啓 DSH 進程。插件版本 2.0.x 針對的是 DeepSeek Harness 0.1.5-alpha.1。

配置說明

  1. 將 DSH Web 源置於 Cloudflare Access 應用之後。
  2. 在環境變量中配置 Team Domain 和 Audiences。

環境變量

變量名 說明 示例
DSH_CF_ACCESS_TEAM_DOMAIN 團隊域名 / Issuer https://example.cloudflareaccess.com
DSH_CF_ACCESS_AUDIENCES 訪問應用的 Audience(逗號分隔) your-access-application-aud

systemd 示例

在 systemd 服務配置中鎖定這些值:

[Service]
Environment=DSH_CF_ACCESS_TEAM_DOMAIN=https://example.cloudflareaccess.com
Environment=DSH_CF_ACCESS_AUDIENCES=your-access-application-aud
Environment=DSH_CF_ACCESS_ORDINARY_MODE=off
ExecStart=/usr/bin/dsh --profile web --trusted-host dsh.example.com

驗證配置

執行以下命令確認插件已加載並配置正確:

dsh --profile web --dump-config

輸出中應包含名爲 dsh-cloudflare-access 的層以及 id: cloudflare-access 的插件行。

認證模式

對於遠程非特權 API(如 /api/remote.mux),auth.ordinary 模式決定了是否需要 JWT。

模式 無 JWT 有效 JWT 無效 JWT
off (默認) DSH 原有策略 忽略 JWT 忽略 JWT
optional DSH 原有策略 允許 拒絕
required 拒絕 允許 拒絕

注意:無論上述模式如何設置,遠程特權 API 始終要求有效的 JWT(v2.0 版本)。同時,localhost / 127.0.0.1 / ::1 等迴環地址不要求 JWT。

架構與安全

  • 運行位置: 插件運行在 DSH 進程內部,不修改 DSH 本身。
  • 頭部處理: 插件會透傳 Host、Origin 和 Cf-Access-Jwt-Assertion,不會移除該頭部。
  • 安全模型: 遠程特權請求必須同時通過 DSH 的 Host/Origin 檢查(--trusted-host)和有效的 Cloudflare Access JWT。
  • 網絡隔離: 建議僅允許 Cloudflare(或等效入口)訪問 DSH Origin。安裝此插件不是將 DSH 暴露在公網的理由。

注意事項

  1. 不編輯配置文件: 不要手動編輯 $DSH_HOME/profiles/web/cordis.patch.yml。
  2. Loopback 限制: 迴環訪問不需要 JWT,這是爲了保持 SSH Tunnel 等本地調試方式的可用性。
  3. 版本兼容性: 請勿假設其他 DSH 版本可用,請查看兼容性矩陣。

總結

dsh-cloudflare-access 爲 DeepSeek Harness 提供了基於 Cloudflare Access 的遠程認證能力。它通過在 Origin 端驗證 JWT,解決了 Web profile 遠程管理時的權限校驗問題,同時保持了 DSH 進程的輕量和插件化特性。

插件目錄
GitHub 倉庫

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

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

小夜