dsh-messaging

by andiven

0 通知与集成github收录于 08-23

DeepSeek Harness 的多平台消息插件

Multi-platform messaging plugin for DeepSeek Harness.

安装

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

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

English | 中文

DeepSeek Harness 的多平台消息插件。一套接口,多个 IM 平台(飞书/Telegram/微信/Discord),不支持的功能自动降级提示。

特性

  • 🌉 MessagePlatform 抽象层 — 所有 IM 平台统一接口
  • 🔌 插件式架构 — 每个平台是一个独立适配器,即插即用
  • ⚡ 能力降级 — 平台不支持的功能自动触发中英双语提示
  • 📝 Markdown 自动转换 — 飞书不渲染 Markdown,自动转纯文本
  • 🔒 经过实战验证 — 消息去重、按会话串行处理、Token 自动刷新(源自 Hermes Agent 3 个月生产经验)

支持的平台

平台 文本 Markdown 图片 语音 视频 文件 卡片 表情回应 话题 输入中 推送
飞书 ✅ ❌ 🔨 🔨 🔨 🔨 ✅ ✅ ✅ ❌ ✅
Telegram ✅ ✅ ✅ ✅ ✅ ✅ ❌ ✅ ✅ ✅ ✅
Discord ✅ ✅ ✅ ✅ ✅ ✅ ❌ ✅ ✅ ✅ ✅
企业微信 ✅ ❌ ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ✅

❌ = 平台不支持 → 自动降级并提示用户 🔨 = 平台支持但本插件尚未实现 🚧 = 计划在未来版本支持

快速开始

# 安装到你的 DSH profile
dsh plugin --profile web add github:andiven/dsh-messaging
# cordis.patch.yml
- id: messaging
  name: '@dsh-messaging/messaging'
  config:
    platform: feishu
    feishu:
      appId: env:FEISHU_APP_ID
      appSecret: env:FEISHU_APP_SECRET
      mode: websocket
    autoConnect: true

前置条件

飞书: 在 open.feishu.cn 创建企业自建应用,开通 im:message 和 im:message:send_as_bot 权限,事件订阅选「长连接」模式并订阅 im.message.receive_v1,然后发布版本。

Telegram: 通过 @BotFather 创建机器人,获取 Bot Token。

Discord: 在 Discord 开发者平台 创建应用并添加 Bot,开启 Message Content 特权 Intent,用 bot scope 及「发送消息」「读取消息历史」权限邀请进服务器,获取 Bot Token。

企业微信: 在企业微信管理后台创建自建应用,记录企业 ID(Corp ID)、应用 Secret 和 AgentId。接收消息需要在后台注册指向本插件回调服务器的 HTTP 回调 URL(Corp ID、Token、EncodingAESKey);不配置 wecom.callback 则仅支持主动推送(不接收消息)。

工作原理

用户在飞书/Telegram 发送消息
  ↓
适配器接收事件 → 归一化为 InboundMessage
  ↓
DshBridge 调用 agent.followup(text)
  ↓
DSH Agent 处理(LLM + 工具调用)
  ↓
session/event: assistant/chunk → 缓冲到 turn/end
  ↓
DshBridge 通过 platform.sendMessage() 发送完整回复
  ↓
能力自动检查:飞书自动把 Markdown 转纯文本等

核心设计

  • CapabilitySet — 每个平台声明 12 项能力,Agent 可以在行动前查询平台支持什么
  • 自动降级 — 不支持的功能触发中英双语提示,用户能看懂
  • 流式缓冲 — Agent 回复攒成完整消息再发(不是逐 token 发送,避免触发限流)
  • 重试退避 — 指数退避 + 抖动,遵循 Telegram retry_after / 飞书限流码
  • 按会话串行 — 同一会话的消息排队处理,保证回复顺序
  • 消息去重 — 飞书重复事件自动过滤(TTL + 数量上限)

已知限制

  • 飞书媒体发送(图片/语音/视频/文件)尚未实现(能力声明已诚实标为 false)
  • Telegram/企业微信卡片消息降级为格式化文本;Discord 卡片降级为 embed
  • Discord Gateway 断线重连尽力支持 resume(遇到不可恢复的 close code 时会退回全新 Identify)
  • 企业微信接收消息依赖 HTTP 回调(需在管理后台注册);官方专有的 AI Bot WebSocket 网关是另一个需申请权限的产品,本插件未实现
  • 暂无重连状态保持(重启可能丢失排队中的消息)
  • 暂无测试套件
  • 每个实例只支持一个平台(配置中选择一个)

开发

git clone https://github.com/andiven/dsh-messaging.git
cd dsh-messaging
npm install
npm run build

许可证

MIT

原始 README: https://github.com/andiven/dsh-messaging/blob/main/README.zh.md ↗

同类插件

查看全部 →
通知与集成alvinunreal

dsh

将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。

查看详情
1081github+08-21
通知与集成tencent-connect

dsh-qqbot

让 QQ Bot 接入 DeepSeek Harness(dsh)的官方插件

查看详情
55github+08-17
通知与集成omdsh-dev

dsh-open-in-vscode

从 Web GUI 一键在 VS Code 中打开工作区目录。

查看详情
39github+08-13
通知与集成omdsh-dev

dsh-notification

回合完成桌面通知,按结果分控 + 关键词过滤。

查看详情
38github+08-13
通知与集成THEWOLFWALKER

dsh-notifier

DSH 统一通知推送与远程控制:一个 `notify()` API 打通 25+ 渠道(Telegram / 钉钉 / 飞书 / 企业微信 / QQ 机器人 / WxPusher / PushPlus / Server 酱 / Bark / Discord / Slack / ntfy / webhook 等),timeSensitive / active / passive 分级路由并重试;五通道反向审批(Telegram 按钮 / 飞书卡片 / QQ / WxPusher / 微信 iLink);QQ/钉钉/飞书官方扫码登录;本地 Web 管理台;多 agent 路由;系统桌面通知——以及**手机指挥中心**:在手机上发 `!status` / `!stop` / `!retry` 遥控 agent,通知带可操作按钮(查看结果 / 重试 / 日志,点击回调 agent)。密钥脱敏、工具限流、零运行时依赖。

查看详情
27github+08-16
通知与集成wzj998

chatccc

飞书(Lark)或微信(WeChat)聊天控制 DeepSeek Harness / Claude Code / Cursor / Codex / CCC Agent

查看详情
22github+08-23