前言¶
DeepSeek Harness(DSH)採用插件化架構,允許社區擴展其功能。當開發者希望複用已有的 Claude Code 或 Codex CLI 訂閱,而無需通過 API Key 方式接入時,dsh-subscriptions 插件提供了直接的解決方案。它通過 OAuth 登錄流程,將用戶本地的訂閱轉化爲 DSH 可識別的模型提供者。
插件介紹¶
名稱:dsh-subscriptions
作者:DevViking-Persike
類別:模型推理
許可證:MIT
該插件解決的核心問題是:在 DSH 生態中直接調用用戶已購買的 Claude 和 ChatGPT/Codex 訂閱服務,實現免 API Key 的模型推理。
核心功能¶
- OAuth 登錄:通過 OAuth 流程獲取憑證,無需手動配置 API Key。
- 雙路由支持:提供
/claude和/codex兩條路由,分別對應不同的模型提供商。 - 安全存儲:憑證原子寫入本地文件,文件權限設置爲 0600,並通過跨進程寫鎖防止衝突。
- 模型支持:內置支持 GPT-6 Astra 和 Claude Fable 5.1 模型。
- 安全設計:Token 不會出現在錯誤信息、日誌或狀態接口中,上游錯誤體在返回前會被脫敏。
安裝與啓用¶
首先執行安裝命令,安裝過程會自動處理依賴和補丁應用:
dsh plugin --profile web add github:DevViking-Persike/dsh-subscriptions
安裝完成後,重啓 dsh 進程以加載插件。
訪問以下地址進行 OAuth 登錄:
* Claude 路由:http://127.0.0.1:1458/claude/start
* Codex 路由:http://127.0.0.1:1458/codex/start
瀏覽器會跳轉至各廠商的官方登錄頁,登錄成功後,憑證會自動存儲在 ~/.dsh/ 目錄下。
配置與使用¶
安裝並重啓後,插件會默認監聽 127.0.0.1:1458。你可以在 DSH 的配置文件中調整以下參數:
基本配置項:
| 字段 | 默認值 | 說明 |
|---|---|---|
routes |
['claude', 'codex'] |
需要啓用的路由列表 |
controlPort |
1458 |
本地監聽端口 |
streamIdleTimeoutMs |
300000 |
傳輸層空閒超時時間 |
YAML 配置示例:
- id: dsh-subscriptions
name: 'dsh-subscriptions'
config:
routes: ['claude']
controlPort: 1458
接口使用:
- 查看狀態:
GET /<route>/status(返回連接狀態及 Token 過期時間) - 登出:
POST /<route>/logout(清除本地憑證)
注意事項與限制¶
- 版本兼容性:插件對 Harness 版本敏感,需確保與當前 DSH 版本兼容。加載時會校驗分塊詞彙表,不匹配時拒絕掛載。
- 回調地址綁定:OAuth 回調地址固定綁定
127.0.0.1。如果你的主機將localhost解析爲::1(IPv6),瀏覽器回調將無法到達,導致登錄失敗。 - 靜態模型目錄:模型列表爲靜態配置,不支持自動發現。如果你的訂閱包含未在目錄中列出的模型,需在配置中顯式指定名稱。
- 圖片輸入依賴:圖片輸入功能依賴於 Harness 的附件服務(
ctx.attachments)。未啓動該服務時,圖片請求會被拒絕。 - Codex 限制:通過
/codex路由不支持設置stop sequences。 - 憑證管理:若憑證刷新失敗,插件不會刪除本地存儲的憑證,需手動通過
POST /logout清理。
總結¶
dsh-subscriptions 插件爲 DeepSeek Harness 用戶提供了直接複用現有 Claude 和 ChatGPT/Codex 訂閱的能力。通過 OAuth 方式,它簡化了 API Key 的管理流程,並注重憑證存儲的安全性。
- GitHub 倉庫:https://github.com/DevViking-Persike/dsh-subscriptions
- 插件目錄:https://www.skillhub.cn/plugins/DevViking-Persike/dsh-subscriptions