zhuiyueya/dsh-im-gateway20

dsh-im-gateway

聚合 IM 网关插件(DeepSeek Harness):把 dsh agent 接入 Telegram / Discord / Slack / 飞书 / 微信 / QQ / WhatsApp / Signal / Teams / LINE / Matrix / Mattermost / Google Chat / IRC / Twitch / Nostr / Nextcloud Talk / Synology Chat / Zalo / iMessage 等 20+ 渠道,统一会话路由、审批桥、白名单与引导式配置。

AI 분석

核心用途是将 DSH 强大的 Agent 能力无缝延伸至主流即时通讯软件。适合需要通过微信、飞书等日常聊天工具与 Agent 交互的用户。

패키지
dsh-im-gateway
버전
0.1.0
라이선스
MIT
최근 업데이트
2026. 8. 17.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zhuiyueya/dsh-im-gateway

2. 连接渠道(之后所有操作都在网页里,无需再碰配置)

打开 dsh Web GUI(默认 http://localhost:3080)→ 设置 ⚙️ → 「🐋 IM 网关」

  • 微信 / WhatsApp:点「连接(扫码)」→ 页面直接弹出二维码,手机扫码确认即连 ✅
  • 飞书 / Telegram / QQ 机器人 / Discord / Slack …:点「填写凭据」→ 按提示粘贴 token → 「保存并连接」✅

连接后无需重启,状态实时显示(等待扫码 / 已连接 / 异常)。重启 dsh 后所有已配置渠道自动重连(微信登录态已持久化,无需重复扫码)。

🔧 断开 vs 删除配置:已连接渠道卡片上有两个按钮——「断开」只是临时停用(重启自动恢复);「删除配置」会移除凭据(重启不再连接,需重新配置)。

💡 手动配置方式(可选):在 ~/.dsh/profiles/web/cordis.patch.yml 写配置,凭据也可用环境变量,见下文「配置」。

3. 开始使用

在连接好的聊天软件里给机器人发消息:

/help        ← 可用命令
你好,帮我看看当前工作区    ← 直接聊天 = 驱动 agent

🔔 首次使用需要授权(安全默认):第一次发消息会收到"未授权"提示,同时 dsh 设置 → IM 网关 面板顶部出现 「有用户请求访问」 横幅——点「允许」后即可正常使用,无需手动找用户 ID。

agent 回复实时回推;需要批准时在聊天里回「批准 / 拒绝」;agent 还可以用 im_send_file 把文件(截图/报告)直接发到聊天。

⚙️ 配置

所有配置写在 profile 的 cordis.patch.ymlim-gateway 行;凭据也可用环境变量(见下表)。

通用配置

- id: im-gateway
  config:
    sessionMode: per-chat          # per-chat(默认)| bound
    cwd: /path/to/workspace        # agent 工作目录
    provider: deepseek-official    # LLM provider(默认跟随 dsh)
    model: deepseek-v4-flash       # 模型(默认跟随 dsh)
    allowAllUsers: true            # 默认放行所有用户(开箱即用);管控时改 false
    allowedUserIds:                # 白名单:按渠道(allowAllUsers=false 时生效)
      telegram: ['123456789']
      '*': ['u-common']            # 跨渠道通用
    mergeTimeoutSecs: 5            # 手机多段输入合并窗口
    approvalTimeoutSecs: 120       # 审批超时,超时转回本机批准
    summaryOnTurnEnd: true         # 每轮结束推送 [✅ 完成] 摘要
    stateDir: ''                   # 状态目录(默认 $DSH_HOME/dsh-im-gateway)

渠道凭据速查

渠道配置字段环境变量
telegramtokenDSH_TELEGRAM_TOKEN
discordtokenDSH_DISCORD_TOKEN
slacktoken + appTokenDSH_SLACK_TOKEN / DSH_SLACK_APP_TOKEN
feishuappId + appSecretDSH_FEISHU_APP_ID / DSH_FEISHU_APP_SECRET
qqbotappId + appSecretDSH_QQ_APP_ID / DSH_QQ_APP_SECRET
signalcli + phoneDSH_SIGNAL_CLI / DSH_SIGNAL_PHONE
linechannelToken + channelSecretDSH_LINE_TOKEN / DSH_LINE_SECRET
matrixhomeserver + accessTokenDSH_MATRIX_HOMESERVER / DSH_MATRIX_ACCESS_TOKEN
mattermostserverUrl + tokenDSH_MATTERMOST_URL / DSH_MATTERMOST_TOKEN
ircserver + nick + channelsDSH_IRC_SERVER
twitchbotName + tokenDSH_TWITCH_BOT_NAME / DSH_TWITCH_TOKEN
nostrprivateKey + relaysDSH_NOSTR_PRIVATE_KEY / DSH_NOSTR_RELAYS
nextcloudserverUrl + user + passwordDSH_NEXTCLOUD_URL
synologywebhookUrlDSH_SYNOLOGY_WEBHOOK_URL
zaloaccessTokenDSH_ZALO_TOKEN
imessageenabled + imsgPathDSH_IMSG_PATH
wechatenabled: true— (iLink 扫码)
whatsappenabled: true— (Baileys 扫码)

通用配置

- id: im-gateway
  config:
    sessionMode: per-chat          # per-chat(默认)| bound
    cwd: /path/to/workspace        # agent 工作目录
    provider: deepseek-official    # LLM provider(默认跟随 dsh)
    model: deepseek-v4-flash       # 模型(默认跟随 dsh)
    allowAllUsers: true            # 默认放行所有用户(开箱即用);管控时改 false
    allowedUserIds:                # 白名单:按渠道(allowAllUsers=false 时生效)
      telegram: ['123456789']
      '*': ['u-common']            # 跨渠道通用
    mergeTimeoutSecs: 5            # 手机多段输入合并窗口
    approvalTimeoutSecs: 120       # 审批超时,超时转回本机批准
    summaryOnTurnEnd: true         # 每轮结束推送 [✅ 完成] 摘要
    stateDir: ''                   # 状态目录(默认 $DSH_HOME/dsh-im-gateway)