dsh-llm-grok:將 Grok 訂閱接入 DeepSeek Harness 的 LLM 提供方

前言

DeepSeek Harness (DSH) 的設計理念是“一切皆插件”。對於開發者而言,在本地或私有環境中集成多樣化的模型能力是常見需求。dsh-llm-grok 插件解決了將 X.AI 的 Grok 訂閱額度接入 DSH 作爲統一 LLM 提供方的問題,使得開發者可以在 DSH 的生態內直接使用 Grok 的推理與多模態能力。

插件介紹

該插件由用戶 clarkzhao 維護,採用 MIT 開源許可證。目前項目在 GitHub 上獲得 1 star。

插件的核心功能是將 Grok 訂閱額度接成 DSH 的 LLM 提供方。

核心功能

  • 原生多模態:支持用戶貼圖和 tool-result 裏的圖,隨同 /chat/completions 發送。圖像不是先 OCR 成字再交給文本模型,也不作爲單獨的識圖工具。
  • 支持的模型:支持 Grok 4.6、4.5、4.7、4.7-build-fast。
  • 思考強度:支持 low / medium / high / xhigh 四檔推理強度設置。
  • 網絡代理:走本機 HTTP 代理,默認配置爲 Clash 的 127.0.0.1:7890。

安裝

安裝前請確保已安裝 DSH。執行以下命令將插件添加到指定的 profile(默認爲 web):

dsh plugin --profile web add dsh-llm-grok

如果未全局安裝 dsh,可以使用 npx:

npx @deepseek-ai/dsh plugin --profile web add dsh-llm-grok

安裝後,bundle 會寫入 llm-grok 並註冊 grok provider。如果此前在 llm-pi-ai 中添加過同名 grok,需先刪除以避免路由衝突。

配置與憑據

插件不讀 ~/.grok/auth.json,也不會自動續期。它只解析 DSH 憑據引用 GROK_SESSION_TOKEN。

Grok CLI 的 access token 有效期約 6 小時,過期後會導致 401 錯誤,需要手動同步進 DSH。

同步憑據步驟

  1. 獲取 Token:在終端執行 grok login,將 token 落到 ~/.grok/auth.json。
  2. 寫入 DSH:執行同步腳本將 token 寫入 DSH 的憑據文件(默認爲 ~/.dsh/.credentials.yaml):
    python3 scripts/sync-grok-credential.py
  1. 自動化同步(推薦):爲了應對 6 小時的過期週期,可以使用腳本安裝 launchd 任務,實現每 5 分鐘自動同步:
    chmod +x scripts/install-launchd.sh
    ./scripts/install-launchd.sh

環境變量配置

也可以在啓動 DSH 進程前設置環境變量 GROK_SESSION_TOKEN。環境變量的優先級高於憑據文件:若啓動時環境變量已存在,文件同步無法覆蓋其值,需 unset GROK_SESSION_TOKEN 後重啓。

憑據文件格式

同步腳本會將憑據寫入如下格式的 YAML 文件:

version: 1
refs:
  GROK_SESSION_TOKEN: <token>

注意:不要在已有 version: 1 的文件頂層再添加扁平的 GROK_SESSION_TOKEN: 鍵,否則可能導致 dsh web 啓動失敗。

限制與注意事項

  • 不自動續期:插件不負責 token 的刷新,依賴外部腳本或環境變量維護。
  • API 實現:只走 chat-completions 接口,不實現官方 CLI 默認的 Responses API。
  • 圖片處理:會話日誌只存儲附件引用(sha256:),像素數據只在發請求時從 ctx.attachments 讀取。
  • 報錯處理:如果缺少附件服務,或者圖片出現在 system / assistant 消息中,會返回 UNSUPPORTED_CONTENT 錯誤。
  • 無惰性刷新:不做 refresh_token 惰性刷新機制(方案 B 未實施)。
  • 權限:插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼與許可證。

總結

dsh-llm-grok 提供了一條將 Grok 訂閱接入 DSH 的可行路徑,特別是其原生多模態支持爲特定場景提供了便利。使用時需注意 token 的手動同步機制。

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

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

小夜