dsh-qoder-connect:在 DeepSeek Harness 中複用 Qoder CN 桌面版登錄與模型

前言

在 DeepSeek Harness(DSH)裏接第三方模型,常見做法是單獨配 API Key、走 OAuth,或維護一套與桌面客戶端無關的憑據。若你已經在本機用 Qoder 國內版桌面 App 登錄過,更省事的路徑是直接複用客戶端保存在本地的登錄態,讓 DSH 模型選擇器裏出現獨立的「Qoder」分組,而不必再跑一遍授權流程。

下面介紹社區插件 dsh-qoder-connect(維護者 marsma-101),它面向「模型推理」場景:解密 Qoder CN 客戶端的 Chromium OSCrypt 本地憑據,按 COSY 方案簽名請求,並向 DSH 註冊 qoder 模型組。插件當前版本 0.1.0,許可證 MIT;GitHub 星標爲 0(以倉庫公開信息爲準)。

這是什麼

dsh-qoder-connect 是一條「桌面 App → DSH」的橋接插件:讀取 %APPDATA% 下 Qoder CN 的數據目錄,解出 auth.v1.dat 中的令牌,經 gateway.qoder.com.cn 的 agent_chat_generation SSE 與上游對話,再通過 loopback OpenAI 兼容入口和 ctx.llm.registerAdapter 把模型掛進 DSH。全程零交互,README 明確說明 No OAuth interaction needed。

簽名實現參照 MIT 許可的 qoder2api 公開方案移植。項目聲明僅供個人學習與研究,與 Qoder、阿里雲、DeepSeek 無關聯,使用前請自行閱讀倉庫免責聲明與服務條款。

核心功能

零交互登錄與憑據跟隨

插件會自動掃描 %APPDATA% 下所有 com.qodercn.app.* 數據目錄(stable、beta、dev 等渠道)。對每個候選用 Chromium OSCrypt(DPAPI 保護的 AES-256-GCM)解密 auth.v1.dat:

  • 首次運行會通過 PowerShell 一次性導出各渠道密鑰到 <DSH_HOME>\.qoder-connect\oscrypt-<渠道>.key(例如 oscrypt-stable.key);舊版單文件 oscrypt.key 會被複製爲 stable 緩存,原文件保留。
  • 之後由 Node 純本地解密。多個目錄都有憑據時 stable 優先,其餘按目錄 mtime 新者優先。
  • 解密失敗會作廢緩存並重新導出一次;桌面 App 刷新令牌後,插件按文件 mtime 跟隨,簽名會話在令牌輪換後自動重建。

一個憑據都解不出時,錯誤信息會提示:先確認 Qoder 桌面程序已啓動並登錄過(掃描模型列表與路徑期間需保持程序處於啓動狀態),首次使用需先在 Qoder 裏完成一次登錄。

顯式指定數據目錄

設置卡字段 dataDir,或環境變量 QODER_DATA_DIR,可直接指定 Qoder 數據目錄,甚至指向 auth.v1.dat 文件。顯式路徑優先於自動掃描;若顯式路徑解不開,會自動回落到掃描。

動態模型目錄與標註

插件會完整拉取上游模型目錄(assistant 分組,不過濾),約 10 分鐘 自動刷新。模型名後按 WorkBuddy 樣式標註積分倍率(如 · x0.5,免費模型標 · 免費)。上游 enable 與賬號餘額聯動,不代表模型本身不可用,因此 不會 據此隱藏模型。

工具調用與推理

  • 上游返回的 tool_calls 原樣併入 OpenAI 兼容響應(流式 delta 與非流式 message 均支持)。
  • 按模型的 is_reasoning 標記決定是否透傳思考強度。

工作原理概覽

  1. 憑據:掃描候選目錄 → 用各渠道密鑰緩存解 auth.v1.dat(v10 + nonce + cipher + tag)→ 取得有效 dt- 令牌後用於後續請求。
  2. COSY 簽名:設備指紋派生 → RSA(PKCS1) 加密臨時密鑰 → AES-CBC 加密身份載荷 → 對 payload、密鑰、日期、body、path 等做 md5 簽名;請求體使用自定義字母表 base64 變體編碼。
  3. 協議翻譯:聊天走 SSE;上游幀爲 {headers, body, statusCodeValue} 信封,兼容 body 爲字符串、對象或字面量 "null"。用戶消息用 contents 數組重建;developer 角色摺疊爲 system。
  4. 註冊:本地 OpenAI 兼容小門 + DSH 內註冊 qoder provider,模型選擇器出現 Qoder 分組。

安裝與啓用

已抓取資料與 GitHub README 未給出 形如 dsh plugin add … 的固定一行安裝命令;請勿憑倉庫名自行拼接。建議在 DSH 生態的社區目錄 SkillHub 中查找並安裝該插件:

package.json 中聲明插件通過 cordis.patch.yml 作爲 bundle patch 接入 DSH(dsh.bundle.patch 指向該文件)。安裝前請閱讀倉庫源碼與 MIT 許可證,確認你願意在本機以 當前 DSH 進程權限 運行解密與簽名邏輯(會接觸桌面客戶端本地登錄數據)。

典型用法(可復現前提)

下列步驟來自 README 描述的使用前提,而非虛構案例:

  1. 在本機安裝並啓動 Qoder CN 國內版 桌面程序,至少完成一次登錄(換電腦或換渠道後,該渠道的客戶端也需在本機登錄過一次,否則密鑰導不出)。
  2. 在 DSH 中安裝並啓用 dsh-qoder-connect(安裝入口以 SkillHub 目錄頁爲準)。
  3. 保持 Qoder 桌面程序處於已啓動狀態,尤其在插件首次掃描模型列表與路徑時。
  4. 在 DSH 模型選擇器中選擇 Qoder 分組下的模型發起對話;若自動掃描找不到數據,可在插件設置中填寫 dataDir,或設置環境變量 QODER_DATA_DIR 指向數據目錄或 auth.v1.dat。

插件通過 DSH 暴露的 OpenAI 兼容接口調用,具體對話方式與同機其他已註冊 provider 一致,無需額外 OAuth 頁面。

適用場景與注意事項

適合誰:已在使用 Qoder CN 桌面版、希望在 DSH 統一編排裏直接選用 Qoder 模型目錄(含工具調用、部分推理模型)的開發者;接受「依賴客戶端私有接口、需隨上游變更維護」的研究型用法。

環境與限制(README 已知限制):

  • 僅支持國內版(CN)。
  • 請求體基於抓包模板 baseprompt.json,上游結構變化時需更新插件。
  • 依賴 Qoder 客戶端私有接口,客戶端大版本更新後可能需要調整。

安全與合規:

  • 插件會解密本機 Qoder 登錄憑據並代簽請求,安裝前務必審閱 GitHub 源碼;僅建議驅動 你自己的 Qoder 賬號在本機調用。
  • 免責聲明指出:因使用產生的賬號限制、額度清空、服務中斷等後果由使用者自行承擔;請勿用於商業用途。

結尾

dsh-qoder-connect 把「已在 Qoder 桌面版登錄」變成 DSH 裏即開即用的 Qoder 模型組:本地 OSCrypt 解密、COSY 簽名、動態模型列表與 tool_calls 透傳,避免重複 OAuth。DeepSeek Harness 社區採用「一切皆插件」的擴展方式;SkillHub 爲獨立社區站點,與 DeepSeek / 幻方無官方從屬關係。

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

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

小夜