dsh-discord-rich:把 DSH 当前会话与 Token 显示到 Discord

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.

  1. Obtain the plugin directory (containing the dsh-discord-rich package content; source can be the community directory page or GitHub repository release).
  2. In DSH Desktop, open Plugins and install the dsh-discord-rich folder as a bundle; if you prefer package installation, run npm pack inside that folder to generate and install the resulting .tgz:
npm pack
  1. Restart DSH Desktop.
  2. Keep the Discord client running. Any client that supports local Rich Presence IPC is supported (e.g., Stable, PTB, Canary, Vesktop, Equicord, etc.).

  3. 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

  1. Create an app in Discord Developer Portal.
  2. Copy the Application ID from General Information (public ID, not bot token).
  3. Paste it into Settings → Discord Rich Presence and click Save.
  4. If the old name is still displayed, completely exit Discord and restart it.

Hover to Display Current Chat Tokens

  1. Open Rich Presence → Art Assets in the Developer Portal.
  2. Upload assets/icon-1024.png from the repository with the key set to dsh.
  3. In the plugin settings Icon & tooltip, set the asset key to dsh.
  4. 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.

羽毛球分组比赛记分
小程序二维码

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

Xiaoye