前言¶
在 DeepSeek Harness(DSH)裏接清華 MadModel(madmodel.cs.tsinghua.edu.cn)時,API token 會過期,模型 Provider 還要和憑據字段對齊。手工從瀏覽器複製 token、寫進 MADMODEL_API_KEY、再改 llm-pi-ai.providers 既重複,也容易踩 YAML 折行等坑。社區插件 thu-tok-auto(維護者 OverDustD7)以 DSH profile bundle(Cordis 插件)形式運行:一鍵獲取 token、寫入 DSH 憑據與模型配置,並支持定時自動續期;SSO 會話失效時,手動 Get 可走清華統一認證登錄兜底。當前版本 0.3.24(MIT 許可證)。
這是什麼¶
thu-tok-auto 面向已使用 DSH web profile 的開發者:從 MadModel 站點拿到最新 JWT,經 DSH 的 credentials.set('MADMODEL_API_KEY', token) 落盤,並按 apiKeyEnv: MADMODEL_API_KEY 或 baseURL 匹配目標 Provider;找不到則創建 llm-pi-ai.providers.madmodel(api: openai-completions)。插件在宿主進程側跑續期邏輯,UI 注入 DSH Web 側邊欄,不替代 DSH 本身的模型路由能力。
目錄頁:skillhub.cn/plugins/OverDustD7/thu-tok-auto
源碼:github.com/OverDustD7/thu-tok-auto
核心功能¶
Get:立即續期¶
點 Get 時按固定順序嘗試,且不會被「現有令牌仍有效」短路:
- 用現有憑據調用
GET /model-api/auth-login/check簽發新令牌(2026-09-29 起站點已關閉免登錄簽發,此步常返回10001); - SSO 重放:用本地保存的 cookie jar 走清華統一認證鏈換 ticket,再換令牌;登錄窗口捕獲失敗時也走這條兜底;
- 複用仍能通過
/model-api/auth-login校驗的舊 token; - 以上都拿不到新令牌時,僅在手點 Get 時打開登錄窗口(直達
id.tsinghua.edu.cn統一認證,成功跳回 madmodel);插件每 2.5 秒監視窗口,登錄完成後自動捕獲、校驗、寫憑據、同步 Provider,並關閉自開窗口——一次點擊即可,等待期間控件顯示「等待登錄」; - 拿到 token 後比對 JWT
exp:若與舊令牌相同,狀態爲「刷新未生效:到期時間未前進」,而不是顯示成功。
Auto:後臺自動續期¶
開啓 Auto 後,每 20 分鐘在 Host 側觸發一次續期,與 Web 頁面是否打開無關,也不依賴瀏覽器常開。後臺永不彈登錄窗口;續期失敗會顯示「需要登錄」,需你手動點 Get。失敗重試有退避(5 分鐘起翻倍,上限 30 分鐘);令牌剩餘不足 1 小時時退避下限回到 5 分鐘。
模型列表與 Provider 同步¶
每次 Get / Auto 成功後,插件從站點前端包讀取當前模型列表(非寫死名單),寫入 Provider 的 models;contextWindow 統一爲 1000000。內置排除 DeepSeek-V4-Flash-Vision-Exp 與 DeepSeek-R1-W8A8。若 madmodel 鍵已被其他配置佔用,插件寧可報錯也不覆蓋。
狀態與 UI¶
默認掛在左側邊欄底部「設置」上方(若已有 Remote 等按鈕,則排在最上方):[●] [Get] [Auto ✓] hh:mm。健康時控件安靜;需要登錄、令牌過期、續期未生效或「Token 已更新但模型配置未同步」時,第二行用文字說明並改圓點顏色。網絡不可達時不會誤判爲令牌失效。懸停可見完整狀態、上次獲取時間、token 剩餘壽命,以及上一次點擊與上一次自動運行各自的判據。
安裝與啓用¶
插件以 DSH profile bundle(npm 包 thu-tok-auto)安裝,需 Node.js >= 22。安裝後重啓 DSH Web(或對應 profile)加載。
dsh plugin --profile web add thu-tok-auto
也可在 ~/.dsh/profiles/web/package.json 的 dependencies 與 dsh.profile.bundles 中加入 thu-tok-auto 後重新安裝。
更新:
dsh plugin --profile web up thu-tok-auto
典型用法¶
- 安裝並重啓後,在側邊欄底部找到 [Get]、Auto 與計時器(從未獲取過顯示
--:--); - 首次或 SSO 過期後:點 Get;若自動階梯失敗,在彈出窗口完成清華統一認證,無需二次點擊 Get;
- 需要無人值守續期時,點 Auto 開啓(按鈕顯示 Auto ✓);若面板出現「需要登錄」,回到步驟 2;
- 在 DSH 模型配置中使用
MADMODEL_API_KEY或已同步的madmodelProvider 即可調用 MadModel API。
免登錄簽發已不可用,至少需成功登錄過一次,後續才依賴保存的 SSO 會話材料做重放。
適用場景與注意¶
適合:在 DSH 中長期使用清華 MadModel、希望 token 與 Provider 自動對齊的開發者。
務必知曉:
- 插件以當前 DSH 宿主進程權限運行,安裝前請閱讀源碼與 MIT 許可證,並理解 已知限制。
- 不要手拼
~/.dsh/.credentials.yaml裏MADMODEL_API_KEY的值:YAML 雙引號折行中行尾\是續行符,不屬於 token 本身;請通過 DSH 憑據 API 或 YAML 解析器讀取。 - 登錄捕獲依賴本機 Edge/Chrome 的 DevTools 調試端口(9333–9343);狀態與 cookie 保存在用戶目錄(如
%USERPROFILE%\.dsh\madmodel\state.json),token 僅寫入 DSH 憑據,文檔稱無遙測,網絡訪問限於 MadModel、清華認證域與本機 CDP。 - Auto 的 20 分鐘間隔來自維護者本機對 IDP 會話長度的觀測,不保證所有賬號一致;更在意簽發次數時可關閉 Auto,改用手動 Get。
- 已在 DSH
0.2.0-rc.2上覈對 bundle、settings、credentials 等接口;社區目錄 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係,插件亦非官方應用。
結尾¶
thu-tok-auto 把 MadModel token 的獲取、續期、憑據寫入與 Provider 同步收進 DSH 側邊欄一條工作流:手點 Get 可帶 SSO 登錄閉環,Auto 適合在會話仍有效窗口內後臺刷新。細節與變更見倉庫 README 與 CHANGELOG。
- 目錄頁:https://www.skillhub.cn/plugins/OverDustD7/thu-tok-auto
- GitHub:https://github.com/OverDustD7/thu-tok-auto