Skip to Content
工具整合DeepSeek Harness

DeepSeek Harness 配置

DeepSeek Harness (命令名 dsh)是 DeepSeek 官方開源的 agent harness,採用「一切皆外掛」架構 —— 模型、工具、技能、工作階段、沙箱、介面全部是可替換的外掛。它預設呼叫 DeepSeek 官方 API,把其中的模型外掛指向 OfoxAI 之後,同一套 harness 就能使用 100+ 模型。

dsh 處於開發者預覽階段,官方明確說明會有破壞性變更。本文基於 @deepseek-ai/dsh 0.1.2-rc.1 編寫。

配置步驟

1. 安裝 dsh

先安裝 Node.js。dsh 透過 npm 發布,套件名 @deepseek-ai/dsh,安裝後提供 dsh 命令。

npm install -g pnpm # 已安裝可跳過 pnpm add -g @deepseek-ai/dsh dsh --version

pnpm 的全域 bin 目錄需要在 PATH 上,用 pnpm bin -g 可以查到具體路徑。

安裝過程中 pnpm 可能提示 Ignored build scripts: node-pty, koffi …,可以忽略 —— 這兩個相依套件自帶各平台預先編譯的二進位檔,不需要在本機編譯。

不想全域安裝也可以直接試跑:

npx @deepseek-ai/dsh web

2. 配置 OfoxAI 供應商

dsh 的配置根目錄是 $DSH_HOME,macOS / Linux 預設 ~/.dsh,Windows 預設 %USERPROFILE%\.dsh。以下兩種方式任選其一。

Base URL 依網路環境選擇:國際網路用 api.ofox.ai,中國大陸使用者用 api.ofox.io。兩者是同一套服務的鏡像,API Key 通用,路徑都是 /v1

dsh web

終端機會印出一個帶 token 的網址(預設 http://127.0.0.1:3080)並自動開啟瀏覽器。點左下角的 Settings

開啟 dsh 設定

在左側切到 Models

切到 Models 設定

內建的 deepseek-official 是直接連線 DeepSeek 官方,要走 OfoxAI 就得新增一個自訂供應商 —— 點 Add a custom provider

新增自訂供應商

按下表填寫,然後點 Fetch available models

欄位填入
Provider IDofox
Display nameofox
Base URLhttps://api.ofox.ai/v1
API protocolopenai-completions
API key你的 OfoxAI API Key

填寫自訂供應商

截圖裡的 API protocolopenai-responses,那是表單的預設值,只有 DeepSeek 系模型能用;選 openai-completions 才對整個模型目錄通用。

勾選要用的模型,點 Add selected,回到表單後點 Create provider

勾選要新增的模型

回到對話介面。首次使用需要先選一個工作區(就是 dsh 可以讀寫的專案目錄),之後在輸入框右下角的模型選擇器裡,就能看到 ofox 群組下的全部模型:

在對話裡選擇 ofox 的模型

API Key 會寫入 $DSH_HOME/.credentials.yaml(僅目前使用者可讀),供應商配置寫入 $DSH_HOME/settings.yaml,儲存後立即生效,無需重新啟動。

模型 ID 必須帶供應商前綴,例如 anthropic/claude-sonnet-5,只寫 claude-sonnet-5 會被拒絕。完整目錄見模型廣場 

3. 設定 API Key

apiKeyEnv 填的是憑證名稱而不是明文 Key。dsh 按「啟動時的環境變數 → $DSH_HOME/.credentials.yaml → 專案目錄 .env → 家目錄 .env」的順序解析。用 Web UI 設定過的話 Key 已經在憑證檔案裡,可以跳過這一步。

~/.zshrc
export OFOX_API_KEY=<你的 OFOXAI_API_KEY>

4. 驗證

dsh --profile headless "只回覆兩個字:可用。不要呼叫任何工具。"

輸出 可用 就說明模型層已經走通 OfoxAI。日常使用可以啟動 Web 介面(dsh web),或者用 dsh --profile headless "run the tests" 跑完單次任務後退出。

三平台差異

配置檔案的內容三平台完全一致,只有路徑和環境變數寫法不同。

macOSLinuxWindows
配置根目錄 $DSH_HOME~/.dsh~/.dsh%USERPROFILE%\.dsh
API Key 持久化~/.zshrc~/.bashrcsetx
Shell 工具沙箱BashBashPowerShell(Bash 沙箱自動停用)

常見問題

TIMEOUT: Request timed out. — dsh 是 Node 應用,不讀取 http_proxy / all_proxy 環境變數,系統代理能連通不代表 dsh 能連通。如果 baseURL 指向的網域在你的網路下不可達,中國大陸使用者請改用鏡像 https://api.ofox.io/v1

MISSING_CREDENTIALapiKeyEnv 寫的憑證名稱沒解析到值。確認環境變數在啟動 dsh 的那個終端機裡已經生效,或者 Key 已經存進 $DSH_HOME/.credentials.yaml。另一種情形是選錯了模型:內建的 deepseek-official 即使沒配 Key,它的模型也照樣列在模型選擇器裡,名字和自訂路由的很像,注意別選到它。

回覆是空的,也不報錯 — 這是最容易踩到的雷:api: openai-responses 配 Anthropic 系模型時,請求會正常結束(finish reason: stop)但內容為空。把該模型挪到 openai-completions 路由,或挪到指向 https://api.ofox.ai/anthropicanthropic-messages 路由。

INVALID_REQUEST / 400 endpoint_not_supported — 回應內容裡會寫 Model '…' does not support the /v1/responses endpoint on this platform. Please use /v1/chat/completions instead.,Google、Qwen 等模型走 openai-responses 時就是這樣。同樣把 api 改成 openai-completions

外掛載入失敗、提示路由重複 — 同一個路由名被註冊了兩次,檢查 $DSH_HOME/cordis.patch.ymlsettings.yaml 裡是否都定義了 ofox

進階:用 patch 層配置

settings.yaml 改的是執行時的使用者設定,改完下一個請求就生效。如果要改外掛裝配本身(替換或停用某個外掛),用 patch 層 $DSH_HOME/cordis.patch.yml

~/.dsh/cordis.patch.yml
- id: llm-pi-ai config: providers: ofox: apiKeyEnv: OFOX_API_KEY api: openai-completions baseURL: https://api.ofox.ai/v1 - id: agent-default-model config: provider: ofox model: deepseek/deepseek-v4-pro-0813

dsh web --dump-config 可以印出合成後的完整外掛樹,確認配置有沒有生效。

推薦模型

推薦模型請參考 模型廣場 

dsh 處於快速迭代階段,配置欄位可能隨版本變化,請同時參考 DeepSeek Harness 官方倉庫 

Last updated on