Skip to content

STARDUSTLC666/dsh-slack

41Last commit Aug 15, 2026

dsh-slack DSH plugin

dsh-slack is a DeepSeek Harness community plugin that lets your agent interact with Slack in both directions. It uses Socket Mode for real-time message reception and provides four tools for the agent: slack_notify, slack_channels, slack_inbox, and slack_reply. The plugin caches the WebClient and supports configuration via environment variables or cordis.patch.yml.

How to install the dsh-slack DSH plugin

dsh plugin --profile web add dsh-slack

Copying does not run this command. Review the repository and version before installing the dsh-slack DSH plugin.

dsh-slack DSH plugin data source

dsh-slack DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-slack DSH plugin can do

  • Send Markdown messages to Slack channels or threads via slack_notify
  • List channels visible to the bot using slack_channels with automatic pagination
  • Receive messages through Socket Mode with slack_inbox (memory queue, max 200)
  • Reply to inbox messages in threads using slack_reply
  • Automatic deduplication and atomic drain for slack_inbox
  • WebClient reuse based on token + slackApiUrl, rebuilt on config change

Where the dsh-slack DSH plugin fits

  • Agent sends deployment notifications to a Slack channel
  • Agent listens for user commands in Slack and responds in threads
  • Developer integrates Slack communication into DSH-based workflows
  • Agent monitors Slack channels for specific keywords and triggers actions

Who the dsh-slack DSH plugin is for

  • DSH users who want their agent to participate in Slack conversations
  • Developers building Slack-integrated automation with DeepSeek Harness

dsh-slack DSH plugin limitations

  • slack_inbox is an in-memory queue: cleared on restart, max 200 messages, oldest dropped when full
  • Does not support RTM, interactive components (buttons, modals, slash command responses) in v0.2
  • Requires a Slack App with proper tokens (xoxb- and xapp-) and Socket Mode enabled for bidirectional communication
  • channel parameter is required; defaultChannel only serves as a hint in the parameter description, not a fallback

dsh-slack DSH plugin: from the repository README

Quoted from the STARDUSTLC666/dsh-slack README, the upstream source of the dsh-slack DSH plugin. Copyright remains with the original authors.

> **让 agent 进你的 Slack**:发消息、看频道、收消息、回线程,双向通信。 ![npm version](https://img.shields.io/npm/v/dsh-slack?label=npm&color=blue) ![npm downloads](https://img.shields.io/npm/dm/dsh-slack) ![license](https://img.shields.io/npm/l/dsh-slack) ![stars](https://img.shields.io/github/stars/STARDUSTLC666/dsh-slack?style=social) [![Awesome DSH Plugin](https://awesome-dsh-plugin.com/badge.svg)](https://awesome-dsh-plugin.com) DSH(DeepSeek Harness)社区插件:让 agent 与 Slack 双向通信。 > **v0.2 范围(双向)**:v0.1 只做「agent → Slack」单向通知;v0.2 新增 Socket Mode, > 支持「Slack 消息 → agent」:`slack_inbox` 收取消息、`slack_reply` 线程回复。 > RTM、交互组件(按钮/弹窗/slash command 回复)不在 v0.2,见下方 > [已知限制与路线图](#已知限制与路线图)。 ## 功能 - `slack_notify`:向指定频道(或线程)发送一条 Markdown 文本消息,返回消息 `ts`。 - `slack_channels`:列出机器人当前可见的频道(`conversations.list`,自动沿 `next_cursor` 翻页拉全)。 - `slack_inbox`:读取通过 Socket Mode 收到的消息(内存队列,最多保留 200 条;自动去重,`markRead=true` 原子消费)。 - `slack_reply`:以线程回复形式回复某条收件箱消息(`chat.postMessage` 带 `thread_ts`)。 - WebClient 按 `token + slackApiUrl` 缓存复用,配置变更时自动重建。 - 配置走 `cordis.patch.yml`,令牌支持环境变量回退(`DSH_SLACK_TOKEN` / `DSH_SLACK_APP_TOKEN`)。 ### v0.2.3 优化 - `slack_channels` 自动分页:频道很多时不再只返回第一页。 - `slack_inbox` 去重 + `drain` 原子消费:Slack 重投的事件不会重复入队,`ma

Read the full READMEThe repository declares no license. Check with the authors before using it.

dsh-slack DSH plugin questions

How do I install dsh-slack?

Run `dsh plugin --profile web add dsh-slack` in your terminal. Then restart your DSH web service. The plugin will be loaded and the four tools will be available to the model.

What tokens do I need to set up for dsh-slack?

You need a Bot User OAuth Token (xoxb-) for sending messages and listing channels. To enable bidirectional communication (receiving messages), you also need an App-Level Token (xapp-) with Socket Mode enabled. Set them via environment variables DSH_SLACK_TOKEN and DSH_SLACK_APP_TOKEN, or in cordis.patch.yml.

Can I use dsh-slack without enabling Socket Mode?

Yes, you can use it in one-way mode (agent->Slack). Without an appToken, the plugin will still work for slack_notify and slack_channels, but slack_inbox will return an empty queue (with a Chinese prompt) and slack_reply won't be usable.

Why does my slack_inbox return empty even after I sent a message?

Make sure you have enabled Socket Mode in your Slack App settings, added the bot to the channel, and subscribed to bot events like `message.channels` and `message.im`. Also verify that your App-Level Token (xapp-) is correctly configured. The inbox is in-memory, so any messages received before the plugin started won't be available.

How do I invite the bot to a private channel?

Use `/invite @your-bot-name` in the private channel. The bot must be a member of the channel to send messages or receive events from it.