DeepSeek Harness 是一个开源协议适配项目,面向需要把 DeepSeek API 用在代码工具、MCP 客户端或自建 Agent 中的用户。它不是 DeepSeek 官方桌面客户端,也不负责提供模型账号;它的价值是把多轮工具调用、流式返回、推理内容保留和上下文校验等处理封装起来,减少接入时的兼容问题。
本文以 Windows 为主,分别演示命令行、Python 代码和桌面 MCP 客户端三种使用方式。先从命令行跑通,再接桌面客户端,排错会轻松很多。
一、开始前先分清三个角色
- DeepSeek API:模型服务本身。需要在 DeepSeek 开放平台创建 API Key,并按实际用量计费。
- DeepSeek Harness:开源适配层,提供 Python 库、
dsh命令行工具、MCP Server 和 Agent Skill。 - 桌面客户端:例如 Claude Desktop、Cherry Studio 等支持 MCP 的应用。Harness 通过 MCP 配置被这些客户端启动,而不是单独安装一个“DeepSeek Harness 桌面软件”。
二、官方与项目地址
- 项目主页:deepseek-harness GitHub
- Python 命令行包:deepseek-harness-cli(PyPI)
- Python 库:deepseek-harness(PyPI)
- MCP 包:@deepseek-harness/mcp(npm)
- DeepSeek 开放平台:platform.deepseek.com
- Python 下载:Python for Windows
- Node.js 下载:Node.js LTS
- Claude Desktop 下载:Claude Desktop
三、准备环境和 API Key
1. 安装 Python 与 Node.js
代码方式需要 Python;桌面 MCP 方式需要 Node.js。安装完成后,打开新的 PowerShell 窗口,执行下面命令确认环境正常:
python --version
pip --version
node --version
npx --version
若 python 无法识别,重新运行 Python 安装程序并勾选 Add Python to PATH,然后关闭并重新打开 PowerShell。
2. 创建并保存 API Key
登录 DeepSeek 开放平台,在 API Key 页面创建密钥。密钥只显示一次,请保存在密码管理器中。不要把它粘贴到文章、截图、GitHub 仓库或公开的 MCP 配置文件里。
先把 Key 仅写入当前 PowerShell 会话,适合测试:
$env:DEEPSEEK_API_KEY = "sk-替换成你的真实密钥"
需要长期使用时,再写入当前 Windows 用户的环境变量;设置后请新开一个 PowerShell 窗口:
setx DEEPSEEK_API_KEY "sk-替换成你的真实密钥"
四、路径 A:先用命令行跑通
这是最推荐的第一步。它能快速确认 Python、网络和 API Key 是否都正常。
1. 安装 CLI
python -m pip install --upgrade pip
python -m pip install deepseek-harness-cli
2. 检查环境
dsh doctor
该命令会检查依赖,并执行一次很小的在线验证请求。看到 harness ready 一类成功提示,说明基础环境已经打通。
3. 进入交互式对话
dsh chat
输入一个简单问题测试回复。通常先保持默认配置即可;需要显式开启思考模式时使用:
dsh chat -r
开发和调试多轮消息前,也可以先做离线检查,不消耗 API 配额:
dsh validate .\messages.json
dsh estimate .\messages.json
五、路径 B:在 Python 项目中调用
适合已有 Python 项目、自动化脚本或自建 Agent。先在项目目录建立虚拟环境,避免污染全局 Python:
mkdir deepseek-harness-demo
cd deepseek-harness-demo
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install deepseek-harness
新建 app.py,写入最小示例:
from deepseek_harness import DeepSeekHarness
client = DeepSeekHarness(disable_thinking_by_default=True)
result = client.chat(
model="deepseek-v4-pro",
messages=[
{"role": "user", "content": "用三句话解释 MCP 是什么。"}
],
max_tokens=512,
)
print(result["message"]["content"])
print(result["usage"])
在已设置 DEEPSEEK_API_KEY 的同一个终端中运行:
python .\app.py
模型名以项目 README 和 DeepSeek 开放平台当前可用模型为准。如果报模型不存在,先检查控制台中的模型名称,再替换示例里的 model 值。不要猜测模型名。
六、路径 C:在桌面客户端中通过 MCP 使用
这一方式适合希望在图形界面中调用工具的用户。以 Claude Desktop 为例:先安装 Node.js LTS 和 Claude Desktop,然后完全退出 Claude Desktop。
1. 找到配置文件
Windows 常见配置位置如下。可将路径粘贴到文件资源管理器地址栏:
%APPDATA%\Claude\claude_desktop_config.json
没有该文件时可以新建一个同名文本文件,并确认扩展名是 .json,不是 .txt。
2. 写入 MCP 配置
把下面内容合并到现有 JSON 的 mcpServers 中。已有其他 MCP 时,只新增 deepseek-harness 这一段,并注意逗号和大括号必须正确。
{
"mcpServers": {
"deepseek-harness": {
"command": "npx",
"args": ["-y", "@deepseek-harness/mcp"],
"env": {
"DEEPSEEK_API_KEY": "sk-替换成你的真实密钥"
}
}
}
}
保存后重新打开 Claude Desktop。首次使用时 npx 会下载 MCP 包,网络较慢时请耐心等待。桌面客户端的工具列表中应出现 deepseek_chat、deepseek_chat_stream、validate_message_history 和 estimate_cache_hit。
同一份 MCP 配置思路也可用于 Cline、Roo Code、Cherry Studio 等支持 stdio MCP 的客户端,但每个客户端的配置入口和文件路径不同,请以该客户端的官方文档为准。
七、首次使用建议
- 先用
dsh doctor验证 API Key,再配置桌面客户端。 - 第一次只问一个简单问题,例如“总结当前目录的 README”,确认响应正常。
- 涉及文件修改时,先让客户端给出计划和修改清单,再确认实际写入范围。
- 长对话中保持系统提示和项目背景稳定,有助于提高前缀缓存命中率。
- 工具调用失败时保留报错原文和最小复现步骤,不要直接把完整 API Key 发给任何人。
八、常见问题排查
提示 dsh 不是内部或外部命令
使用 python -m pip install deepseek-harness-cli 重新安装;然后关闭并重新打开 PowerShell。虚拟环境中安装时,需要先执行 .\.venv\Scripts\Activate.ps1。
提示没有 DEEPSEEK_API_KEY
先在当前窗口执行 $env:DEEPSEEK_API_KEY。没有输出说明环境变量没有生效;重新执行设置命令或新开终端。桌面 MCP 场景则检查 JSON 中的 env 字段。
Claude Desktop 没有显示工具
检查 Node.js 是否可用:node --version。再检查 JSON 是否有效、路径是否正确,并彻底退出后重新打开 Claude Desktop。不要在 JSON 中添加注释,标准 JSON 不支持注释。
接口报 401、403 或余额不足
401 通常是 API Key 无效;403 可能与账户权限、地区或服务端策略有关;余额或额度不足则需要在 DeepSeek 开放平台核对账户状态。Harness 不能绕过服务端限制。
九、安全和成本提醒
- API Key 等同于账户使用权限,建议只放在环境变量或本机受限配置中。
- 不要把含 Key 的配置提交到 Git。项目目录可在
.gitignore中加入.env、*config*.json等实际敏感文件。 - 先设置较小的
max_tokens测试;确认工作流稳定后再逐步增加。 - 开源项目会迭代,安装命令、包版本和模型支持范围以项目主页与 DeepSeek 开放平台的最新说明为准。
总结
DeepSeek Harness 适合需要把 DeepSeek API 稳定接入工具调用、多轮对话或 MCP 桌面客户端的用户。Windows 上最稳妥的顺序是:安装 Python 和 Node.js,创建 API Key,用 dsh doctor 验证,再按需要接入 Python 项目或桌面客户端。这样遇到问题时能快速定位是 API、环境变量还是 MCP 配置导致的。