前言¶
DSH(DeepSeek Harness)社区中,“一切皆插件”意味着 agent 可以通过插件接入外部系统。对需要把 agent 输出同步到 Slack,或让 agent 读取 Slack 消息并在线程中回复的开发者来说,通常会遇到几个具体问题:Slack 令牌如何配置、频道如何列举、Socket Mode 消息如何入队、线程回复如何携带 ts。
dsh-slack 是一个 DSH 社区插件,目标是让 agent 与 Slack 双向通信。下面按功能、安装、配置和注意事项介绍这个插件。
这是什么¶
dsh-slack 的定位是:让 agent 与 Slack 双向通信。
仓库标识为 STARDUSTLC666/dsh-slack,许可证为 MIT。它提供四个 Slack 工具:
slack_notifyslack_channelsslack_inboxslack_reply
已核实事实中提到,Socket Mode 用于实现双向通信;不支持 RTM、交互组件(按钮/弹窗/slash command 回复)。该插件在 @deepseek-ai/dsh@0.1.1-rc.2 上验证(2026-08-26)。
核心功能¶
slack_notify:向指定频道或线程发送一条 Markdown 文本消息,并返回消息 ts。这个 ts 可被后续线程回复引用。
slack_channels:列出机器人当前可见的频道,并自动沿 next_cursor 翻页拉全。
slack_inbox:读取通过 Socket Mode 收到的消息。消息保存在进程内存队列中,最多保留 200 条,支持去重和 markRead 原子消费。
slack_reply:以线程回复形式回复某条收件箱消息。
另外,插件会按 token + slackApiUrl 缓存复用 WebClient,配置变更时自动重建。令牌配置支持环境变量回退:
DSH_SLACK_TOKENDSH_SLACK_APP_TOKEN
安装与启用¶
先设置令牌,再安装插件,最后重启 dsh Web 服务。
1、设置环境变量¶
如果希望避免把令牌写死在配置文件中,可以先在启动 dsh 的环境里设置:
export DSH_SLACK_TOKEN=xoxb-你的机器人令牌
export DSH_SLACK_APP_TOKEN=xapp-你的App级令牌
这两个环境变量分别对应 Slack 机器人令牌和 App-Level Token。
2、安装插件¶
使用下面的命令把插件安装到 web profile:
dsh plugin --profile web add dsh-slack
3、重启 dsh Web 服务¶
安装后重启 dsh Web 服务,插件提供的 Slack 工具即可被 agent 调用。
4、用 profile 配置覆盖¶
也可以在 profile 的 cordis.patch.yml 中追加 id: slack 的配置行,覆盖 config.token、config.appToken、config.defaultChannel。示例如下:
- id: slack
config:
token: 'xoxb-你的机器人令牌'
appToken: 'xapp-你的App级令牌'
defaultChannel: '#general'
这里的 defaultChannel 不会替代必填的 channel 参数,它只是作为说明提示写入 channel 参数描述。
典型用法¶
一个常见流程是先配置令牌,再安装插件,然后重启 dsh Web 服务。
export DSH_SLACK_TOKEN=xoxb-你的机器人令牌
export DSH_SLACK_APP_TOKEN=xapp-你的App级令牌
接着安装:
dsh plugin --profile web add dsh-slack
安装后重启 dsh Web 服务。
调用 Slack 工具时,需要注意:
channel为必填参数。defaultChannel只作为说明提示写入channel参数描述,不替代必填的channel。token缺失时,插件仍会加载;调用发消息、列频道或回复工具时,会返回中文报错。appToken缺失时,只产生告警;slack_inbox返回空队列,不影响其它工具。
适用场景与注意¶
适合以下场景:
- agent 需要向指定 Slack 频道或线程发送 Markdown 通知。
- agent 需要列出机器人可见频道。
- agent 需要读取 Socket Mode 收到的 Slack 消息。
- agent 需要按线程回复某条 Slack 消息。
使用前需要注意:
- 插件以当前 dsh 进程权限运行。安装前建议检查源码与许可证。
slack_inbox是进程内存队列,最多保留 200 条;满则丢最旧。- 重启 dsh Web 服务后,内存队列会清空,消息不持久化。
- 不支持 RTM。
- 不支持交互组件,包括按钮、弹窗、slash command 回复。
- 运行时依赖
@slack/web-api和@slack/socket-mode。 - peer 依赖为
@deepseek-ai/cordis和@deepseek-ai/dsh-tools。 - 已核实验证环境为
@deepseek-ai/dsh@0.1.1-rc.2,验证日期为 2026-08-26。
获取¶
dsh-slack 可以查看:
- 目录页:https://www.skillhub.cn/plugins/STARDUSTLC666/dsh-slack
- GitHub:https://github.com/STARDUSTLC666/dsh-slack
它把 Slack 通知、频道列举、消息收件箱和线程回复封装为 DSH 插件能力,适合需要在 agent 工作流中接入 Slack 双向通信的场景。DSH 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。