前言¶
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 單賬號限制的問題。它提供了熱切換、自動額度換號和留痕功能,適合需要長期運行且額度有限的智能體工作流。