DeepSeek Harness 多賬號插件:dsh-account-switch

前言

DeepSeek Harness(DSH)是用於構建智能體的工作流平臺。在官方 UI 中,一次只能保持一個賬號處於登錄狀態。切換賬號通常需要退出當前賬號並重新登錄,這會導致 Token 被註銷。dsh-account-switch 插件解決了這個環節:它將多個賬號的 Token 存入憑證庫,支持在不重啓 Harness 的情況下熱切換賬號,並能在額度用盡時自動切換。

核心功能

該插件通過 CLI 和插件 API 提供多賬號管理能力,主要功能包括:

  • 多賬號共存:任意多個賬號的 Token 同時存在於憑證庫中,互不覆蓋、互不頂號。
  • 熱切換:執行 dsh-account use <賬號> 命令後立即生效,無需重啓 Harness 或重新登錄。
  • 額度自動換號:噹噹前賬號額度用盡時,插件自動切換到下一個可用賬號,並讓失敗的那一步在當前會話中原地重跑。
  • 賬號冷卻:剛被判額度不足的賬號進入冷卻期(默認 5 分鐘),冷卻期間不再被選中,避免賬號在額度恢復前被反覆切換。
  • 切換留痕:每次自動換號都會在日誌中記錄一行 JSON,包含切到的賬號、錯誤原因和會話步驟。
  • 指紋化存檔:賬號 ID 由 sha256(token) 前綴派生,同一 Grant 永遠映射同一槽位,歸檔天然冪等。
  • 暱稱管理:支持給賬號起中文名,使用時輸入 use 主號 比 use acct-af3bded5 更直觀。
  • CLI + 插件 API:提供 dsh-account 命令行工具,同時暴露 ctx.accountSwitch 接口供其他插件調用。
  • 零內核改動:全部利用公開的 seam,不修改官方包內核,Harness 升級不會衝突。
  • 不額外存祕密:registry.json 中只存儲指紋,list --json 命令不輸出 Token 明文。

安裝與啓用

安裝時,腳本會將插件文件複製爲真實目錄而非目錄聯接,以確保 Harness 能正確加載。請使用以下命令:

powershell -NoProfile -File scripts/sync-install.ps1

安裝完成後,需要在 profile 的 patch 文件中啓用該插件。編輯 $DSH_HOME/profiles/desktop/cordis.patch.yml,在末尾追加配置:

- insert:
    - id: dsh-account-switch
      name: dsh-account-switch
      config:
        enabled: true
        autoArchiveOnStart: true
        autoCaptureOnSignIn: true
        verbose: false

修改後需要重啓 Harness 才能使插件生效。

使用方法

查看與管理賬號

首先查看當前已歸檔的賬號列表:

dsh-account list

如果官方 UI 處於登錄狀態,可以使用 park 命令將當前賬號撤下(不註銷 Token,僅騰出 UI 槽位):

dsh-account park --label 主號

此時在官方 UI 中登錄新賬號,插件會自動將其歸檔。

切換賬號

歸檔完成後,可以使用暱稱或 ID 切換活躍賬號:

dsh-account use 主號
dsh-account use acct-af3bded5

切換是全局的,下一個模型請求將立即使用新賬號的 Token。

自動換號與日誌

插件會監聽模型請求錯誤。當遇到 ACCOUNT_QUOTA 或 QUOTA 錯誤時,會自動切換到下一個可用賬號並重試當前步驟。所有切換行爲都會記錄在 $DSH_HOME/accounts/quota-switch.log 中。

注意事項

  • 切換是全局的:ctx.deepseekAccount 是進程級的單例。切換賬號會影響當前 Harness 實例下的所有會話,無法實現 A 會話用賬號 1、B 會話用賬號 2 同時跑。
  • 目錄結構要求:node_modules 必須是真實目錄,不能用目錄聯接,否則插件無法加載。
  • 註銷行爲:在官方 UI 中點擊退出登錄會向平臺註銷 Token。

總結

dsh-account-switch 通過管理憑證庫中的多個 Grant 槽位,解決了 DeepSeek Harness 官方 UI 單賬號限制的問題。它提供了熱切換、自動額度換號和留痕功能,適合需要長期運行且額度有限的智能體工作流。

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

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

小夜