前言¶
DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。在使用 DSH 构建工作流或智能体时,通常需要连接多个 Model Context Protocol (MCP) 服务。这些服务形态各异,有的提供 HTTP 接口,有的依赖本地进程;有的需要认证,有的则无需认证。在 DSH 原生配置中管理这些服务往往需要手动编辑 YAML 文件,配置复杂且容易出错。
dsh-mcp-oauth-client 是为此设计的通用管理插件。它提供了一个可视化的管理界面,并作为客户端桥接,支持通过配置文件或界面添加、管理和连接各类 MCP 服务。
插件概览¶
- 插件名称:
dsh-mcp-oauth-client - 维护者:fangzaozao
- 开源协议:MIT
- 定位:面向 DeepSeek Harness 的通用 MCP 管理与客户端桥接插件
- 说明:虽然包名保留了 oauth 历史名称,但它不仅支持带认证的服务,也支持无认证的 MCP 服务。
核心功能¶
该插件提供以下能力:
- 可视化管理:在 DSH 的「设置 → MCP」界面中统一管理所有服务。
- HTTP 流式支持:支持可流式 HTTP 协议,包含以下认证方式:
- 无认证
- OAuth 2.1 + PKCE
- Bearer 令牌
- 自定义请求头
- 本地进程支持:支持标准输入输出(stdio)协议,可配置启动命令、参数、环境变量和工作目录。
- 服务控制:支持添加、删除、启用、停用、重新连接服务,以及查看当前工具数量。
- OAuth 自动化:支持自动打开浏览器进行授权,通过本机回调地址完成认证,并使用官方 MCP SDK 处理令牌刷新。
安装与启用¶
该插件通过 npm 包管理。安装时需要指定 Web profile。
1. 通过 npm 安装¶
dsh plugin --profile web add dsh-mcp-oauth-client
2. 通过本地 tarball 安装¶
如果插件已打包,可以直接安装:
pnpm pack
dsh plugin --profile web add ./dsh-mcp-oauth-client-0.3.0.tgz
3. 通过 Git 安装¶
从 Git 安装时,插件会执行 prepare 脚本进行构建。如果使用 pnpm 10 及以上版本,需要在 DSH profile 的 pnpm-workspace.yaml 中明确允许该构建脚本:
allowBuilds:
dsh-mcp-oauth-client: true
然后使用固定的 commit SHA 进行安装,以确保构建结果稳定:
dsh plugin --profile web add github:fangzaozao/dsh-mcp-oauth-client#COMMIT_SHA
使用方法¶
安装完成后,启动 Web profile,进入「设置 → MCP」页面,点击「添加服务器」开始配置。
HTTP 服务配置¶
对于 HTTP 类型的 MCP 服务,界面提供了四种认证方式供选择:
- 无认证:适用于公开访问或由网络层(如防火墙)保护的端点。
- OAuth 2.1 / PKCE:支持动态注册,也支持手动填写客户端 ID 和客户端密钥。
- Bearer 令牌:直接输入令牌,插件会自动在请求头中添加
Authorization: Bearer <token>。 - 自定义请求头:适用于 API Key 或特定服务商的请求头格式。
stdio 服务配置¶
对于本地标准输入输出(stdio)类型的 MCP 服务,需要填写可执行命令。
- 命令:填写启动该 MCP 服务的可执行文件或脚本路径。
- 参数:命令参数每行填写一个。
- 环境变量:使用
名称=值的格式填写。 - 工作目录:可选配置。
管理器模式¶
该插件包只安装管理器,不内置默认的 MCP 地址、凭据或本地命令。需要通过界面添加的具体服务条目,其配置会写入当前 profile 的 cordis.patch.yml 文件中。只有管理器条目本身需要设置 manager: true;如果该服务是由组合包提供的,且组合包已包含管理器,则无需重复设置。
注意事项¶
- 安全存储:在界面中填写的凭据会以明文形式写入
cordis.patch.yml。请勿将该配置文件提交到 Git 仓库。 - 令牌持久化:OAuth 的访问令牌和刷新令牌仅保存在插件进程的内存中。如果插件重启,令牌将失效,需要重新授权。
- 系统要求:运行该插件需要 Node.js 20 或更高版本。
- DSH 版本兼容性:需要支持组合包和 Web 客户端扩展的 DSH 版本。
- 预览状态:本插件面向 DeepSeek Harness 开发者预览版。DSH 仍在快速迭代,后续版本可能包含破坏性变更。
总结¶
dsh-mcp-oauth-client 解决了 DSH 环境下管理异构 MCP 服务(特别是涉及认证和本地进程)的配置痛点。通过可视化的操作和标准化的配置输出,它降低了连接外部工具的门槛。对于需要深度集成 MCP 生态的 DSH 用户,这是一个值得安装的基础设施插件。
更多细节和源码,请访问 GitHub 仓库。