@michengai/dsh-im-connect

workflowtested: passnpmApache-2.0 condition deviation

DSH IM Connect — 将主流即时通讯平台接入本机 DeepSeek Harness · Connect major messaging platforms to local DeepSeek Harness agents

📦 体积
56.14 MB · large
🔌 Network
undeclared
✅ Sandbox
pass
🏷️ Versions
100

Who this is for

  • anyone extending DSH capabilities
下载量 / Downloads
0
依赖体积 / node_modules
56.14 MB
测试时间 / Tested
2026-11-06

Install

dsh plugin --profile web add @michengai/dsh-im-connect

Sandbox test results

條件偏離 —— 本結果在 DSHIO/T 21 v0.9 條件下產生(內存 1g、CPU 1.5、T4 超時 60s,未記鏡像 digest)。偏離條款:5.1.3(内存 768MB)、5.1.3(CPU 1 核)、5.1.6(T4 超时 90s)、5.1.2(镜像 digest)。按 DSHIO/T 21 §8.2,該判定不得與標準條件結果比較,不得用作認證依據。
StageResult
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)

![许可证:Apache-2.0](LICENSE)

![npm package](https://www.npmjs.com/package/@michengai/dsh-im-connect)

![npm 下载量](https://www.npmjs.com/package/@michengai/dsh-im-connect)

![DSH Web Plugin](https://github.com/MichengAI/dsh-im-connect)

![Node.js 22 or later](https://nodejs.org/)

![Channels](#-支持的渠道)

</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>&nbsp;

<code>🐦 飞书</code>&nbsp;

<code>🌐 Lark</code>&nbsp;

<code>💬 微信</code>&nbsp;

<code>🏢 企业微信</code>&nbsp;

<code>🐧 QQ</code>&nbsp;

<code>✈️ Telegram</code>&nbsp;

<code>🎮 Discord</code>&nbsp;

<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.

DSHIO/T 10deepseekbase

Markdown(推荐,两个一起)

[![DSHIO/T 10](https://deepseekbase.com/badge/std.svg)](https://dshio.org/10/) [![deepseekbase](https://deepseekbase.com/badge/michengai-dsh-im-connect.svg)](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

GitHub · Homepage · npm

Frequently asked

How do I install @michengai/dsh-im-connect?
Run dsh plugin --profile web add @michengai/dsh-im-connect in DSH, or paste the package name into the DSH Desktop plugin page.
What if it fails to install?
Check your DSH version first (dsh --version), then look at the first error in the test-results section. If it still fails, open an issue on the repository.
How do I uninstall it?
Run dsh plugin --profile web remove @michengai/dsh-im-connect.

Same category

Compare with peers

PluginDownloadsVerdictSize
dsh-image-gen56.2Kpass35.73 MB
@nanmicoder/dsh-agent-teams51.7Kpass3.32 MB
@michengai/dsh-automation37.5Kpass26.32 MB
@morehao/dsh-github-trending11.0Kpass2.39 MB
dsh-speak-up10.9Kpass0.2 MB
@goodandready/dsh-cron8.8Kpass1.69 MB
dsh-openwrite8.1Kinstall_failed—
dsh-novel-forge8.0Kpass1.79 MB