Skip to content
dsh.fish
Bundle

relay-dsh-plugin-manager

Conversation-first plugin discovery and lifecycle management for DeepSeek Harness.

Source
yangbobo2021
stars
1 stars
License
MIT
Updated
Updated yesterday

Readme

# Manage DeepSeek Harness Plugins from Chat

> **Now supports DSH `0.1.2-rc.1` while retaining `0.1.2-alpha.3` compatibility.** The stable channel includes the evidence-backed DSH Registry search provider and anonymous operational analytics. [Install it from npm](https://www.npmjs.com/package/relay-dsh-plugin-manager) · [Compatibility evidence](https://github.com/yangbobo2021/Relay/tree/codex/relay-foundation/dsh-lab/dsh-0.1.2-rc.1-20260903).

> **Release channel:** install `relay-dsh-plugin-manager@latest` to receive the current stable manager.

```bash
npx @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add relay-dsh-plugin-manager@latest
npx @deepseek-ai/dsh@0.1.2-rc.1 web
```

[![npm version](https://img.shields.io/npm/v/relay-dsh-plugin-manager?label=npm)](https://www.npmjs.com/package/relay-dsh-plugin-manager)
[![CI](https://github.com/yangbobo2021/relay-dsh-plugin-manager/actions/workflows/ci.yml/badge.svg)](https://github.com/yangbobo2021/relay-dsh-plugin-manager/actions/workflows/ci.yml)
[![npm downloads](https://img.shields.io/npm/dm/relay-dsh-plugin-manager?label=downloads)](https://www.npmjs.com/package/relay-dsh-plugin-manager)
[![GitHub stars](https://img.shields.io/github/stars/yangbobo2021/relay-dsh-plugin-manager?style=flat)](https://github.com/yangbobo2021/relay-dsh-plugin-manager/stargazers)
[![MIT license](https://img.shields.io/github/license/yangbobo2021/relay-dsh-plugin-manager)](LICENSE)
[![DSH compatibility](https://img.shields.io/badge/DSH-0.1.2--alpha.3%20%7C%200.1.2--rc.1-2f7d68)](https://github.com/deepseek-ai/deepseek-harness)
[![npm trusted publishing](https://img.shields.io/badge/npm_trusted_publishing-enabled-2f9e44)](.github/workflows/release.yml)

English | [中文](README.zh.md)

**npm package:** [`relay-dsh-plugin-manager`](https://www.npmjs.com/package/relay-dsh-plugin-manager)
· [Relay DSH plugin catalog](https://github.com/yangbobo2021/Relay/blob/codex/relay-foundation/docs/dsh-plugins.md)

**Find and manage DSH plugins by describing what you need, without leaving the
conversation or editing Profile files by hand.**

`relay-dsh-plugin-manager` lets DeepSeek Harness Chat discover, install, update,
enable, disable, and remove plugins. Search and inspection are read-only. Before
any change, DSH shows the plan and waits for a separate confirmation.

[![Plugin Manager installs relay-dsh-plugin-codex successfully in DSH](https://raw.githubusercontent.com/yangbobo2021/Relay/codex/relay-foundation/docs/media/dsh-plugin-manager-codex-install-success.png)](https://github.com/yangbobo2021/Relay/blob/codex/relay-foundation/docs/media/dsh-plugin-manager-codex-install-demo.en.mp4?raw=1)

*Watch the [40-second real DSH run](https://github.com/yangbobo2021/Relay/blob/codex/relay-foundation/docs/media/dsh-plugin-manager-codex-install-demo.en.mp4?raw=1):
search, review a no-change plan, confirm separately, and finish with the Codex
plugin installed. Recorded on official DSH commit
[`b150a551`](https://github.com/deepseek-ai/deepseek-harness/commit/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e)
with Plugin Manager `0.1.0-rc.3` and Codex plugin `0.1.2`.*

If conversation-first plugin management is useful to you,
[star this plugin](https://github.com/yangbobo2021/relay-dsh-plugin-manager) and
[share your install result or missing plugin use case](https://github.com/yangbobo2021/relay-dsh-plugin-manager/issues).

## Install

If you installed official DSH yourself, stop DSH Web and install the published
npm package with the DSH CLI:

```bash
dsh plugin --profile web add relay-dsh-plugin-manager@latest
```

Then start or restart DSH Web:

```bash
dsh web
```

If `dsh` is not on `PATH`, replace it with
`pnpm dlx @deepseek-ai/dsh@0.1.2-rc.1` in both commands.

The plugin appears under **Settings > Plugins > Recommended plugins**, the tab
that Settings > Plugins opens on. It presents the recommended conversation-backend
plugins and a short help view; plugin management itself happens in Chat.

### Installed by KeySync

When you use [KeySync](https://sublang.ai/keysync/download/) to install DSH with
its one-click setup, this plugin is included and installed automatically. You do
not need to install it again. The command above is for standalone official DSH
installations or Profiles where the plugin was removed.

## Use

Describe what you want in ordinary language:

```text
Find a plugin that connects to Lark
Find DSH plugins owned by GitHub user yangbobo2021
Install relay-dsh-plugin-codex
Install relay-dsh-plugin-codex, relay-dsh-plugin-files, and relay-dsh-plugin-terminal together
List my installed plugins and their status
Disable example-dsh-plugin
Remove example-dsh-plugin
```

You can also use the single `/plugins` command:

```text
/plugins find a workspace file browser
/plugins search owner:yangbobo2021
/plugins install relay-dsh-plugin-files
```

Search and inspection are read-only. Installation, update, removal, enablement,
disablement, and restart always show a plan. You can confirm with DSH's choice
UI, or explicitly approve in a later Chat message.
When you request multiple installs together, DSH shows one ordered plan and any
missing companion peers, waits for one confirmation, and runs the installs in
sequence. Completed changes that still need restart are reported explicitly as
restart-required or waiting for a manual restart.

### Anonymous usage analytics

Anonymous operational analytics are enabled by default to measure plugin-manager
search and installation outcomes. To opt out without disabling plugin management,
set this when starting DSH Web:

```bash
RELAY_PLUGIN_MANAGER_TELEMETRY=0 dsh web
```

Registry operators performing a production acceptance run can mark only that
run as test traffic:

```bash
RELAY_PLUGIN_MANAGER_TELEMETRY_TEST=1 dsh web
```

This adds only `is_test: true`; ordinary users do not send the marker.

The manager sends events only to the first-party
`https://dsh-plugins.tech/v1/telemetry/events` endpoint. The Registry validates
the exact event schema and forwards accepted events to its PostHog analytics
project. The plugin records only the manager action type and plugin
install start, success, or failure events produced by the manager. Install
events contain the public package name, activation/restart booleans, and a
bounded error code. Search terms, conversation content, local paths, command
output, error text, IP geolocation, and account identity are not sent. A random
anonymous ID is stored in `.relay-plugin-manager/telemetry.json` inside the
current Profile to avoid counting one installation as many users; delete the
file to reset it.

These events measure manager use and manager-executed installs. They do not
claim that another plugin's feature was actually used merely because it loaded
or activated.

### DSH Registry discovery provider

The source-only Registry search provider uses `https://dsh-plugins.tech` by
default. Set plugin option `registryUrl` or environment variable
`DSH_PLUGIN_REGISTRY_URL` to override the Registry origin (for example, a local
preview at `http://127.0.0.1:4174`). Non-local URLs must use HTTPS. Set
`registryUrl: false` to disable Registry discovery explicitly.

This provider sends only the task query, inferred Chinese/English locale, and
result limit. Returned candidates are
always inspected locally through the same npm/GitHub flow before any plan can be
created; Registry descriptions are untrusted text and cannot authorize changes.
Search returns one relevance-ranked page (twenty candidates by default). The
Agent is instructed to preserve that order and show every possibly relevant
candidate instead of silently shortening the page to a fixed top five; results
whose plugin purpose is clearly unrelated to the request are excluded.

## Part of Relay

This plugin is developed in the
[Relay](https://github.com/yangbobo2021/Relay) integration workspace and is
published as an independently installable DSH plugin. Relay explores durable
Agent work, external-event delivery, reusable DSH views, and multiple
conversation backends.

Other Relay DSH plugins:

- [Codex conversations](https://github.com/yangbobo2021/relay-dsh-plugin-codex)
- [Claude Code conversations](https://github.com/yangbobo2021/relay-dsh-plugin-claude)
- [Workbench panels](https://github.com/yangbobo2021/relay-dsh-plugin-workbench)
- [Workspace files](https://github.com/yangbobo2021/relay-dsh-plugin-files)
- [Terminal](https://github.com/yangbobo2021/relay-dsh-plugin-terminal)

See the [complete Relay DSH plugin guide](https://github.com/yangbobo2021/Relay/blob/codex/relay-foundation/docs/dsh-plugins.md)
for installation combinations and compatibility notes.

## Feedback

Report bugs and feature requests in the
[issue tracker](https://github.com/yangbobo2021/relay-dsh-plugin-manager/issues).

Install

dsh plugin --profile web add github:yangbobo2021/relay-dsh-plugin-manager

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source