前言¶
DeepSeek Harness(dsh)把模型適配、工具、會話和界面都做成插件。官方倉庫的說法是 Everything is a Plugin:換一套模型提供方,通常不需要改 Harness 源碼,只要往當前 profile 里加一層 bundle。社區裏已經有人把各類雲廠商、代理和本地模型接到這條縫上。
Command Code 是另一套帶訂閱額度的多模型網關。賬號裏往往同時能看到 DeepSeek、Qwen、Kimi、MiniMax,以及按套餐開放的 Claude / GPT / Gemini / Grok。很多人希望這些額度直接在 dsh web 裏用,而不是再開一份 CLI。Command Code 對外有一套 OpenAI / Anthropic 兼容的 Provider API;它自己的 CLI 實際走的是另一條生成接口 POST /alpha/generate。
dsh-commandcode-provider 接的是後一條路:在 DeepSeek Harness 裏註冊原生的 commandcode 提供方,把對話請求翻譯成 CLI 使用的生成接口。它不是 DeepSeek 或 Command Code 的官方插件,社區目錄 deepseek-harness-plugin.com 也只是獨立收錄站點,和 DeepSeek / 幻方沒有從屬關係。
這是什麼¶
dsh-commandcode-provider 是一款 模型與提供方 插件,由 Mars-Sea 維護,npm 包名是 @mars-sea/dsh-commandcode-provider(裸名 dsh-commandcode-provider 已被無關包占用)。當前倉庫 package.json 與 npm 頁面上的版本是 0.4.0(2026-08-17 發佈),許可證是 MIT。社區目錄頁把許可證標成 NOASSERTION,以倉庫裏的 LICENSE 和 package.json 爲準。
它移植自 pi-commandcode-provider(同樣 MIT)。README 寫明:請求格式對應官方 CLI command-code@1.26.0,由原 pi 插件逆向得到。這是社區集成,需要你自己的 Command Code 賬號、API key 或訂閱,並遵守對方服務條款;項目與 Command Code, Inc. 無關。
目錄頁上有一句「讓 Command Code 直接使用 DeepSeek Harness 的模型」。按倉庫 README 和 package.json 的 description,方向其實相反:是讓 DeepSeek Harness 去調用 Command Code 賬號裏的模型。下文以倉庫一手說明爲準。
核心功能¶
按倉庫 README 與 0.4.0 的 CHANGELOG,已經覈實的能力可以分成下面幾塊。
1、即時模型目錄¶
插件註冊 commandcode 路由後,會請求 GET {apiBase}/provider/v1/models 拉當前目錄,緩存在 ~/.commandcode/models-cache.json。目錄端點是公開的,沒有 key 也能瀏覽;真正發推理要走 POST /alpha/generate,這一步需要密鑰。
選擇器裏每個模型會帶一批標註:包含它的最低套餐(KNOWN_PLANS)、活動折扣或 FREE 徽章(過期折扣會自行隱藏)、按時段計價模型的 Peak / Half、Vision 模型的 Image,以及上下文長度(1M / 256K / 262K)。列表按套餐排序:Go → GOAT → Pro → Provider/Max,當前套餐能用的排在前面。
0.4.0 起,選擇器默認會藏掉超出你訂閱檔位的模型。判斷依據是賬戶賬單狀態。賬單接口不可用、套餐未知,或賬戶裏有按需餘額(官方 CLI 把這當成解鎖全部模型)時,插件會失敗開放,繼續展示完整目錄;服務端仍是最終閘門,不在套餐內會返回 MODEL_NOT_IN_PLAN(403)。設置頁可以關掉「隱藏套餐外模型」,或在配置裏寫 filterModelsByPlan: false。
2、專屬設置頁和 Models 卡片¶
安裝並重啓 Web 應用後:
- 設置 → Command Code:API key 輸入框、API 地址、工作目錄、請求/流超時,「隱藏套餐外模型」開關。密鑰走 dsh 憑據服務,寫入
$DSH_HOME/.credentials.yaml,只寫不回顯;連接參數寫進llm-commandcode段,對下一次請求生效,不用重啓。 - 配好 key 之後,同一頁頂部會出一張 賬戶用量 卡片:請求統計、額度、5 小時/周窗口進度條、套餐徽章和賬期截止。數據在宿主進程里拉取,瀏覽器不持有 key。
- 設置 → Models:出現 Command Code 卡片;模型選擇器在
commandcode下列出即時目錄。
3、推理強度和圖片¶
官方目錄標了 reasoning 的模型,插件按 KNOWN_EFFORTS(與 command-code@1.26.0 對齊)暴露 reasoning-effort。沒有分檔、但仍會思考的模型會自動思考,行爲和官方 CLI 一致。
帶 Vision 能力的模型可以通過 dsh 附件服務發圖片;純文本模型會明確拒絕(UNSUPPORTED_CONTENT),不會把圖片悄悄丟掉。官方 CLI 對純文本模型還有一層客戶端 VISION 副調用,這個插件 不復現,需要換帶 Image 標記的模型。
4、密鑰解析順序¶
同一把 key 可以從多處來,優先級是:
- 組合配置裏的字面量
config.apiKey - 憑據引用
apiKeyEnv(默認COMMANDCODE_API_KEY) - 啓動時的環境變量
- 官方 CLI 登錄文件
~/.commandcode/auth.json(command-code login/cmd login寫入)
最後這一檔是兜底。如果卡片顯示「未配置」但請求其實能發出去,多半是走了 auth.json,把 key 再貼進設置頁一次即可。
安裝與啓用¶
插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。裝之前先看倉庫源碼和許可證;要可復現安裝,請固定 commit 或版本號。
社區目錄頁給出的安裝命令是:
dsh plugin add github:Mars-Sea/dsh-commandcode-provider
固定某一提交時,目錄頁的寫法是:
dsh plugin add github:Mars-Sea/dsh-commandcode-provider#commit
把 #commit 換成完整 SHA。不加後綴會跟隨默認分支,後面一次 push 就可能改變你實際裝到的內容。
倉庫 README 更推薦從 npm 裝到 web profile(客戶端聲明瞭 "platform": "web"):
dsh plugin --profile web add @mars-sea/dsh-commandcode-provider
當前 npm 版本是 0.4.0,需要釘死版本時:
dsh plugin --profile web add @mars-sea/dsh-commandcode-provider@0.4.0
從 GitHub 裝的是源碼,包的 prepare 腳本會在安裝後構建 lib/。pnpm 10 及以上默認攔住這個腳本,需要把 pnpm 打印的包 key 寫進 ~/.dsh/profiles/web/pnpm-workspace.yaml 的 allowBuilds,再重新 add。日常使用走 npm 可以避開這一步。
裝完後驗證合成層,再啓動(或重啓)Web UI:
dsh --profile web --dump-config
dsh web
--dump-config 裏應出現 # == @mars-sea/dsh-commandcode-provider 這一層。cordis.patch.yml 裏的 name 必須是帶引號的完整包名:
- insert:
- id: llm-commandcode
name: "@mars-sea/dsh-commandcode-provider"
config:
apiKeyEnv: COMMANDCODE_API_KEY
寫成裸名 dsh-commandcode-provider 會在啓動時報 ERR_MODULE_NOT_FOUND;@ 開頭的標量若不加引號,YAML 解析會失敗。這兩種情況在 0.1.6 及更早的手改配置裏出現過,升級時如果曾經把舊 patch 行復制進自己的 profile,需要改成上面這一段,或直接刪掉那份拷貝。
卸載用 scoped 名,憑據和 ~/.commandcode/auth.json 不會被刪:
dsh plugin --profile web remove @mars-sea/dsh-commandcode-provider
典型用法¶
下面步驟都來自倉庫 README,可以按原樣做一遍。
1、準備 API key¶
Command Code 的 API key 文檔寫明永不過期。官方 CLI 需要 Node.js 22+(插件 engines 同樣要求 node >= 22):
npm i -g command-code@latest
cmd login # macOS / Linux;Windows 原生版用 cmdc login
瀏覽器登錄成功後,key 寫到 ~/.commandcode/auth.json。也可以在 Command Code Studio 新建一把,粘貼到 設置 → Command Code,或:
export COMMANDCODE_API_KEY="user_..."
2、在界面裏接上提供方¶
重啓 dsh web 之後:
- 打開 設置 → Command Code,填入 API key,點保存。徽章變成「已配置」表示宿主已經存下密鑰。
- 打開 設置 → Models,應看到 Command Code 卡片。
- 在模型選擇器的
commandcode分組裏選一個當前套餐包含的模型,發一條消息。
README 給的入門級例子是 deepseek/deepseek-v4-flash。開放權重模型(DeepSeek / Qwen / Kimi / MiniMax)通常可用;Claude / GPT / Gemini / Grok 這類前沿模型可能要 Pro / Max,或走按需額度。
3、看用量¶
標準 web profile 帶 commands 服務。對話裏輸入:
/commandcode
或 /commandcode status。輸出和設置頁的賬戶用量卡片同源:賬號、請求數、花費、額度、窗口限制。某個賬戶接口臨時失敗時,其餘項仍會顯示,並在末尾註明失敗。
4、需要改連接參數時¶
同一組選項也可以寫在 $DSH_HOME/settings.yaml,按請求覆蓋,不用重啓:
llm-commandcode:
apiKeyEnv: COMMANDCODE_API_KEY
apiBase: https://api.commandcode.ai
workingDir: /path/to/project
modelsCachePath: ~/.commandcode/models-cache.json
requestTimeoutMs: 60000
streamIdleTimeoutMs: 300000
workingDir 可選,留空則用進程當前工作目錄,並上報給 Command Code API。requestTimeoutMs 是等待首個響應字節的上限,默認 60 秒;streamIdleTimeoutMs 是流停頓多久算死連接。0.2.3 起默認 300 秒,避免 xhigh / max 這類長時間靜默思考被看門狗誤判。網絡慢但穩定時,可以在設置頁把這兩個值再調大。
適用場景與注意事項¶
適合這些人:
- 已經有 Command Code 訂閱,希望在
dsh web裏直接選模型、改推理強度,而不是隻在官方 CLI 裏用 - 需要即時目錄、套餐過濾、用量卡片,而不是在配置文件裏手寫一份模型列表
- 入門套餐主要用開放權重模型,偶爾再按套餐或按需額度點開前沿模型
使用前注意下面幾條,均來自目錄頁安全提示和倉庫 README,不是額外發揮。
- 權限。 插件以當前 dsh 進程權限運行,安裝可能執行構建腳本。先覈對 GitHub 倉庫和 MIT 許可證;生產環境用版本號或 commit 哈希釘死。
- 這不是官方應用商店。 DeepSeek Harness 官方只提供插件機制和
dsh-plugintopic;社區目錄 是獨立站點。插件本身也聲明與 Command Code, Inc. 無關。 - 套餐仍由服務端裁決。 選擇器過濾會失敗開放,真正攔住不在套餐內的模型的是
403 MODEL_NOT_IN_PLAN。 - 圖片。 只有官方註冊表標了 Vision 的模型收圖片,且依賴 dsh 附件服務。會話裏已經有圖時,切到純文本模型會被 Harness 層拒絕;插件只會把提示改寫成更清楚的中文,攔不住這次切換。
- 協議能力。 線上格式沒有
stop序列,帶了會拋UNSUPPORTED_OPTION。推理塊不會重放到後續輪次,只有帶配對結果的工具調用會重放。 - 網絡。 默認只訪問
api.commandcode.ai(可用apiBase改)。Node 的fetch/ undici 不讀HTTP_PROXY/HTTPS_PROXY,需要代理的環境會表現爲傳輸層失敗(ECONNREFUSED、ENOTFOUND、socket hang up等),而瀏覽器訪問同一站點卻正常。README 建議配 dispatcher,或把該主機加入白名單。 - 無遙測。 本地會兜底讀取
~/.commandcode/auth.json,讀寫模型緩存;密鑰經憑據服務讀取,README 寫明不打進日誌。
小結¶
dsh-commandcode-provider 在 DeepSeek Harness 的 web profile 裏補了一個 commandcode 提供方:即時目錄、套餐感知的選擇器、reasoning-effort、Vision 圖片,以及設置頁上的密鑰和用量卡片。它把 dsh 的請求接到 Command Code CLI 使用的 /alpha/generate,讓已有訂閱可以留在 Harness 裏用,而不必再維護一份手寫模型表。
裝的時候優先 npm 包 @mars-sea/dsh-commandcode-provider,並固定版本;從 GitHub 裝則按目錄頁命令加上 commit。裝前檢查源碼和 MIT 許可證,記住插件與當前 dsh 進程同權。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-commandcode-provider/
GitHub:https://github.com/Mars-Sea/dsh-commandcode-provider
npm:https://www.npmjs.com/package/@mars-sea/dsh-commandcode-provider