Foreword

DeepSeek Harness (DSH) extends agent capabilities via plugins. dsh-ask-peer is a plugin for DeepSeek Harness that allows an agent to directly ask another agent within a local area network and receive answers based on the other’s workspace and session context.

Below is an introduction to its positioning, core capabilities, installation methods, and typical usage.

What is this

dsh-ask-peer is maintained by zzhzz, licensed under MIT, and the GitHub repository is https://github.com/zzhzz/dsh-ask-peer.

Its one-sentence positioning is: A decentralized peer-to-peer “ask a colleague’s agent” plugin for DeepSeek Harness.

The core design of this plugin is peer-to-peer:

  • No hub, broker, or shared database.
  • Agents communicate directly over the LAN.
  • Each side maintains its own record of relationships.

Core Capabilities

Asking and Cross-Validation

The model can use the following tools:

ask_peer
ask_peers
peers_list
recommend_peer
ask_peer_async
ask_result

Where:

  • ask_peer: Asks a colleague.
  • ask_peers: Asks 2-3 agents in parallel and cross-validates the answers.
  • peers_list: Displays the live roster and tags to help the model select a peer.
  • ask_peer_async / ask_result: Uses backlogged asks, interrupting the current work of the answerer.

Discovering New Agents

recommend_peer is used to discover new agents:

  1. The current agent asks a colleague.
  2. If that colleague knows the matching agent, a signed card for another agent is returned.
  3. The signed card is presented as a notification or chat bubble, including Add/Decline.
  4. After acceptance, the agent is merged into the friend list.

If the current colleague does not know the matching agent, she continues to ask her own friends. This process is subject to the following limitations:

  • hop limit, defaulting to 1.
  • small fan-out.

The recommended path is displayed in the bubble, for example:

via carol → erin

Session-Level Answers

The plugin uses session-level answers:

  • Answered by a fresh, read-only agent.
  • The answer content comes from a copy of the target session context.
  • Does not touch live sessions.

Approval and Strategy

In the Web UI, you can use approval bubbles to handle requests:

  • answer: Agree to answer.
  • decline: Refuse to answer.
  • auto: Trust a friend and execute directly.

Each friend can be configured with one of the following strategies:

ask
auto
deny

Where:

  • ask: Approve in the UI.
  • auto: Trusted friends execute directly.
  • deny: Refuse.

Signed Friend Cards

A signed friend card is used when adding a friend:

  • Simply paste a signed blob to add.
  • No need to manually copy host, port, or key.

Natural Triggering

When a user requests capabilities advertised by a friend, the agent can call them automatically:

ask_peer
recommend_peer

No need for the user to manually specify tools.

Installation and Enablement

First, confirm that the runtime environment meets the requirements:

node: ^22.19.0 || >=24.0.0
pnpm: >=10

Install the plugin to a specific profile:

dsh plugin --profile web add dsh-ask-peer

If adding from a local checkout or tarball, the corresponding path is:

./dsh-ask-peer
./dsh-ask-peer-0.1.0.tgz

Then, add a bootstrap row:

- id: ask-peer
  config:
    callerName: 'ada'
    keyDir: '/home/ada/.dsh-ask-peer/keys'
    listen: true

Here:

  • callerName is the agent name.
  • keyDir is the keys directory.
  • listen indicates whether to enable listening.

Start the profile:

dsh --profile web

Open in the Web UI:

Settings → Ask Peer

Copy your own sign or friend card and send it to a colleague. Then paste the colleague’s card to add the friend.

Typical Usage

You can directly tell the agent:

Carol, recommend another agent who can help me set up a docker-compose dev environment.

The flow in the README example is as follows:

  1. Bob asks his agent: He wants to find an agent who can help set up a docker-compose dev environment.
  2. Carol first checks the agents she knows; if no one advertises docker expertise, she continues to ask her friend Erin.
  3. Erin checks her relationships and finds Ada.
  4. Ada is in a docker-compose session and advertises:
docker
env-setup
  1. Ada’s signed friend card returns along the chain and is displayed in Bob’s chat:
ada recommended via carol → erin
  1. After Bob clicks Add friend, his agent can directly ask Ada’s agent.

For complete configuration references and protocols, see in the repository:

src/config.ts
docs/ARCHITECTURE.md

Applicable Scenarios and Notes

Suitable for developers who need agents to ask each other within a local network, obtain context answers across workspaces, or wish to extend DSH via plugins.

Notes before use:

  • The plugin runs with the permissions of the current dsh process; check the source code and license before installing.
  • The license is MIT.
  • The auto strategy allows trusted friends to execute directly; use this only for trusted peers.
  • The discovery process of recommend_peer is limited by hop limit and fan-out, but it is still recommended to control the number of peers and strategies.

Getting Address

GitHub Repository:

https://github.com/zzhzz/dsh-ask-peer