Passer au contenu principal
5

dsh-messaging

534119219/dsh-messaging

Passerelle de messagerie unifiée pour DeepSeek Harness : 27 plateformes de messagerie (Telegram, QQ, WeChat, Discord, WhatsApp, Feishu et plus) dans un seul plugin, avec autorisation par scan QR, espaces de travail par plateforme, commandes slash et boîte de dialogue de configuration web.

Installer

dsh plugin --profile web add github:534119219/dsh-messaging

README

DSH Messaging(hermes-agent 消息平台移植)

将 hermes-agent 的消息平台体系移植为 DSH 插件,整合为单一插件 messaging-core:27 个消息渠道的适配器全部内聚在插件内部,一个插件完成注册、会话映射、出站路由、授权、命令与配置界面。

功能特性

  • 27 个消息平台:Telegram、Discord、Slack、IRC、ntfy、Email、Matrix、Home Assistant、Signal、WhatsApp、飞书/Lark、Mattermost、QQ、LINE、SMS、WhatsApp Cloud、企业微信、Teams、钉钉、Google Chat、通用 Webhook、A2A、微信个人号(iLink)、BlueBubbles iMessage、OpenAI 兼容 API Server、腾讯元宝、SimpleX
  • 统一会话体系:每个聊天映射到独立的 DSH 会话(msg-<平台>-<hash>[-vN]),支持 /new、/resume(按标题切换历史会话)、/title、/status、/stop、/compress
  • 每平台独立工作区:$DSH_HOME/messaging/workspace/<平台>/,注册进 host 工作区注册表,侧栏按平台分组
  • 出站流式路由:订阅 session/event,按平台能力渲染(HTML/纯文本/原生 Markdown),支持流式编辑与 typing 指示
  • 授权白名单:每平台 allowedUsers / allowAll
  • 配置界面:侧栏「消息平台」入口(与「新建会话」同款按钮),hermes 式两栏弹窗(左侧平台列表,右侧配置表单),配置走 /messaging/config 端点持久化
  • 共享 Webhook 监听器:webhook 型平台共用 HTTP listener(默认 127.0.0.1:8765)

截图

侧栏消息平台入口
侧栏消息平台入口
消息平台配置弹窗
消息平台配置弹窗

安装(web profile)

在 profile 的 package.json 中添加依赖,并将 messaging-core 加入 dsh.profile.bundles:

{
  "dependencies": {
    "messaging-core": "file:<本仓库路径>/packages/messaging-core"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "...",
        "messaging-core"
      ]
    }
  }
}

然后 pnpm install 并重启 dsh web。源码更新后运行 deploy.ps1 同步到 profile 的 node_modules(file: 依赖是拷贝安装,不是软链),再手动重启 dsh web 生效。

使用

  • 侧栏「消息平台」按钮 → 弹窗中选择平台 → 填写配置保存
  • 平台连接后,向机器人发消息即可对话;/status 查看会话与模型状态,/title 标题 设置会话标题,/resume 列出/切换历史会话,/compress 手动压缩上下文

结构

packages/messaging-core/
  lib/
    index.js          # 插件入口:messaging 服务 + 27 个平台注册 + 命令系统
    config.js         # 平台目录(弹窗/端点/向导共用的单一事实源)
    agents.js         # agent 生命周期(创建/恢复/单飞/工作区挂载)
    session-map.js    # 聊天↔会话映射(JSONL 持久化 + 历史记录)
    outbound.js       # session/event → 平台适配器 路由
    markdown.js       # 按平台能力渲染(html/plain)
    workspaces.js     # 每平台独立工作区
    tools.js          # send_message / messaging_status 工具
    http.js           # 共享 webhook listener
    client.js         # 侧栏入口 + 配置弹窗(web 客户端 bundle)
    platforms/        # 27 个平台适配器模块(telegram.js、qq.js、discord.js …)

配置

配置存储在 $DSH_HOME/settings.yaml,命名空间 messaging-<平台>(如 messaging-qq、messaging-telegram),与弹窗、CLI 向导(messaging-setup.mjs)、/messaging/config 端点共用同一 schema 目录(config.js)。

平台适配器说明

平台接入方式
TelegramgrammY 长轮询,流式编辑/typing/媒体
DiscordGateway intents,流式编辑/typing
QQ官方 Bot API v2 WS 网关(C2C + 群 @),REST 发送,原生 Markdown(需开通原生 MD 权限,失败自动回退纯文本)
微信个人号iLink Bot API 长轮询,QR 配对向导 weixin-pair.mjs
WhatsAppBaileys 多设备协议,QR 配对
飞书/Lark官方 SDK + WS 长连接事件订阅
SlackSocket Mode + chat.update 流式编辑
Matrixsync 循环 + m.replace 流式编辑
钉钉Stream 模式官方 SDK
TeamsBot Framework webhook + continueConversation
其余见各模块文件头注释

开发与验证

  • node messaging-setup.mjs:CLI 配置向导(list / 交互式 / 旧参数兼容)
  • node verify-live.mjs:检查运行中的 dsh web 是否为最新构建(/messaging/status、/messaging/config、客户端 bundle)
  • deploy.ps1:将 packages/messaging-core 同步到 %USERPROFILE%\.dsh\profiles\web\node_modules\messaging-core

鸣谢

协议与交互语义参考 NousResearch/hermes-agent(MIT License, Copyright (c) 2025 Nous Research),衍生部分的归属声明见 NOTICE。

Plugins associés