前言¶
DeepSeek Harness (DSH) 的默認 web profile 通常需要在本地訪問。如果你需要從遠程訪問 DSH 的默認 web profile,且僅服務於單用戶,可以使用 dsh-auth-remote。它運行在 DSH 內部,保護瀏覽器路由、API、流和 WebSocket。
這是什麼¶
dsh-auth-remote 是一個爲 DeepSeek Harness (DSH) 設計的單用戶遠程登錄插件。由 ChenLuoi 維護,採用 MIT 許可證。
它解決了單用戶遠程訪問的認證問題,支持密碼、TOTP(時間同步一次性密碼)和一次性備份代碼,並提供可撤銷會話。
核心功能¶
- 認證方式:支持密碼、TOTP 以及一次性備份代碼。
- 會話管理:支持撤銷會話。會話具有固定的默認生命週期(168 小時),並在服務重啓後存活。
- 訪問控制:保護瀏覽器路由、API、流和 WebSocket。
- 管理工具:提供 CLI 管理命令(初始化、狀態查詢、重置密碼、重置 TOTP、撤銷會話)。
- 生態集成:支持 PWA manifest 集成,自動聲明原生橋接授權。
安裝與啓用¶
安裝前請確保 DSH 版本在支持範圍內(0.1.7-rc.1 到 0.2.1-alpha.3)。使用以下命令將插件安裝到默認的 web profile:
dsh --version
dsh plugin --profile web add dsh-auth-remote@0.1.9
dsh plugin --profile web list
配置與啓動¶
啓動服務¶
啓動 web 服務時,插件會自動從監聽器推導根路徑。如果未配置 publicUrl,直接訪問監聽地址即可。
dsh web --no-open --port 13090
啓動後,請檢查 /auth-remote/ready 端點以確保服務已就緒。如果沒有顯式配置 publicUrl,插件會根據實際的監聽協議、地址和端口生成根路徑。
配置公開訪問(可選)¶
若需配置公開 HTTPS 入口,需設置 publicUrl、host 和 port。DSH 0.2.1-alpha.2 和 0.2.1-alpha.3 也支持原生 IPv6 和 TLS 配對配置。
注意:設置 URL 不會配置代理路由或 TLS,CLI 信任的主機配置會被保留,但外部的公開源和登錄檢查依然生效。
賬戶管理¶
初始化賬戶¶
首次使用需要在同一個默認 web profile 下初始化賬戶:
dsh plugin --profile web exec dsh-auth-remote init --lang en
系統會提示輸入用戶名和密碼(密碼長度 12-256 字符,且不在命令行回顯)。首次密碼登錄默認要求設置 TOTP。初始化時會顯示 10 個一次性備份代碼,每個代碼僅能使用一次,且列表無法在之後恢復。
常用管理命令¶
- 查看狀態:
dsh plugin --profile web exec dsh-auth-remote status --lang en
使用 `--json` 參數可獲取機器可讀的狀態。
- 重置密碼:
dsh plugin --profile web exec dsh-auth-remote reset-password --lang en
- 重置 TOTP:
dsh plugin --profile web exec dsh-auth-remote reset-totp --lang en
- 撤銷會話:
dsh plugin --profile web exec dsh-auth-remote revoke-sessions --lang en
以上 mutating 命令需要交互式確認。
注意事項¶
- 配置文件隔離:賬戶狀態屬於默認 web profile,不與其他配置文件共享。
- TOTP 默認開啓:默認配置
requireTotp: true,首次密碼登錄必須設置 TOTP。 - 版本兼容性:插件支持 DSH 0.1.7-rc.1 至 0.2.1-alpha.3。原生 IPv6/TLS 功能僅在 0.2.1-alpha.2 和 0.2.1-alpha.3 上可用。
- 資源訪問:PWA manifest 和 favicon 在登錄前可讀,但業務頁面和 API 仍需認證。
- 能力檢查:如果 DSH 缺失必要的 WebServer/Connection API,插件會通過診斷提示認證不可用。
生態背景¶
DSH 的設計理念是「一切皆插件」。此插件由社區開發者維護,獨立於 DeepSeek 或幻方官方,是 DSH 生態系統中的工具之一。