跳到正文

STARDUSTLC666/dsh-slack

41最近提交 2026年8月15日

dsh-slack DSH 插件

dsh-slack 是 DeepSeek Harness 的社区插件,让 agent 能双向操作 Slack。它通过 Socket Mode 实时接收消息,提供四个工具:slack_notify、slack_channels、slack_inbox 和 slack_reply。插件会缓存 WebClient,支持通过环境变量或 cordis.patch.yml 配置。

如何安装 dsh-slack DSH 插件

dsh plugin --profile web add dsh-slack

复制不会执行命令。安装 dsh-slack DSH 插件前请核对仓库和版本。

dsh-slack DSH 插件数据来源

dsh-slack DSH 插件快照日期:2026年8月16日

discovered

dsh-slack DSH 插件能做什么

  • 通过 slack_notify 向 Slack 频道或线程发送 Markdown 消息
  • 使用 slack_channels 列出机器人可见的频道(自动分页)
  • 通过 slack_inbox 接收 Socket Mode 消息(内存队列,最多 200 条)
  • 使用 slack_reply 以线程回复方式回复收件箱消息
  • 自动去重和原子消费 slack_inbox 消息
  • 根据 token 和 slackApiUrl 复用 WebClient,配置变更时自动重建

dsh-slack DSH 插件适合哪些场景

  • agent 在 Slack 频道中发送部署通知
  • agent 监听 Slack 中的用户命令并在线程中回复
  • 开发者将 Slack 通信集成到基于 DSH 的工作流中
  • agent 监控 Slack 频道中的特定关键词并触发操作

dsh-slack DSH 插件适合谁

  • 希望 agent 参与 Slack 对话的 DSH 用户
  • 使用 DeepSeek Harness 构建 Slack 集成自动化功能的开发者

dsh-slack DSH 插件的限制

  • slack_inbox 是进程内存队列:重启后清空,最多保留 200 条,满则丢弃最旧消息
  • v0.2 不支持 RTM、交互组件(按钮、弹窗、slash command 回复)
  • 需要自行创建 Slack App 并配置令牌(xoxb- 和 xapp-),且需开启 Socket Mode 才能实现双向通信
  • channel 参数为必填,defaultChannel 仅作为参数说明中的提示,不替代必填参数

dsh-slack DSH 插件的仓库 README 摘录

以下文字摘自 dsh-slack DSH 插件的上游仓库 STARDUSTLC666/dsh-slack 的 README,版权归原作者,仅作引用。

> **让 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

阅读完整 README仓库未声明许可,使用前请先与作者确认。

dsh-slack DSH 插件常见问题

如何安装 dsh-slack 插件?

在终端中执行 `dsh plugin --profile web add dsh-slack`,然后重启你的 DSH Web 服务。插件加载后,模型即可使用四个工具。

配置 dsh-slack 需要哪些令牌?

需要 Bot User OAuth Token(xoxb-)用于发送消息和列频道。若要实现双向通信(接收消息),还需 App-Level Token(xapp-)并开启 Socket Mode。可以通过环境变量 DSH_SLACK_TOKEN 和 DSH_SLACK_APP_TOKEN 设置,或在 cordis.patch.yml 中配置。

不开启 Socket Mode 能使用 dsh-slack 吗?

可以,单向模式(agent→Slack)可正常使用。没有 appToken 时,插件仍能调用 slack_notify 和 slack_channels,但 slack_inbox 会返回空队列(含中文提示),slack_reply 也无法使用。

为什么我发送了消息但 slack_inbox 返回为空?

请确认已在 Slack App 设置中开启 Socket Mode,将机器人加入频道,并订阅了 bot events(如 message.channels 和 message.im)。同时检查 App-Level Token(xapp-)是否正确配置。注意收件箱是内存队列,插件启动前收到的消息不会保留。

如何将机器人邀请到私有频道?

在私有频道中使用 `/invite @你的机器人名字` 即可。机器人必须是频道的成员才能发送消息或接收事件。