oomol-lab/dsh-oomol

OOMOL Connector for DeepSeek Harness—discover connected apps and execute Actions through progressive MCP discovery without exposing provider credentials.

Bundle 已验证 MIT TypeScript v0.1.4
Bundle 已验证

已收录

11

Tools

Bundle 已验证

版本v0.1.4
语言TypeScript
许可证MIT
在 GitHub 查看

预览

功能介绍

将 DeepSeek Harness 接入由 OOMOL 管理的应用与服务,支持渐进式发现并执行 Connector Actions,并提供用于管理 Provider 连接的应用内面板。

适合

  • 希望渐进式发现并执行 OOMOL Hosted 或自托管 OpenConnector Actions 的 DSH 用户。
  • 希望 Provider 凭证保留在 Connector 中、Harness 仅保存所选 Connector 客户端密钥,并通过应用内面板管理连接的团队。

不适合

  • 低于 Node.js 22.19 的运行时,或没有 OOMOL 账号与 API Key 的 Hosted 部署。
  • 期望单个插件实例连接多个端点,或通过普通 HTTP 访问远程自托管端点的环境;每个实例仅支持一个端点,远程端点必须使用 HTTPS。

README

OOMOL Connector for DeepSeek Harness

Use OOMOL Connector Actions from DeepSeek Harness through progressive MCP discovery.

dsh-oomol supports OOMOL Hosted and self-hosted OpenConnector. One plugin instance connects to one Connector endpoint.

npm package 中文文档

Requirements

  • Node.js 22.19 or later within Node.js 22, or Node.js 24+
  • DeepSeek Harness
  • An OOMOL account for OOMOL Hosted, or a running OpenConnector instance for self-hosted use

Install

Install the plugin into the Web profile and restart Harness:

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

The plugin appears under Settings > Plugins > OOMOL Connector.

OOMOL Hosted

The package connects to OOMOL Hosted by default:

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

Create an OOMOL MCP API key in OOMOL Console, then save it in the plugin settings. Harness Credentials stores the key under OOMOL_MCP_API_KEY.

Managed environments can provide it at launch:

export OOMOL_MCP_API_KEY="api_..."
dsh web

Set a team identity when needed:

export OOMOL_TEAM_NAME="your-team"
dsh web

The Connections button opens the native Harness panel for OOMOL Hosted accounts.

Self-hosted OpenConnector

Override the endpoint in the profile’s cordis.patch.yml:

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

The plugin recognizes every non-official endpoint as self-hosted. Local OpenConnector deployments can run without authentication. Deployments with runtime authentication use the key stored under OOMOL_CONNECT_RUNTIME_TOKEN:

export OOMOL_CONNECT_RUNTIME_TOKEN="oct_..."
dsh web

You can also save the runtime API key in the plugin settings. Create persistent runtime keys in the OpenConnector Console Access page.

Self-hosted HTTP endpoints are limited to localhost, 127.0.0.1, and [::1]. Remote deployments use HTTPS:

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

The Connections button opens the endpoint origin, such as https://connect.example.com, where OpenConnector serves its Console.

Custom API key environment name

Both modes support an explicit credential reference:

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

Harness Credentials resolves apiKeyEnv first and the launch environment second.

Use Connector Actions

Start with discovery:

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

For operations with external effects, include the target account and proposed arguments in your request before execution.

How it works

The plugin mounts DeepSeek Harness’s Streamable HTTP MCP client with the selected Connector endpoint. Connector Actions remain progressively discoverable, keeping the permanent Harness tool surface small.

OOMOL Hosted stores Provider credentials in OOMOL Connector. Self-hosted deployments store them in OpenConnector. Harness stores only the Connector client key selected by apiKeyEnv.

The browser receives the credential reference and status metadata. Connector API keys and Provider credentials stay in Host-side secret boundaries.

See Architecture for implementation details.

Configuration

Field Default Purpose
endpoint https://connector.oomol.com/v1/mcp Streamable HTTP MCP endpoint
apiKeyEnv Derived from endpoint Harness credential reference and launch environment name
teamName unset OOMOL Hosted team identity
teamNameEnv OOMOL_TEAM_NAME OOMOL Hosted team environment name
serverName oomol Harness MCP tool namespace
toolCallTimeoutMs 60000 Tool call timeout
failOnStartupError false Fail Harness startup when MCP discovery fails

Derived credential references:

Endpoint mode Default reference Required
OOMOL Hosted OOMOL_MCP_API_KEY Yes
Self-hosted OOMOL_CONNECT_RUNTIME_TOKEN Depends on the OpenConnector deployment

Troubleshooting

Symptom Action
Plugin missing from Settings Install it in the web profile and restart dsh web
OOMOL Hosted shows Not configured Save an OOMOL MCP API key in plugin settings
Self-hosted returns Unauthorized Save a runtime API key created by that OpenConnector instance
Self-hosted Console link returns 404 Open the Console URL configured by the OpenConnector deployment
Expected app is missing Open the relevant Connector Console and configure the Provider connection
Connections panel stays closed Widen the window to at least 1220 px so Harness can show its details column

Run local diagnostics:

pnpm run doctor

Security

  • Store Connector API keys in Harness Credentials or the launch environment.
  • Use HTTPS for remote self-hosted endpoints.
  • Review destructive, externally visible, permission-changing, and broad-sharing Actions before execution.
  • Treat an ambiguous side-effecting call as an unknown outcome and inspect the Provider before retrying.
  • Report vulnerabilities through SECURITY.md.

Development

pnpm install --frozen-lockfile
pnpm check

Build and install the checkout into a Web profile:

pnpm build
dsh plugin --profile web add -w "$(pwd)"

License: MIT

常见问题常见问题

在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:oomol-lab/dsh-oomol。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。