Overview

DeepSeek Harness (DSH) adopts an “everything is a plugin” architecture. When you need to manage AI sessions in a Discord server, relying directly on native Discord features often makes it difficult to reuse DSH’s session management and model scheduling capabilities. @addozhang/dsh-discord is a Discord-first adapter that mounts DSH sessions into your Discord server. Maintained by addozhang, the plugin allows users to trigger sessions with Discord mentions and stream results, approvals, and controls inside the Discord interface without extra processes.

Core Features

The plugin maps core DSH capabilities onto Discord commands and interactive components:

  • Mention-driven sessions: Send @bot <task> in a bound channel to automatically anchor a thread and create a DSH session. Image uploads are supported; the model will automatically process image content.
  • Streaming rendering: Provides a typing indicator, answers are edited in place, tool activity lines are displayed in real time, and long text is presented in segments.
  • Approvals and questions: DSH approvals and questions are presented as buttons, dropdown menus, or text modals. Click authority belongs to the initiator or thread owner, and expired actions automatically become invalid.
  • Session control: Provides commands such as /steer, /stop, and /queue list|remove to control session flow.
  • Model and permission management: Select a model interactively with /model select, or switch permission presets with /permission show/set.
  • Bilingual support: The interface includes built-in Chinese/English switching, aligned with DSH language preferences.
  • Security hardening: Uses a “deny-first” authorization policy, double mention suppression, an at-most-once submission mechanism, and recovery logic for unknown states.

Installation and Enablement

The plugin is mounted as a DSH plugin into the dsh web configuration file. Ensure that the dsh CLI is installed and the web profile is running before installation.

  1. Install the plugin:
    Use the CLI to install the plugin package into the current profile:
    dsh plugin --profile web add @addozhang/dsh-discord
Restart `dsh web` and refresh the browser. `dsh plugin` automatically handles configuration merging.
  1. Version compatibility:
    The plugin has stable and next versions, and they must strictly match the DSH CLI version; mixing is not allowed:

    Plugin track Plugin version DSH CLI version
    stable 0.5.0 0.1.7-rc.1
    next >=0.6.0-rc.1 0.2.0-rc.2

    If the CLI and plugin versions do not match, the plugin will be disabled at startup and report an error.

  2. Configuration:
    Configure the Discord Token, allowed Guild IDs, member permission whitelist, and language preference in the DSH settings card. All Tokens are stored in the Host credential service and do not enter logs or configuration files.

Typical Usage

Operate DSH sessions through Discord commands and interactions:

  • Start a task: @bot <task>
  • Session control: /steer, /stop, /queue list|remove
  • Bind project and session: /project bind|list|info, /session resume
  • Cleanup: /guild forget
  • Model selection: /model show, /model select
  • Permission switching: /permission show, /permission set
  • Permission set configuration: /permission show / set (requires Host permission)

Use Cases and Notes

  • Runtime environment: The plugin depends on Node.js ^22.19.0 || >=24.0.0.
  • Discord configuration: You must create a Discord Bot application and enable the MESSAGE CONTENT privileged gateway intent in the developer portal.
  • Architecture note: Session state remains in DSH, while persistent bindings are stored in the Profile storage domain.
  • Permission control: The plugin includes an explicit Guild allowlist; requests from non-listed sources are ignored directly.
  • Ecosystem context: This plugin is a community-maintained project and has no official affiliation with DeepSeek or the official app store.

Conclusion

By combining DSH session management with Discord messaging, @addozhang/dsh-discord provides Discord users with a standardized AI interaction entry point. To view the full documentation or source code, visit the community catalog or the GitHub repository.