Introduction¶
DeepSeek Harness (dsh) already has a web UI. The goal of dsh-plugin-discord is to enable Discord to utilize the same set of dsh sessions. If you wish to initiate or continue dsh sessions within Discord, or have scripts push notifications via Discord, dsh-plugin-discord provides a bridging layer.
What is this¶
dsh-plugin-discord is a Discord bridging plugin for DeepSeek Harness (dsh), owned by ghbhiee, licensed under MIT, with package.json version 0.6.0.
The official one-sentence description is:
Discord bridge for DeepSeek Harness: chat with your dsh sessions from Discord, sharing the very same sessions with the web UI
In other words, it ingests messages from allowlisted Discord users/channels into dsh sessions and sends back dsh session replies to Discord; meanwhile, it provides active notification HTTP API and MCP endpoints.
Core Features¶
Sessions and Messages¶
- Messages from allowlisted Discord users/channels enter a dsh session.
- Replies from dsh sessions are returned to Discord.
- The plugin registers Discord slash commands: arbitrary text prompts,
/new,/sessions,/use,/current,/stop,/help.
Active Notifications¶
- HTTP API path:
/plugins/discord/api/notify - MCP endpoint path:
/plugins/discord/mcp - You can disable the entire notification surface via configuration:
notifyEnabled: false
Inline Questions¶
ask_user_questioncan be rendered into Discord inline components: select menu, modal free text, cancel button.- This capability requires
dsh >= 0.1.1; on older host versions, questions are only processed on the web side.
File Transfer¶
- Agents can write
[discord-file: /absolute/path]in replies to send files to Discord. - Discord attachments are saved to
.discord-uploads/. - File uploads are restricted by the session working directory, configuration option
uploadRoots, andmaxUploadBytes.
Installation and Usage¶
Use the official installation command to install the plugin to the web profile:
dsh plugin --profile web add github:ghbhiee/dsh-plugin-discord
This command installs github:ghbhiee/dsh-plugin-discord.
The plugin runs with the permissions of the current dsh process; you should check the source code and the MIT license before installing.
Verified sources mention bot token related configuration and the environment variable name DSH_DISCORD_TOKEN, but the corresponding description is truncated and complete configuration details are missing; this article does not expand on specific token configuration.
Typical Usage¶
Sending Active Notifications¶
The following example sends a notification to the local dsh notify interface:
curl -s -X POST http://127.0.0.1:3080/plugins/discord/api/notify \
-H "authorization: Bearer $(cat ~/.dsh/profiles/web/discord-notify.secret)" \
-H 'content-type: application/json' \
-d '{"content": "磁盘使用率 92%"}'
This interface defaults to loopback. If calling from a remote machine, a tunnel or reverse proxy is required.
Bearer Secret¶
The Bearer secret is generated to <profile dir>/discord-notify.secret; it can also be overridden via the configuration option notifySecret or the environment variable DSH_DISCORD_NOTIFY_SECRET.
The web profile path used in the example is:
~/.dsh/profiles/web/discord-notify.secret
MCP Endpoint¶
If the client uses MCP, you can point the client to the plugin’s MCP endpoint. The following example uses the claude CLI:
claude mcp add --transport http discord \
http://127.0.0.1:3080/plugins/discord/mcp \
--header "Authorization: Bearer $(cat ~/.dsh/profiles/web/discord-notify.secret)"
This example demonstrates pointing the MCP client to /plugins/discord/mcp.
File Transfer¶
When an Agent sends a file, write in the reply:
[discord-file: /absolute/path]
Attachments sent by Discord users are saved to:
.discord-uploads/
Upload restrictions include the session working directory, uploadRoots, and maxUploadBytes.
Applicable Scenarios and Notes¶
Suitable for:
- Using dsh sessions from Discord and sharing the same sessions with the web UI.
- Handling options, free text, and cancellation for
ask_user_questionin Discord. - Pushing active notifications via
/plugins/discord/api/notifyor/plugins/discord/mcp. - Performing file transfer via
[discord-file: /absolute/path]and.discord-uploads/.
Notes:
- The plugin runs with the permissions of the current dsh process; check the source code and license before installing.
- Message ingestion covers allowlisted Discord users/channels.
- The notify endpoint defaults to loopback; remote calls require a tunnel or reverse proxy.
- The Bearer secret is located at
<profile dir>/discord-notify.secretand can be overridden bynotifySecretorDSH_DISCORD_NOTIFY_SECRET. - Inline questions require
dsh >= 0.1.1; on older host versions, questions remain on the web side. - File uploads are restricted by the session working directory,
uploadRoots, andmaxUploadBytes. - The complete configuration description for bot tokens is incomplete; please verify the repository README and plugin documentation before use.
Conclusion¶
dsh-plugin-discord provides a bridge between Discord and dsh sessions, as well as a channel for active Discord notifications.
Repository URL:
https://github.com/ghbhiee/dsh-plugin-discord
The plugin directory page URL has not been verified in this article, so it is not listed.