前言¶
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中,也无法被调用。