前言¶
在 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 僅支持 localhost、127.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.7或0.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 中看不到插件時,確認已安裝到
webprofile 並重啓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