dsh-devices: A Multi-Device Networking Plugin for dsh

Preface

In DSH / agent development scenarios, it is common for a machine to run a dsh session while needing to access another development machine, cloud host, or test machine. When handling this manually, you typically need to first confirm the network location, then manually SSH, copy files, and check whether keys are paired.

dsh-devices is a dsh plugin designed for these multi-device collaboration scenarios. It provides mDNS same-network discovery, device key pairing, SSH cross-network direct command execution, remote workspace setup/viewing, file upload/download, paired device liveness probing, and invite-code fleet joining.

DSH’s extension model leans toward “everything is a plugin”; the plugin directory is an independent community site and has no official affiliation with DeepSeek / High-Flyer.

What Is This

dsh-devices enables multiple devices with dsh installed to collaborate through plugin tools.

Verified information includes:

  • Plugin name: dsh-devices
  • Repository URL: https://github.com/polaris-smart/dsh-devices
  • Plugin directory page: https://www.skillhub.cn/plugins/polaris-smart/dsh-devices
  • License: MIT
  • Retrieved package.json version: 0.1.2
  • Installation command: dsh plugin add dsh-devices

After installation, the plugin registers fleet_* tools within the dsh session for the agent in the dsh session to call. Verified tool names include:

  • fleet_discover
  • fleet_pair
  • fleet_ssh_exec
  • fleet_workspace
  • fleet_upload
  • fleet_download
  • fleet_status

Core Capabilities

Same-Network Discovery and Pairing

Same-network scenarios use mDNS for device discovery.

Verified capabilities include:

  • fleet_discover: Scans for devices on the LAN
  • fleet_pair: Pairs keys with a device
  • mDNS is in beta status
  • Limited to the same LAN / same subnet only
  • Requires UDP 5353

Pairing is bidirectional. Once devices are paired, they can only access paired devices.

Fleet keys are located at:

~/.fleet/ssh-keys/

Key files in this directory require permission 0600.

SSH Cross-Network Direct Command Execution

Cross-network scenarios use direct SSH.

Verified capabilities include:

  • fleet_ssh_exec: Executes commands on paired devices
  • fleet_workspace: Sets or views the remote workspace
  • In the current version, NAT-isolated devices cannot interconnect
  • Cross-network execution depends on SSH reachability

File Upload and Download

Verified capabilities include:

  • fleet_upload: Uploads files to paired devices
  • fleet_download: Downloads files from paired devices
  • The plugin description mentions SFTP file transfer

Paired Device Liveness Probing

fleet_status is used to probe the liveness status of paired devices.

Verified information includes:

  • Can return online status
  • Can return latency
  • Can return last used time

Invite Code Fleet Joining

The invite code flow is used for new devices to join the fleet.

Verified CLI commands include:

fleet8 invite <your-ip-or-host> --user <remote-user> --port 22
fleet8 join <invite-code>
fleet8 allow <device-id> "<public key from the step above>"

Module Control

The plugin supports disabling tool registration per module.

The verified configuration item is modules, which can be set to:

  • mdns
  • ssh
  • both

When a module is disabled, the tools under that module are not registered.

Installation and Activation

Below are the installation methods based on verified commands.

1. Install dsh

First, install dsh:

npm install -g @deepseek-ai/dsh

2. Install dsh-devices

Use the plugin installation command:

dsh plugin add dsh-devices

If using a local tgz package, you can use:

dsh plugin add ./dsh-devices-<version>.tgz

3. Check Node Requirements

The engines field in package.json is:

"node": ">=22.18"

The README’s Linux platform section states:

Node ≥ 22.19 required

The two statements are inconsistent. Before installation, it is recommended to check the Node version according to the target platform’s instructions.

4. Check Peer Dependencies

The peerDependencies in package.json includes:

"@deepseek-ai/cordis": "*"

Both @deepseek-ai/dsh and @deepseek-ai/cordis appear in the materials, but their relationship is not explained. Before installation, it is recommended to review the dependency documentation.

5. Check the Patch Field

package.json contains:

"dsh": {
  "bundle": {
    "patch": "./cordis.patch.yml"
  }
}

The README mentions Zero core changes / uninstall leaves no core patches. Since both the “zero core changes” description and the dsh.bundle.patch field exist in the materials, you should inspect ./cordis.patch.yml and the plugin source code before installation.

Typical Usage

Same Network: Discover and Pair

Same-network usage starts with discovery, followed by pairing.

  1. Prepare at least 2 devices, each with dsh-devices installed.

  2. Start the mDNS-related service on one device:

fleet7 serve
  1. On another device, use fleet_pair to complete key pairing with that device.

  2. After pairing is complete, call fleet_discover in the dsh session to view LAN devices.

Cross-Network: Direct SSH

Cross-network usage first confirms SSH reachability, then executes commands.

  1. The target device needs SSH open, typically on port 22.

  2. Add the public key to the target device’s authorized_keys.

  3. Run a test command:

fleet8 ssh my-server "hostname"
  1. In the dsh session, use:
  • fleet_ssh_exec
  • fleet_workspace

Invite Code Fleet Joining

Here is a three-step process.

  1. Generate an invite code on an existing device:
fleet8 invite <your-ip-or-host> --user <remote-user> --port 22
  1. Join the fleet on the new device:
fleet8 join <invite-code>
  1. Return to the existing device and authorize the new device:
fleet8 allow <device-id> "<public key from the step above>"

Once completed, the new device can enter the paired device list.

File Transfer

File upload and download are invoked through agent tools:

  • fleet_upload
  • fleet_download

In-Session Quick Invocation

After installation, you can directly say in the dsh session:

call fleet_discover

to view devices on the same network. After pairing is complete, you can use:

fleet_ssh_exec

to execute commands on remote devices.

Applicable Scenarios and Precautions

Applicable Scenarios

dsh-devices is suitable for the following scenarios:

  • Accessing other devices on the same LAN from one dsh device
  • Managing cross-network hosts via SSH
  • Allowing the agent in a dsh session to call fleet_* tools to execute commands, view workspaces, or upload/download files
  • Using invite codes to let new devices join a paired fleet

Prerequisites

At least 2 devices are required, each with dsh-devices installed.

Pairing is bidirectional. A single device has no peer to pair with.

Network Limitations

Same-network discovery relies on mDNS.

Verified limitations include:

  • mDNS is in beta
  • Limited to the same LAN / same subnet only
  • Requires UDP 5353
  • Cross-network devices use direct SSH
  • NAT-isolated devices cannot interconnect in the current version

macOS Notes

macOS’s SSH server is disabled by default.

To allow other devices to remotely command this macOS machine, you need to enable Remote Login.

Linux Notes

Verified considerations for the Linux platform include:

  • The README platform section requires Node ≥ 22.19
  • The engines in package.json requires Node ≥ 22.18
  • When acting as a managed device, sshd must be running
  • authorized_keys permission should be 600
  • ~/.ssh permission should be 700
  • The cloud security group needs to allow SSH port 22

Windows Notes

When Windows acts as a managed device, OpenSSH Server needs to be installed.

When Windows acts as a controller, && chains may only return the output of the first command. It is recommended to split compound commands.

Permissions and Security

The plugin runs with the current dsh process’s permissions. Before installation, it is recommended to check:

  • The plugin source code
  • The MIT license
  • package.json
  • ./cordis.patch.yml
  • The @deepseek-ai/cordis peer dependency
  • The target device’s SSH configuration and key permissions

Verified runtime constraints include:

  • Can only access paired devices
  • Key file permissions require 0600
  • Errors return readable text rather than throwing exceptions directly

Conclusion

The value of dsh-devices lies in bringing same-network discovery, key pairing, SSH cross-network execution, file transfer, and fleet joining into dsh session tools, allowing the agent to call them directly.

Before use, you need to confirm the number of devices, network location, SSH reachability, Node version, key permissions, and the plugin source code and patch files.

Related addresses:

  • Plugin directory page: https://www.skillhub.cn/plugins/polaris-smart/dsh-devices
  • GitHub: https://github.com/polaris-smart/dsh-devices
羽毛球分组比赛记分
小程序二维码

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

Xiaoye