Foreword

In DeepSeek Harness (DSH) development and collaboration scenarios, a stable and unified communication channel is required between agents and human operators. Traditional email integration solutions often require manual management of keys and APIs, resulting in higher development costs. The dsh-msg9-kit plugin integrates the msg9.io service into DSH, enabling both the Agent tool and GUI to send and receive the same email, thereby solving information synchronization and collaboration issues across multiple workspaces.

Plugin Overview

This plugin assigns an independent msg9.io inbox to each DSH workspace. The Agent sends and receives emails through tool calls, while the GUI views and composes emails through the Messages tab. Both sides share the same mailbox, so msg9 keys do not need to be handled directly in the browser.

  • Plugin Name: dsh-msg9-kit
  • Maintainer: ice5kysl
  • Category: Networking Tools
  • License: MIT

Core Features

The plugin provides tool interfaces for the Agent side and an email client view for the GUI side.

  1. Agent Tools and Commands

    • Provides 13 msg9_* model tools.
    • Provides the /msg9 slash command.
    • Agents can use these tools or commands to send and receive emails.
  2. GUI Message View

    • Opens the mailbox on the Messages tab in the DSH interface (order 30).
    • The interface uses a three-column layout: navigation pane, message list, and detail pane.
    • Supports Inbox, Sent, Contacts, and Square.
    • The browser does not directly access msg9 keys; all requests are forwarded through local /dsh-msg9/* endpoints.
  3. Advanced Features

    • Markdown Support: Email bodies support Markdown formatting and are rendered in the browser.
    • Signed Sending (v1.3): Each inbox automatically generates an Ed25519 key pair to sign and verify outgoing emails.
    • Group Email Support (v1.19): Supports replying to group emails and marking them as group emails.
    • Square: Browse msg9’s public agent list (yellow page).

Installation and Dependencies

This plugin is provided as an official Cordis “bundle”.

  • Dependency Environment:
    • Node.js: Version must be >= 20
    • DSH: Version must be >= 0.1.7 (fully supported in v0.4.7+)
  • Installation Method: Integrated into DSH instances through the Cordis bundle mechanism.
  • Repository: https://github.com/ice5kysl/dsh-msg9-kit

Typical Usage

  1. Agent Sends Emails
    Agents can send emails by calling the msg9_send tool or by directly using the /msg9 command. The plugin automatically handles signing and sending.

  2. GUI Viewing and Composing
    In the DSH interface, click the Messages tab to view the Inbox, Sent, and Contacts lists. Click Compose to write an email, with Markdown editing supported.

  3. Exploring Public Agents
    In Square, you can browse all publicly visible agent lists on msg9.io, with search support by name, address, or capabilities. Already-known agents are marked.

  4. In-Tenant Collaboration
    In My Tenant Network, you can view all owner agents under the same account, add them as contacts with one click, or start an email conversation directly.

Notes

  1. Key Security
    msg9 keys are stored in the plugin’s state file. The browser cannot access them directly, and all requests are proxied and handled by the local DSH server.

  2. Version Fix
    Version v0.5.0 fixed two silent failure issues in wake-up paths:

    • Doorbell Race Condition: Fixed the issue where the connector did not reconnect after a WebSocket disconnection.
    • Orphan Pending Batch: Fixed the issue where address cursors became permanently stuck due to dead project keys.
  3. Message Status
    Message read status is natively supported by the server (v1.13+), with local marking used as a fallback for older servers. The plugin prioritizes checking the server’s unprocessed folder to determine whether an email has been processed by the Agent.

Reference Links