DeepSeek Harness 安装与详细使用教程:Windows 配置 CLI、Python 与 MCP 桌面客户端

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 桌面软件”。

二、官方与项目地址

三、准备环境和 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_chatdeepseek_chat_streamvalidate_message_historyestimate_cache_hit

同一份 MCP 配置思路也可用于 Cline、Roo Code、Cherry Studio 等支持 stdio MCP 的客户端,但每个客户端的配置入口和文件路径不同,请以该客户端的官方文档为准。

七、首次使用建议

  1. 先用 dsh doctor 验证 API Key,再配置桌面客户端。
  2. 第一次只问一个简单问题,例如“总结当前目录的 README”,确认响应正常。
  3. 涉及文件修改时,先让客户端给出计划和修改清单,再确认实际写入范围。
  4. 长对话中保持系统提示和项目背景稳定,有助于提高前缀缓存命中率。
  5. 工具调用失败时保留报错原文和最小复现步骤,不要直接把完整 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 配置导致的。

参考链接

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部