dsh-messaging
by andiven
DeepSeek Harness 的多平台消息插件
Multi-platform messaging plugin for DeepSeek Harness.
安装
dsh plugin --profile web add github:andiven/dsh-messagingGitHub 源码安装:首次需按提示配置 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 ↗
同类插件
查看全部 →
dsh
将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。

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

dsh-open-in-vscode
从 Web GUI 一键在 VS Code 中打开工作区目录。

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

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)。密钥脱敏、工具限流、零运行时依赖。

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