dsh-oomol:在 DeepSeek Harness 中通过渐进式 MCP 发现调用 OOMOL Connector Actions

前言

在 DeepSeek Harness(DSH)里让智能体调用外部应用,常见做法是把各 Provider 的 API Key 直接写进 Harness 配置,或把大量工具一次性注册进 MCP 工具面。前者把凭证暴露在客户端边界,后者会让工具列表膨胀、难以维护。

dsh-oomol 是 oomol-lab 维护的联网工具类插件,把 Harness 接到 OOMOL Connector(托管版 OOMOL Hosted 或自托管 OpenConnector)。Harness 只保存 Connector 客户端密钥,Provider 凭证留在 Connector 侧;Actions 通过渐进式 MCP 发现按需暴露,而不是一次性铺开全部工具。

这是什么

dsh-oomol(npm 包名 dsh-oomol,当前版本 0.1.4)是 OOMOL Connector for DeepSeek Harness。一个插件实例对应一个 Connector 端点,支持:

  • OOMOL Hosted:默认连接 https://connector.oomol.com/v1/mcp
  • 自托管 OpenConnector:在 profile 的 cordis.patch.yml 中覆盖 endpoint

插件在 Harness 的 Settings > Plugins > OOMOL Connector 下出现,许可证为 MIT。

核心功能

渐进式 MCP 发现

插件挂载 Harness 的 Streamable HTTP MCP 客户端,连到所选 Connector 端点。Connector Actions 保持可渐进发现,Harness 侧常驻工具面保持较小。

凭证边界分离

  • OOMOL Hosted:Provider 凭证存在 OOMOL Connector;Harness 通过 OOMOL_MCP_API_KEY 访问 Connector
  • 自托管:Provider 凭证存在 OpenConnector;按需使用 OOMOL_CONNECT_RUNTIME_TOKEN(或自定义 apiKeyEnv
  • 浏览器侧只收到凭证引用与状态元数据,Connector API Key 与 Provider 凭证留在 Host 侧秘密边界

双部署模式

模式 默认端点 默认凭证环境变量 Connections 按钮
OOMOL Hosted https://connector.oomol.com/v1/mcp OOMOL_MCP_API_KEY(必填) 打开 Harness 原生 OOMOL Hosted 账户面板
自托管 OpenConnector 需在 cordis.patch.yml 指定 OOMOL_CONNECT_RUNTIME_TOKEN(视部署而定) 打开端点 origin 上的 OpenConnector Console

自托管 HTTP 仅支持 localhost127.0.0.1[::1];远程部署需 HTTPS。

可配置项

字段 默认值 用途
endpoint https://connector.oomol.com/v1/mcp Streamable HTTP MCP 端点
apiKeyEnv endpoint 推导 Harness 凭证引用与启动环境变量名
teamName 未设置 OOMOL Hosted 团队标识
teamNameEnv OOMOL_TEAM_NAME OOMOL Hosted 团队环境变量名
serverName oomol Harness MCP 工具命名空间
toolCallTimeoutMs 60000 工具调用超时(毫秒)
failOnStartupError false MCP 发现失败时是否阻止 Harness 启动

安装与启用

环境要求:

  • Node.js 22.19 及以上(仍在 Node.js 22 线内),或 Node.js 24+
  • DeepSeek Harness 0.1.0-rc.70.1.0-rc.8
  • OOMOL Hosted 需 OOMOL 账户;自托管需运行中的 OpenConnector 实例

下面把插件安装到 web profile 并重启 Harness:

dsh plugin --profile web add -w dsh-oomol
dsh web

OOMOL Hosted 配置

默认连接托管端点,profile 中典型片段如下:

- id: oomol
  name: dsh-oomol
  config:
    endpoint: https://connector.oomol.com/v1/mcp
    teamNameEnv: OOMOL_TEAM_NAME
    serverName: oomol
    toolCallTimeoutMs: 60000
    failOnStartupError: false

OOMOL Console 创建 OOMOL MCP API Key,写入插件设置;Harness Credentials 会以 OOMOL_MCP_API_KEY 保存。托管环境也可在启动前注入:

export OOMOL_MCP_API_KEY="api_..."
dsh web

需要团队身份时:

export OOMOL_TEAM_NAME="your-team"
dsh web

自托管 OpenConnector 配置

在 profile 的 cordis.patch.yml 覆盖端点,例如本地:

- update:
    id: oomol
    config:
      endpoint: http://127.0.0.1:3000/mcp

本地 OpenConnector 可无认证运行。若部署启用了运行时认证,使用 OOMOL_CONNECT_RUNTIME_TOKEN,或在插件设置中保存由该 OpenConnector Console Access 页创建的持久运行时密钥:

export OOMOL_CONNECT_RUNTIME_TOKEN="oct_..."
dsh web

远程 HTTPS 示例:

- update:
    id: oomol
    config:
      endpoint: https://connect.example.com/mcp

自定义凭证环境变量名:

- update:
    id: oomol
    config:
      endpoint: https://connect.example.com/mcp
      apiKeyEnv: MY_CONNECT_RUNTIME_TOKEN

Harness Credentials 优先解析 apiKeyEnv,其次读取启动环境变量。

典型用法

安装并完成凭证配置后,可从发现 Connector 与 Actions 开始。README 给出的对话示例:

Show me the connectors available to this account.
Find Actions that can create a calendar event and inspect the selected Action schema.

对有外部副作用的操作,在执行前应在请求中写明目标账户与拟用参数。执行具有破坏性、对外可见、改权限或广泛共享的 Actions 前,应先审阅其含义。

本地诊断可运行:

pnpm run doctor

适用场景与注意

适合谁

  • 已在 OOMOL 或 OpenConnector 上配置好应用连接,希望在 DSH 对话里按需发现并调用 Actions 的开发者
  • 希望把 Provider 凭证留在 Connector 侧、Harness 只持 Connector 客户端密钥的团队
  • 需要同时支持 OOMOL Hosted 与自托管 Connector 的部署场景

使用前注意

  • 插件以当前 dsh 进程权限运行;安装前应查看 GitHub 源码 与 MIT 许可证,确认行为符合预期
  • Settings 中看不到插件时,确认已安装到 web profile 并重启 dsh web
  • OOMOL Hosted 显示 Not configured 时,检查是否已保存 OOMOL_MCP_API_KEY
  • 自托管返回 Unauthorized 时,确认运行时密钥对应该 OpenConnector 实例
  • 预期应用未出现时,到对应 Connector Console 配置 Provider 连接
  • Connections 面板无法展开时,将窗口宽度调至至少 1220 px

DSH 生态遵循「一切皆插件」;SkillHub 目录页 是社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-oomol 把 Harness 接到 OOMOL Connector,用渐进式 MCP 发现缩小常驻工具面,并把 Provider 凭证留在 Connector 侧。若你已在 OOMOL 或 OpenConnector 上维护应用连接,可按本文步骤安装到 web profile、配置端点与密钥,再从发现 Actions 开始调用。

  • 目录页:https://www.skillhub.cn/plugins/oomol-lab/dsh-oomol
  • GitHub:https://github.com/oomol-lab/dsh-oomol
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜