Introduction¶
When running multiple chats in DeepSeek Harness (DSH) and waiting for agents to complete tasks, the Discord side often still shows “doing nothing.” If you want friends or yourself to see at a glance “which session is active, if work is being done, and how many tokens were used today,” you usually have to manually change your status or open a separate dashboard, making information and actual work status easily become disjointed. dsh-discord-rich is a community-maintained DSH client plugin that synchronizes the current chat title, work status, daily tokens, and current round timing to the Discord profile card via Discord Rich Presence. It uses local IPC throughout and requires no extra command-line operations.
What is this¶
dsh-discord-rich (GitHub: MakotoNikki/dsh-discord-rich) is maintained by MakotoNikki and categorized as a client plugin. Its positioning is: when DSH Desktop is running, push “currently open chats”, “agent Working / Idle”, “today’s total tokens”, and “current round duration” to Discord Rich Presence. Settings and card text support English, Russian, and Chinese (default English). The license is MIT; package.json specifies version 0.3.1, depends on Node >= 22.19.0, and requires DSH >= 0.2.1-rc.1 and < 0.3.0.
Core Features¶
Below is an introduction to the capabilities explicitly listed in the plugin’s profile.
Session and Status Following¶
The plugin Web side is mounted on the session header domain and reports the currently open chat to the host; after switching tabs, the Discord card follows the current active tab, not the session where the last message was located. While the agent is running, Working is displayed (Chinese: “工作中”); when waiting for your input, Idle is displayed (“空闲”).
Tokens and Timing¶
Total tok/d (and text like “Today’s Tokens” in corresponding languages) represents the accumulated tokens for today, not the lifetime total. Tokens are prioritized from DSH’s built-in token meter; if unavailable, they are read from the session log. The timer above the large image starts from the beginning of the current round and is used to observe how long the current turn has lasted. When hovering over the large image, the current chat’s tokens can be displayed in the tooltip (requires configuring an Art Asset in the Developer Portal, see below).
Zero-Config Trial and Custom App¶
A shared Application ID is pre-filled by default. You can use it immediately after installing and restarting DSH Desktop without creating a custom Discord app. The shared app name is displayed as DeepSeekHarness; if you need to customize the name, avatar, or assets, you can create an app in the Discord Developer Portal, paste the Application ID into Settings → Discord Rich Presence, and save it. If necessary, completely exit Discord and reopen it to clear the cache.
Language¶
The settings page provides a RU / EN / CN switch, affecting both the settings interface and the Discord card; if not selected, EN is the default. The configuration is written to the plugin config.
Privacy and Architecture (Local)¶
The plugin reads tokens from DSH’s built-in session projection cache (or native session log) and communicates with Discord via local IPC; it does not read, store, or send Discord account tokens, nor does it make network requests; it only sends activity text and optional large image keys to Discord. The host side is responsible for assembling the activity and writing it to Discord IPC; there is no intermediate server.
Installation and Activation¶
First ensure the plugin package is ready, then install and verify the Discord connection in DSH Desktop.
- Obtain the plugin directory (containing the
dsh-discord-richpackage content; source can be the community directory page or GitHub repository release). - In DSH Desktop, open Plugins and install the
dsh-discord-richfolder as a bundle; if you prefer package installation, runnpm packinside that folder to generate and install the resulting.tgz:
npm pack
- Restart DSH Desktop.
-
Keep the Discord client running. Any client that supports local Rich Presence IPC is supported (e.g., Stable, PTB, Canary, Vesktop, Equicord, etc.).
-
Open Settings → Discord Rich Presence. The status dot should turn green, and the preview should display the current chat. You can try it out without creating your own app under the shared Application ID.
Typical Usage and Optional Configuration¶
Default Usage¶
After installation and restart, simply keep Discord and DSH running simultaneously; no need to copy commands or open an extra dashboard.
Custom Application ID¶
- Create an app in Discord Developer Portal.
- Copy the Application ID from General Information (public ID, not bot token).
- Paste it into Settings → Discord Rich Presence and click Save.
- If the old name is still displayed, completely exit Discord and restart it.
Hover to Display Current Chat Tokens¶
- Open Rich Presence → Art Assets in the Developer Portal.
- Upload
assets/icon-1024.pngfrom the repository with the key set todsh. - In the plugin settings Icon & tooltip, set the asset key to
dsh. - Leave the custom tooltip empty, and the plugin will fill in the current chat tokens according to the selected language.
When using the shared app, the dsh resource may already exist; if hovering has no effect, using a custom app and uploading the resource is more reliable.
Language Switching¶
Use the RU / EN / CN switch in the settings page; after saving, it takes effect on both the settings page and the Discord card.
Use Cases and Notes¶
Who is it for: Developers who often run agents in DSH for long periods and usually keep Discord open; those who need to display “the session actually being worked on” and daily tokens on their profile card without manually changing their status.
Runtime and Trust: The plugin runs with the current DSH process permissions, reads session and token statistics, and writes to Discord Presence via local IPC. Before installing, please browse the GitHub repository for source code and the MIT license to judge for yourself if it is suitable.
Environment: Satisfy the Node and DSH version ranges in package.json; Discord must allow sharing detected activities in Activity Privacy, otherwise it may keep showing “Connecting”.
Troubleshooting Summary:
| Symptom | Try this |
|---|---|
| Discord not showing | Confirm Discord is running and restart DSH; check if the status dot is green in settings |
| Displays DeepSeekHarness | Shared app default name; create a custom Application if needed |
| Stuck on Connecting | Reconnect in settings; check Activity Privacy |
| No tooltip on hover | Upload asset with key dsh and fill the same key in the plugin |
| Chat title is incorrect | Switch tabs once or wait about 15 seconds for refresh |
Conclusion¶
dsh-discord-rich connects DSH’s current chat, work status, and token metrics to Discord Rich Presence. It is ready to try out by default, and you can change the Application ID, language, and large image tooltip as needed. For the plugin list and description, see the SkillHub directory page; for source code and the full troubleshooting table, see GitHub.