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
羽毛球分组比赛记分
小程序二维码

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

小夜