@michengai/dsh-im-connect
DSH IM Connect — 将主流即时通讯平台接入本机 DeepSeek Harness · Connect major messaging platforms to local DeepSeek Harness agents
Who this is for
- anyone extending DSH capabilities
Install
dsh plugin --profile web add @michengai/dsh-im-connect
Sandbox test results
| Stage | Result |
|---|---|
| T0 static check | — |
| T1 install | ✓ |
| T2 list | ✓ |
| T3 mount | — |
| T4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
<p align="center">
<img src="assets/branding/dsh-banner.png" alt="DSH IM Connect" width="100%">
</p>
<div align="center">
DSH IM Connect
把飞书、Lark、钉钉、企业微信、微信、QQ、Telegram、Discord、Slack 接到本机 DeepSeek Harness
[English](README.en.md) · [更新日志](CHANGELOG.zh-CN.md) · [QQ 引用交接](docs/01-当前工作/I022-QQ直接引用接入/00-迭代总览.md) · [侧栏协作交接](docs/07-迭代归档/2026/I024-侧栏页签协作与渲染修复/00-迭代总览.md) · [Apache-2.0](LICENSE)






</div>
DSH IM Connect 是社区维护的 DeepSeek Harness(DSH)插件,并非 DeepSeek AI 官方产品。
功能概览
不在电脑前,也能通过常用聊天软件把任务交给本机 DSH,并在同一聊天里接收回复、回答问题和处理工具审批。
- 连接常用消息平台:支持钉钉、飞书、Lark、微信、企业微信、QQ、Telegram、Discord 和 Slack。
- 多个账号分别配置:同一平台可添加多个账号,各自选择工作区、模型、推理强度、权限、私聊准入和发送方式。
- 手机上完成任务交互:下任务、读回复、回答单选或多选问题;已批准用户可在私聊中批准或拒绝工具执行。
- 聊天记录互不混淆:每个 IM 聊天对应独立会话,在网页工作区「频道」中回看。
- 按平台扫码或填写凭据:## 界面预览
在「设置 → IM助理」连接账号,管理消息接收开关。
- 控制谁能使用:群聊通过 @ 触发,私聊按账号的准入设置处理,详见下表。
谁可以驱动助手
入站消息先看发送者,再处理命令、工具审批和注入。
场景 · 行为
群聊未 @ 当前机器人 · 忽略,不回复、不进待批准;只 @ 其他成员也不触发
群聊已准确 @ 当前机器人 · 不用绑定,任何人都可以下任务
私聊 · 扫码用户 · 微信 / 飞书 / Lark / QQ 扫码者自动进白名单,可直接对话
私聊 · 其他人 · 进入设置页待批准;不批准就不能驱动助手
私聊 · 扫码不返回身份 · 钉钉 / 企微的快捷绑定只返回机器人凭据,扫码者仍需在设置页批准
私聊 · 手动凭据 · Telegram、Discord、Slack,以及手动填写凭据的钉钉 / 企微 / QQ,所有私聊都要先批准
私聊缺少 userId · 拒绝
工具审批 · 在绑定该会话的聊天里回复「批准 / 拒绝」;群聊和私聊都可以,不用去网页。5 分钟内未回复按取消结束,期间其他文字不会进入下一轮
交互选择 · 在原 IM 会话回复选项序号或文字;多选用逗号分隔,也可补充自定义答案;群聊只接受任务发起者回答
微信是扫码渠道且只支持私聊,所以连上后用同一个微信号即可直接用。换一个微信号私聊,会出现在设置页待批准。
📡 支持的渠道
<p align="center">
<code>🔔 钉钉</code>
<code>🐦 飞书</code>
<code>🌐 Lark</code>
<code>💬 微信</code>
<code>🏢 企业微信</code>
<code>🐧 QQ</code>
<code>✈️ Telegram</code>
<code>🎮 Discord</code>
<code>🧩 Slack</code>
</p>
渠道 · 状态 · 接入方式 · 需要
🔔 钉钉 · ✅ 可用 · 扫码,或 Client ID / Secret · 钉钉开放平台机器人;回复优先走 AI Card
🐦 飞书 · ✅ 可用 · 扫码(自动创建机器人),或 App ID / App Secret · 飞书账号,或自建机器人凭据
🌐 Lark · ✅ 可用 · 扫码,或 App ID / App Secret · Lark 国际版账号,或自建机器人凭据
💬 微信 · ✅ 可用* · 官方 iLink 扫码 · 建议专用小号;仅私聊
🏢 企业微信 · ✅ 可用 · 扫码(推荐),或 Bot ID / Secret · 企业微信智能机器人
🐧 QQ · ✅ 可用 · 扫码,或 AppID / AppSecret · QQ 开放平台机器人,不是个人号
✈️ Telegram · ✅ 可用 · 仅填 Bot Token · @BotFather;同一 Bot 不要同时开 Webhook
🎮 Discord · ✅ 可用 · 仅填 Bot Token · Developer Portal 的官方 Bot。打开 Message Content Intent;文字频道和公告频道第一次 @ 后在 Thread 中继续,不必重复 @
🧩 Slack · ✅ 可用 · 填 Bot Token 与 App Token · api.slack.com 建应用并开启 Socket Mode。私聊直接回复,频道被 @ 后在该消息的线程里回复,线程内后续消息不必重复 @
✅ 可用 = 文字收发可用 | *微信 = 只走腾讯官方 iLink,不做逆向个人号 | 群聊都需要 @ 机器人才回复。Discord 仅文字频道和公告频道在 Bot 自己创建的 Thread 中免重复 @;Slack 在机器人已参与的消息线程中免重复 @
图片输入
图片输入使用与 DSH Chat 一致的模型能力和附件规则,不按模型名称猜测视觉能力:
覆盖微信、企业微信、钉钉、飞书、Lark、QQ、Telegram、Discord 和 Slack;具体平台消息形式和联调检查见[图片输入验收](docs/image-input.md)。
- 以当前 IM 会话实际使用的模型为准,而不是只看全局默认模型。
- 模型声明支持
image时,将图片保存为 DSH 标准图片附件并提交给模型;会话记录保留图片引用,而不是只有本地文件路径文字。 - 模型明确不支持图片时,在 IM 提示切换模型,不静默丢图。模型未提供能力元数据时,遵循 Chat 的兼容规则,不仅因元数据缺失而拒绝。
- 图片仍受渠道下载限制、宿主附件大小与格式限制,以及原有私聊准入和群聊 @ 规则约束。
- 此功能是用户向机器人发送图片进行分析,不代表所有渠道都支持机器人发送图片或生成图片。
文件输入
微信、企业微信、钉钉、飞书、Lark、QQ、Telegram、Discord、Slack 可接收普通文件,并通过 Chat 的上传服务交给当前会话。可以发送 PDF、文档、表格等文件,再让助手读取或处理;能否解析具体格式与网页 Chat 的模型、工具和文件能力一致,不承诺每种格式都能直接理解。
- 需要支持的宿主(
>=0.2.0-rc.1 <0.3.0-0)所提供的文件上传服务。早期版本与0.3.0代际破坏性更新由版本门拦截。仍在使用0.1.x的,请安装插件0.1.78,不要装@latest。 - 单条消息最多 4 个普通文件,累计最多 20 MiB,还受渠道下载限制约束。
- 文件先保存为 Chat 标准附件,通过当前会话专属的凭据提交;不把本地路径文字当作文件输入。
- 保留私聊准入与群聊提及规则;文件说明中的
/new或“批准”属于普通内容,不执行命令或审批。 - 上传失败不提交部分正文,停用或重载账号后不继续向旧会话提交。支持回复后的文件产物回传。
文件回传
微信、企业微信、钉钉、飞书、Lark、QQ、Telegram、Discord 和 Slack 均可回传助手产出的文件。例如:“整理成 PDF 报告,并把文件发给我。”
- 遵循 DSH 宿主交付契约:当助手通过
tool-present(deliverables/presented)显式声明交付时,对应文件将作为附件发到聊天中;底层的普通工具写操作(如修改代码、记录状态文件)不会被自动当作产物发送,防止群聊噪音与隐私泄露。 - 文件访问范围与 Chat 一致,允许宿主可读取的工作区外文件。不从回复正文中猜测文件路径;通过脚本等方式生成的文件,由助手明确
present交付。 - 已支持的宿主使用 Chat 完整文件下载服务及其配置的大小上限。目录和符号链接不发送,渠道自身的文件限制仍然适用。
- 单个文件发送失败会明确提示文件名,并继续处理其他文件;切走会话或停止账号后,不会把尚未投递的文件转发到其他聊天。
- 单独发送
/export,可将当前聊天绑定会话的 Chat ZIP 日志发回当前聊天(不含子会话)。ZIP 上限为 32 MiB,渠道自身限制仍适用;超限或发送失败时可在网页 Chat 使用/export下载。不接受路径或其他会话 ID 参数。
操作菜单
有效点击后,支持更新的原卡片移除按钮,提示已选择;实际执行结果见后续回复。企业微信仅能在按钮回调窗口更新,过期卡片仍由服务端拒绝。/status 根据实际状态提供停止任务、暂停或恢复目标、查看队列等操作。
支持原生按钮的渠道发送 /sessions、/workspaces、/models 即可直接选择,无需再进入菜单。分页后,回复序号或 /session 序号、/workspace 序号、/model 序号 对应当前选择页;文字渠道仍使用原列表序号。
发送 /menu 或 /m,可选择会话、工作区、模型和 Agent 预设,以及新建、停止、导出和查看状态。列表支持分页;点击按钮或回复当前菜单序号即可操作,普通文字退出菜单。
菜单提供上一页、下一页和返回入口;企业微信按卡片容量分页,主菜单也可通过 /menu 2 翻页。会话、工作区和模型选择分别可直接发送 /menu sessions、/menu workspaces、/menu models;预设与推理可用 /menu presets、/menu reasoning。
常用命令回复会提供相关下一步,例如 /model → 选择模型 / 调整推理 → 返回菜单。支持原生按钮时可点击跳转,其他情况显示可直接发送的命令。普通结果回复的导航按钮不支持数字选择,避免把聊天中的数字误当操作;只有选择菜单支持回复序号。超长卡片保留完整文字回复。
钉钉、Telegram、Discord、Slack、飞书/Lark 使用原生按钮;企业微信在按钮数量和正文符合平台限制时使用卡片,其他情况及 QQ、微信使用文字序号。平台明确拒绝或超出卡片容量时退回完整文字;网络异常导致发送结果未知时仅提示确认,避免重复发送。菜单按账号、聊天、操作者和会话隔离,15 分钟或重启后失效;执行时重新检查权限,旧按钮不能重复执行。
审批与问答复用上述原生按钮渠道:审批提供批准一次/拒绝,单选题直接点选,多选题勾选后提交;开放问题保留文字回答。审批始终留在发起任务的聊天里,不会回退到网页端;提示发送失败时按拒绝处理。5 分钟内没有批准或拒绝就按取消结束,并说明这次未执行;这段时间里的其他文字只提示先完成审批,不会送进下一轮。图片和文件仍按原消息提交,不当成审批答复。群聊里只接受任务发起者批准,私聊没有额外限制,关闭命令不影响已有审批及问答。问题不设这个超时,下一句文字仍作为答案。
Agent 预设:/presets(别名 /presetlist)查看目录,/preset 查看当前预设,/preset 序号或ID 使用预设在当前工作区新建并切换会话,旧会话保留。纯数字 ID 使用 `/preset
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Embed the badge
Two badges, each using its own site's identity: left is the **standard** (published by DSHIO), right is the **testing organization** (deepseekbase, which ran the inspection). Each links to the standard text and the test report.
Markdown(推荐,两个一起)
[](https://dshio.org/10/) [](https://deepseekbase.com/zh/plugins/michengai-dsh-im-connect/)
Note: this is not a certification. DSHIO/T 32 is not in effect.
Versions
Published on npm::100,最后更新 2026-11-06
Links
Frequently asked
dsh plugin --profile web add @michengai/dsh-im-connect in DSH, or paste the package name into the DSH Desktop plugin page.dsh --version), then look at the first error in the test-results section. If it still fails, open an issue on the repository.dsh plugin --profile web remove @michengai/dsh-im-connect.Same category
Compare with peers
| Plugin | Downloads | Verdict | Size |
|---|---|---|---|
| dsh-image-gen | 56.2K | pass | 35.73 MB |
| @nanmicoder/dsh-agent-teams | 51.7K | pass | 3.32 MB |
| @michengai/dsh-automation | 37.5K | pass | 26.32 MB |
| @morehao/dsh-github-trending | 11.0K | pass | 2.39 MB |
| dsh-speak-up | 10.9K | pass | 0.2 MB |
| @goodandready/dsh-cron | 8.8K | pass | 1.69 MB |
| dsh-openwrite | 8.1K | install_failed | — |
| dsh-novel-forge | 8.0K | pass | 1.79 MB |