dsh-agent-message: Cross-Session Agent Communication Plugin for DeepSeek Harness

Preface

DeepSeek Harness (DSH) can run multiple Agent sessions within the same process. dsh-agent-message is a DSH plugin that enables different Agent sessions running in the same process to send and receive messages to and from each other, just like instant messaging.

It is maintained by GengDaPeng and licensed under MIT. The GitHub repository is:

https://github.com/GengDaPeng/dsh-agent-message

What Is This

dsh-agent-message is designed for standalone session communication within DSH: one Agent session can send messages to another Agent session and query delivery receipts.

The prerequisite is that the target session is not archived, exists in local persistence, and falls within the scope that the current Harness process can recover and deliver to. Cross-process and cross-machine communication are outside the scope of this plugin.

Core Features

List Sending Candidates

list_peer_agents lists all standalone sessions that can receive messages: not archived, excluding real sub-agents, and including offline sessions that are not currently open.

Send Messages

Send messages to a specified session ID; by default, it uses followup to create an independent new turn, and automatically recovers offline sessions before delivery.

Three delivery modes are supported: followup, steer, and inject.

Query Message Receipts

check_delivery queries delivery receipts on demand:

pending
claimed
discarded
unknown

@ Session Locator

Type @ at the beginning of the input box to select the target session. The candidates only display the session title and “Running/Idle” status.

Visible Agent Message Cards

relay is displayed as an Agent message card on the left side, and the message header can open the sender’s session.

Copy Session ID

A one-click button to copy the current session ID is added to the session header.

Installation and Activation

Installation command:

dsh plugin --profile web add dsh-agent-message

Compatibility range:

Node.js 24
DeepSeek Harness >=0.1.0-rc.6 <0.2.0

Currently verified versions:

Node.js 24.x
DeepSeek Harness 0.1.0-rc.6

The plugin runs within the current DSH process. It is recommended to review the source code and the MIT license before installation.

Typical Usage

  1. Type @ at the beginning of the input box in Session A, then select the target session from the candidates; the candidates will show the title and “Running/Idle” status.

  2. @ is used to locate the target session. For example:

@B Tell him to stop after submitting the final PR draft

This will send a message.

@B Help me analyze his latest conversation results

This should not send a message to B.

  1. You can also have the Agent call list_peer_agents and then send directly using the full session ID.

  2. In a supervision scenario, you can say:

Check the message status I sent to <session ID>

This will trigger check_delivery.

Limitations and Notes

  • The target session must not be archived and must exist in local persistence; messages to archived sessions are always rejected.
  • The tools are only for communication between standalone sessions; real sub-agents neither appear in the target list nor can they use these tools as callers.
  • The same pair of sessions (regardless of sending direction) can deliver at most 10 messages within a rolling 60-second window; the 11th message will be rejected before being written to the target Inbox. This window belongs only to the current Harness process and is cleared upon restart.
  • When automatically recovering an offline session, the default model is used, and its previously manually selected model is not inherited; if recovery fails, the message will not be written to the target Inbox.
  • Batch receipts without specifying messageId rely on in-memory accounting, which only covers the most recent 1000 sent records (FIFO eviction) in this process; after a process restart, queries can still be made with a known messageId, but the volatile sentAt and mode will no longer be returned.
  • Cross-process/cross-machine communication is outside the scope of this plugin.

Conclusion

dsh-agent-message provides capabilities such as session listing, message sending, delivery receipt queries, @ locating, message cards, and copying session IDs, making it suitable for Agent session communication within the same DSH process.

Repository address:

https://github.com/GengDaPeng/dsh-agent-message
羽毛球分组比赛记分
小程序二维码

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

Xiaoye