dsh-im-gateway:把 DSH agent 接入微信、飛書等 25+ 聊天平臺

前言

DeepSeek Harness(dsh)把編碼 agent 跑在本機或自託管環境裏,日常交互多在 Web GUI 完成。如果你希望在微信、飛書、Telegram 等已有聊天工具裏直接驅動同一個 agent——發消息、收回復、遠程批准工具調用——通常要爲每個平臺單獨寫 bot、維護會話映射,還要自己處理審批與提問的跨端同步。

dsh-im-gateway 是社區維護的 dsh 聚合 IM 網關插件,把多渠道接入、會話路由、遠程審批和交互式提問收進一個插件裏,通過 dsh 設置頁或命令行安裝後即可配置。

這是什麼

dsh-im-gateway(npm 包名 dsh-im-gateway)由 zhuiyueya 維護,在 SkillHub 插件目錄 歸類爲「聯網工具」。當前版本 0.3.3,MIT 許可證,GitHub 倉庫約 34 stars。

一句話定位:把 dsh agent 接到微信、飛書、釘釘、企業微信、QQ、Telegram、Discord、Slack 等 25+ 聊天渠道,提供統一會話、遠程審批、交互提問和掃碼接入。

核心功能

多渠道接入

插件爲每個 IM 平臺實現 ChannelAdapter,入站消息歸一化後交給網關核心 ImGateway,出站按渠道分片發送。README 渠道表列出的完整支持包括 Telegram、Discord、Slack、飛書/Lark、釘釘、企業微信、微信(騰訊 iLink 掃碼)、QQ 機器人、LINE、Matrix、Mattermost、IRC、Twitch、Signal、Nextcloud Talk、Synology Chat、Zalo、iMessage(macOS)等。WhatsApp、Nostr 需額外安裝對應 SDK;Teams、Google Chat 標註爲實驗性。

接入方式因平臺而異:微信/WhatsApp 支持設備掃碼;飛書、QQ、釘釘、企業微信可掃碼接入機器人或手動填憑據;Telegram、Discord、Slack 等按卡片指引填寫 Bot token。連接狀態在設置頁統一顯示爲已連接 / 未連接 / 連接中 / 異常;重啓 dsh 後已保存配置自動恢復。

IM 命令與會話路由

在已連接的聊天裏,以 / 開頭的消息作爲命令,普通文本則發給 agent。常用命令如下:

命令 說明
/help 查看幫助
/status 查詢當前會話(會話 id、工作區、待批准項)
/new / /clear 開啓全新會話(per-chat 模式)
/workspaces 列出所有工作區
/workspace <路徑> 切換工作區
/sessions [all\|路徑] 列出會話
/continue <會話id> 繼續已有會話(可跨渠道、跨工作區)
/bind <session-id> 綁定本機 live 會話
/channels 查看各渠道連接狀態
/cron list / /cron rm <id> 管理本聊天的定時任務

普通消息結尾加 .. 表示還有後續,!! 立即提交;裸文本在 5 秒窗口內自動合併。長回覆按各渠道上限分片,帶 (i/n) 序號。

遠程審批與交互提問

agent 請求工具批准時,請求會推送到對應 IM 聊天;直接回復「批准」「拒絕」(也支持 yes / no / 同意)即可,應答會校驗聊天與會話歸屬。

當 agent 調用 ask_user_question 時,Web GUI 的問題同步發到該會話綁定的全部 IM 聊天;Web 與 IM 均可回答,第一份有效答案生效。單選可回覆選項編號或完整標籤,多選用逗號分隔,默認回答窗口 600 秒(questionTimeoutSecs 可配)。

聊天級定時提醒

定時任務綁定聊天(chatId)而非會話。在聊天裏說「每天 9 點提醒我喝水」之類自然語言,agent 可創建提醒;支持一次性、每天、按星期重複,狀態落盤,重啓後自動恢復。

訪問控制與文件發送

默認 allowAllUsers: true,開箱即可使用;設爲 false 後可配置渠道白名單,未授權用戶首次發消息會收到提示並在 Web 設置頁出現訪問請求。agent 可通過 im_send_file 將工作區文件發送到聊天;微信支持圖片、語音轉文字、文件、視頻。

安裝與啓用

任選一種方式安裝。官方推薦通過 npm 註冊表安裝:

dsh plugin --profile web add dsh-im-gateway

也可讓 dsh agent 執行安裝提示詞,或從 GitHub 克隆/直裝:

dsh plugin --profile web add https://github.com/zhuiyueya/dsh-im-gateway.git

克隆安裝需先 npm install && npm run build,再 dsh plugin --profile web add <項目絕對路徑>

安裝完成後重啓一次 dsh web,打開 設置 → IM 網關,按平臺指引連接渠道。連接後無需再次重啓。

典型用法

連接好渠道後,在對應聊天軟件裏給機器人發消息即可驅動 agent:

/help
你好,幫我看看當前工作區

查詢狀態、切換工作區示例:

/status
/workspaces
/workspace /path/to/project
/new

需要批准工具調用時,在聊天裏直接回復:

批准

拒絕

適用場景與注意

適合已在用 dsh、又希望從手機或團隊 IM 遠程驅動 agent 的開發者。微信建議用專用 iLink 賬號;WhatsApp 需額外執行 npm i @whiskeysockets/baileys;Signal 依賴本機 signal-cli;iMessage 僅 macOS。

插件以當前 dsh 進程權限運行,可訪問工作區與已配置渠道的憑據。安裝前應閱讀 GitHub 源碼 與 MIT 許可證,確認渠道接入方式符合各平臺服務條款。SkillHub 爲社區獨立目錄,與 DeepSeek / 幻方無官方從屬關係。

開發側:npm test 當前覆蓋 106 個用例;新增渠道需在 src/channels/ 實現 ChannelAdapter 六個方法並註冊。

鏈接

  • SkillHub 目錄頁:https://www.skillhub.cn/plugins/zhuiyueya/dsh-im-gateway
  • GitHub 倉庫:https://github.com/zhuiyueya/dsh-im-gateway

dsh-im-gateway 把多渠道 IM 接入、會話路由、遠程審批和交互提問收斂進一個 dsh 插件,適合需要「在常用聊天軟件裏直接操作 agent」的場景。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜