前言¶
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 / 幻方無官方從屬關係。