前言¶
DeepSeek Harness(DSH)的設計理念是“一切皆插件”。在實際開發中,我們經常需要在本地工具(如 VS Code 插件、腳本、本地 LLM 客戶端)中調用大模型。通常的做法是複製 DeepSeek 官方或其他服務商的 API Key 到各個工具中,這不僅繁瑣,還存在密鑰分散和泄露的風險。
dsh-model-bridge 解決的就是這個問題。它作爲一個 DSH 插件,將 DSH 進程內已配置好的所有模型,封裝成本機的一個 OpenAI / Anthropic 兼容網關。其他開發工具只需指向本地地址,即可直接使用 DSH 裏的模型,無需再填一次 API Key。
插件介紹¶
- 名稱:
dsh-model-bridge - 功能:把 DSH 能調用的所有模型開放成本機 OpenAI / Anthropic 兼容網關,供其他開發軟件使用。
- 維護者:438417623wq
- 許可:MIT
核心能力¶
- 雙協議網關:提供 OpenAI 兼容接口(
/v1)和 Anthropic 兼容接口,統一端口 8791。 - 進程內調用:直接調用
ctx.llm.stream(),無需搬運憑據。憑據由 DSH 裏的適配器管理,插件不存儲。 - 零配置:不註冊 adapter,不聲明 configurable provider,避免與現有 provider 路由衝突。
- 模型支持:支持
workbuddy/deepseek-v4.1-flash等模型,支持完整的工具調用(tool-call)。 - 安全性:Key 爲本地文件,僅綁定
127.0.0.1,防止局域網外訪問。
安裝配置¶
該插件是標準的 DSH bundle。安裝時需將其路徑寫入 profile 的依賴列表,並重啓 DSH。
1. 修改 package.json¶
在 DSH 的 profile 配置文件中添加依賴和 bundle:
// ~/.dsh/profiles/<profile>/package.json
{
"dependencies": {
"dsh-model-bridge": "file:F:/KF/dsh api/dsh-model-bridge"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"dsh-model-bridge"
]
}
}
}
2. 驗證掛載¶
安裝完成後,運行驗證腳本確認插件已掛載:
node "F:\KF\dsh api\dsh-model-bridge\tools\verify-mount.mjs"
3. 啓動網關¶
重啓 DSH 後,網關會自動啓動,監聽 http://127.0.0.1:8791。
典型用法¶
其他開發軟件只需配置 Base URL 和 API Key,即可調用 DSH 裏的模型。
連接信息¶
- OpenAI 兼容 Base URL:
http://127.0.0.1:8791/v1 - Anthropic Base URL:
http://127.0.0.1:8791 - API Key:讀取自
~/.dsh/model-bridge/key(可在 DSH 設置頁查看)
模型名¶
填限定名,例如 workbuddy/deepseek-v4.1-flash。完整的可用模型列表可通過 http://127.0.0.1:8791/v1/models 獲取。
客戶端示例¶
PowerShell (Anthropic 客戶端)
$env:ANTHROPIC_BASE_URL = "http://127.0.0.1:8791"
$env:ANTHROPIC_API_KEY = "<你的 key>"
Python (OpenAI SDK)
from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:8791/v1",
api_key="<你的 key>",
)
reply = client.chat.completions.create(
model="workbuddy/deepseek-v4.1-flash",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好"},
],
)
print(reply.choices[0].message.content)
Node.js
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "http://127.0.0.1:8791/v1",
apiKey: "<你的 key>",
});
const reply = await client.chat.completions.create({
model: "workbuddy/deepseek-v4.1-flash",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "你好" },
],
});
console.log(reply.choices[0].message.content);
curl
curl.exe -H "Authorization: Bearer <你的 key>" http://127.0.0.1:8791/v1/models
注意事項¶
- 運行依賴:網關僅在 DSH 運行時可用。關閉 DSH 後,8791 端口即停止服務,不適合需要 7×24 常駐的場景。
- Key 權限:Key 以本地文件形式存在,本機任何程序理論上均可讀取。但網關強制綁定
127.0.0.1,並校驗 Host/Origin,因此局域網和公網無法訪問。 - 消息格式要求:使用
workbuddy/deepseek-v4.1-flash等模型時,第一條消息必須是system。上游安全策略要求如此,否則會返回 502 錯誤。 - Token 消耗:這些模型消耗推理 token,建議
max_tokens設置不低於 512,否則正文可能會被推理過程佔滿。 - 模型選擇:在 DSH 設置頁中,取消勾選的模型不會出現在
/v1/models中,也無法被調用。