dsh-no-login:在 DeepSeek Harness 中移除賬號登錄

前言

DeepSeek Harness(DSH)默認帶有 DeepSeek 平臺賬號登錄:側邊欄賬號菜單、設置裏的「賬號與餘額」、首次引導裏的登錄步驟,以及模型選擇器裏走平臺餘額的 DeepSeek Account 路由。若你只想用 API Key 或第三方網關、不希望界面出現登錄入口,也不希望本地殘留可用的平臺會話 token,需要一個在 profile 級別關掉整套賬號能力、又不把依賴 deepseekAccount 的組件拖死的方式。下面介紹社區插件 dsh-no-login 的定位與用法。

這是什麼

dsh-no-login 是 DSH 的 bundle 插件(維護者 SwufeFox,GitHub:SwufeFox/dsh-no-login),分類爲 admin-security。一句話:移除 DeepSeek 賬號登錄相關 UI 與路由,API Key 與第三方/網關模型路由不受影響。

裝好後,界面上不再出現:

  • 側邊欄底部賬號菜單(頭像 / 登錄 / 退出登錄)
  • 設置 → 「賬號與餘額」整頁
  • 首次啓動引導裏的「登錄 DeepSeek 賬號 / 添加 API Key」選擇與額度引導
  • 模型選擇器中的 DeepSeek Account 路由
  • 瀏覽器 OAuth 回調 /oauth/callback、贈金到賬彈窗、登錄失效提示

許可證爲 MIT(package.json 版本 1.0.0)。

核心功能與實現要點

Harness 裏沒有單獨的「關閉登錄」配置項,賬號能力分散在四個出廠插件行裏。本插件通過 cordis.patch.yml 做兩件事:

  1. 將以下四行設爲 disabled: true:
行 id 插件
deepseek-account @deepseek-ai/dsh-deepseek-account-platform
account-controller @deepseek-ai/dsh-api-account-controller
llm-deepseek-account @deepseek-ai/dsh-llm-deepseek-account
ui-settings-account @deepseek-ai/dsh-client-ui-settings-account
  1. 插入本包行 no-login,由 lib/index.js 提供永遠未登錄的 deepseekAccount 替身:讀操作返回 { status: 'signed-out', attempt: null, links: {} } 且不髮網絡請求;startSignIn() 拋 SIGN_IN_DISABLED;resolveToken() 恆爲 undefined。原因是 @deepseek-ai/dsh-client-product-analytics 硬依賴該服務,服務消失會導致遙測一直 pending。

插件加載時會刪除憑證庫裏遺留的 deepseek-account-platform/default 授權記錄;deepseek-account-platform/device 與所有 API Key 憑證不動。

安裝與啓用

在已有插件目錄的前提下,用 DSH 的 bundle 安裝命令(路徑改爲你本機上的絕對路徑):

plugin_manager install_bundle  target=<本目錄絕對路徑>

安裝後,設置 → 插件中會出現名稱爲「禁用登錄」的條目。profile 補丁層支持 live reload,一般無需重啓 Host;瀏覽器端刷新一次即可看到賬號入口消失。

從 GitHub 獲取源碼後,同樣把 target 指向該目錄;README 說明 profile 裏是目錄鏈接,後續可在該目錄內更新代碼。

注意: 不要單獨停用插件行 no-login。停用後 deepseekAccount 服務會消失,可能再次觸發遙測 pending。若要恢復登錄,應整包移除:

plugin_manager remove_bundle target=dsh-no-login

移除後四行恢復啓用,但安裝時已清掉的平臺授權需重新登錄。

典型用法與驗證

開發者在插件倉庫內可跑單元測試:

node --test test/no-login.test.mjs

測試用假 Cordis context 加載 lib/index.js,斷言替身服務的未登錄行爲、startSignIn() 拒絕授權,以及僅刪除 deepseek-account-platform/default 憑證。

README 記錄在 DSH 0.2.1-rc.5、web profile 上的實測:dsh --profile web --dump-config 可見四行 disabled: true 且 no-login 在列;Host 側四賬號行 inactive;Client 側賬號菜單與賬號設置段爲空;GET /oauth/callback 返回 404。

適用場景與注意

適合: 內網或自建部署、只走 API Key/第三方路由、希望減小平臺 OAuth 與會話 token 暴露面的 DSH 使用者。插件對裝入的 profile 下所有會話 生效。

務必知曉的取捨:

  • 首次 onboarding 與登錄 UI 在同一 Client 插件裏,裝本 bundle 後整條首次引導都會消失(不只登錄一步)。
  • 只覆蓋帶 profile 的 Web / 桌面組合;上游若新增賬號相關行 id,需同步改 cordis.patch.yml。
  • 插件以當前 DSH 進程權限運行;安裝前請自行審閱 源碼與 MIT 許可證。

DSH 生態強調「一切皆插件」;SkillHub 目錄頁 爲社區收錄,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-no-login 用 bundle 補丁禁用四條賬號出廠行,並用 Host 側替身穩住依賴,同時清理遺留平臺授權。若你的目標是「Harness 裏完全沒有登錄入口、只保留 Key 與第三方模型」,可按 README 的 install_bundle 裝入對應 profile,並用移除 bundle 的方式恢復登錄能力。

  • 目錄頁:https://www.skillhub.cn/plugins/SwufeFox/dsh-no-login
  • GitHub:https://github.com/SwufeFox/dsh-no-login
羽毛球分组比赛记分
小程序二维码

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

小夜