The plugin-based architecture of DeepSeek Harness (DSH) allows developers to extend functionality according to their needs. For scenarios that require interaction through collaboration platforms, dsh-messaging-gateway provides a direct integration solution.
Core Purpose¶
This is a messaging Gateway plugin. It follows the principle of “one DSH Host, one Gateway.” Developers must create and configure their own Slack and Feishu applications. The plugin handles message routing, session management, and local state storage. All tokens are stored locally only and are never uploaded to third-party servers.
Installation¶
Before installing, ensure that the DeepSeek Harness version is >= 0.2.0-rc.1 (0.2.0-rc.2 is recommended), and that the environment satisfies Node.js ^22.19.0 || >=24.0.0.
Official Desktop App¶
- Open Settings.
- Go to Plugins.
- Click Add Plugin.
- Enter the following in “Package Name or URL”:
dsh-messaging-gateway@0.2.3
- Restart the Host after installation is complete.
Web CLI¶
Use the official CLI command to install. This command only writes to the web profile:
dsh plugin --profile web add dsh-messaging-gateway@0.2.3
If dsh is not in PATH, use:
npx @deepseek-ai/dsh plugin --profile web add dsh-messaging-gateway@0.2.3
Configuration and Connection¶
After installing and restarting the Host, go to Settings → Messages.
Slack Integration¶
- On the Messages page, click Copy Manifest, then visit the Slack API to create and install an app.
- Fill in the configuration:
- Bot Token: starts withxoxb-.
- App-level Token: has theconnections:writepermission and starts withxapp-.
- Member ID: your own user ID. - Save the configuration and send a direct message to the Bot. It only responds when @-mentioned in a channel.
- Note: The Slack Slash Menu usually takes about 5 minutes to appear.
Feishu Integration¶
- Create an enterprise self-developed app on the Feishu Open Platform and enable the bot capability.
- Permissions: Publish a new version to make them take effect, including
application:app_slash_command:write,application:app_slash_command:read,im:message.p2p_msg:readonly,im:message.group_at_msg:readonly, andim:message:send_as_bot. - Event Subscriptions: Select long-lived connection and subscribe to Receive Message v2.0.
- Fill in the configuration:
- App ID: starts withcli_.
- App Secret.
- Member ID: your ownou_.... - Save the configuration and send a direct message to the bot.
Usage and Commands¶
Session Management¶
In the chat, you can use the following commands:
/new: Start a new session./reset: Reset the current session./compact: Compact the context./help: View help documentation./model: Switch models.
Directory and State¶
The default working directories are:
- $DSH_HOME/messaging-gateway/workspaces/slack
- $DSH_HOME/messaging-gateway/workspaces/feishu
The state file is saved at $DSH_HOME/messaging-gateway/state.json.
Configure Model¶
In Settings → Messages → Slack / Feishu, you can configure the model and reasoning effort for each platform. These settings are used for the first direct message and for the /new and /reset commands.
Technical Details¶
Duplicate Prevention Mechanism¶
When the Gateway starts, it atomically leases $DSH_HOME/messaging-gateway/instance.lock. If another Host process in the same Home directory has already acquired the lock, the current Gateway remains inactive. After fixing duplicate Hosts, only the remaining process continues working.
Local Security¶
The plugin depends on @slack/bolt and @larksuiteoapi/node-sdk. All authentication information is processed only in local memory and does not go through the official shared bot.
License¶
MIT License.