Plugin directory / Developer / dsh-im-connect
dsh-im-connect
Unverified MichengAI
What it does
DSH IM Connect 基于 DeepSeek Harness 的IM链接插件,无缝链接微信、企业微信、钉钉、QQ、飞书等
Unverified — not yet verified
DSH IM Connect 基于 DeepSeek Harness 的IM链接插件,无缝链接微信、企业微信、钉钉、QQ、飞书等 Not yet verified — install and test it yourself.
“Unverified” means our automated CI has not yet installed this plugin. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
DSH IM Connect 是社区维护的 DeepSeek Harness(DSH)插件,并非 DeepSeek AI 官方产品。
功能概览
- 在「设置 → IM助理」里连接钉钉、飞书、Lark、微信、企业微信、QQ、Telegram。
- 每个 IM 聊天对应一条独立 DSH 会话,出现在工作区「频道」,不会混进网页「任务」。
- 手机里直接下任务、看回复、批准工具;模型和权限跟随本机 DSH。
- 支持扫码绑定或手动填凭据;敏感字段写入 DSH
ctx.credentials,不会进channels.json。 - 可把一句话复制到 DSH、Codex 或 WorkBuddy,让对方代装到本机 DSH。
- 群聊不用绑定,@ 即可对话;私聊中,平台能返回身份的扫码用户自动放行,其他人要在设置页批准。
- 扫码成功后配置弹窗自动关闭,设置页保持打开。
谁可以驱动助手
入站消息先看发送者,再处理命令、工具审批和注入。
| 场景 | 行为 |
|---|---|
| 群聊未 @ 当前机器人 | 忽略,不回复、不进待批准;只 @ 其他成员也不触发 |
| 群聊已准确 @ 当前机器人 | 不用绑定,任何人都可以下任务 |
| 私聊 · 扫码用户 | 微信 / 飞书 / Lark / QQ 扫码者自动进白名单,可直接对话 |
| 私聊 · 其他人 | 进入设置页待批准;不批准就不能驱动助手 |
| 私聊 · 扫码不返回身份 | 钉钉 / 企微的快捷绑定只返回机器人凭据,扫码者仍需在设置页批准 |
| 私聊 · 手动凭据 | Telegram,以及手动填写凭据的钉钉 / 企微 / QQ,所有私聊都要先批准 |
| 私聊缺少 userId | 拒绝 |
| 工具审批 | 仅白名单用户在私聊回复「批准 / 拒绝」有效;群聊里回不算 |
微信是扫码渠道且只支持私聊,所以连上后用同一个微信号即可直接用。换一个微信号私聊,会出现在设置页待批准。
📡 支持的渠道
🔔 钉钉
🐦 飞书
🌐 Lark
💬 微信
🏢 企业微信
🐧 QQ
✈️ Telegram
| 渠道 | 状态 | 接入方式 | 需要 |
|---|---|---|---|
| 🔔 钉钉 | ✅ 可用 | 扫码,或 Client ID / Secret | 钉钉开放平台机器人;回复优先走 AI Card |
| 🐦 飞书 | ✅ 可用 | 仅扫码,自动创建机器人 | 飞书账号 |
| 🌐 Lark | ✅ 可用 | 仅扫码 | Lark 国际版账号 |
| 💬 微信 | ✅ 可用* | 官方 iLink 扫码 | 建议专用小号;仅私聊 |
| 🏢 企业微信 | ✅ 可用 | 扫码(推荐),或 Bot ID / Secret | 企业微信智能机器人 |
| ✅ 可用 | 扫码,或 AppID / AppSecret | QQ 开放平台机器人,不是个人号 | |
| ✈️ Telegram | ✅ 可用 | 仅填 Bot Token | @BotFather;同一 Bot 不要同时开 Webhook |
✅ 可用 = 文字收发可用 | *微信 = 只走腾讯官方 iLink,不做逆向个人号 | 群聊都需要 @ 机器人才回复
界面预览
在「设置 → IM助理」连接渠道。未连接显示「配置」,已连接显示开关和状态:

工作区左侧「任务 / 频道」分列。IM 会话只出现在「频道」:

企业微信等渠道支持扫码快捷绑定:

连上后,可在各 IM 里直接驱动本机助手:
DSH 产品生态
本产品既可以独立安装,也可以随桌面端或 Web 套件一起使用。它们共享同一个 DSH 核心,但面向不同的使用方式:
| 产品 | 与本产品的关系 |
|---|---|
| DeepSeek Harness | 本产品的运行宿主,提供模型、会话、工具和插件系统 |
| DSH Codex Desktop | 下载安装即用的桌面产品,已内置本产品和其他 5 个功能产品 |
| DSH Codex Suite | 面向已有 DSH Web 环境的一键套件,会安装本产品和其他 5 个功能产品 |
| 6 个功能产品 | Codex UI · IM Connect · Automation · Skills Manager · Archive Manager · Agency Agents |
前置条件
- 已可正常运行 DeepSeek Harness Web,且可在 PowerShell 中使用
dsh。 - 以下示例使用
webprofile;请替换为实际目标 profile。 - 从源码安装或二次开发需要 Node.js 22+;仅从 npm 安装无需在任意目录执行
npm install。 - 安装后必须重启
dsh web,并在浏览器硬刷新,才能看到「设置 → IM助理」。
安装
dsh plugin add 会转发到 profile 目录里的 pnpm add。不写版本、不指定官方源时,本机镜像和最短发布间隔可能让你停在旧版。
交给其他 Agent 一句话安装
本插件运行在 DeepSeek Harness Web 里。把下面其中一句复制到 DSH、Codex 或 WorkBuddy,让它代你安装到本机 web profile。
从 npm 安装:
请把 DSH 插件 @michengai/dsh-im-connect 最新版装进本机 web profile,使用官方 npm 源执行:dsh plugin --profile web add @michengai/dsh-im-connect@latest --registry=https://registry.npmjs.org/。装完执行 dsh --profile web --dump-config,确认已挂载 im-connect,并提醒我重启 DSH Web 后硬刷新浏览器,打开「设置 → IM助理」。
从源码安装:
请从 https://github.com/MichengAI/dsh-im-connect 安装 DSH 插件:克隆仓库,执行 npm install 和 npm test,再在该目录执行 dsh plugin --profile web add .。不要只复制 lib。然后执行 dsh --profile web --dump-config,确认已挂载 im-connect,并提醒我重启 DSH Web 后硬刷新浏览器,打开「设置 → IM助理」。
| 产品 | 怎么用 |
|---|---|
| DSH | 把上面其中一句发给当前会话。 |
| Codex | 把上面其中一句发给 Codex,让它在本机执行安装。 |
| WorkBuddy | 把上面其中一句发给 WorkBuddy;源码安装也可同时粘贴仓库地址 https://github.com/MichengAI/dsh-im-connect。 |
Codex 和 WorkBuddy 只负责代装;装好后仍要打开 DSH Web 使用「设置 → IM助理」。
也可以自己执行同一条 npm 命令:
dsh plugin --profile web add @michengai/dsh-im-connect@latest --registry=https://registry.npmjs.org/
未把 dsh 装进 PATH 时,把开头的 dsh 换成 npx --yes @deepseek-ai/dsh。
从官方 npm 安装最新版
在任意 PowerShell 目录执行:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
dsh plugin --profile web add @michengai/dsh-im-connect@latest --registry=https://registry.npmjs.org/
dsh --profile web --dump-config
需要钉死某一版时,把 @latest 换成具体版本,例如 @0.1.1。
配置输出中应包含 im-connect。安装后重启 DSH Web 并在浏览器硬刷新。不要手工复制客户端文件,dsh plugin add 会同时应用 cordis.patch.yml。
从源码安装
适用于调试或使用未发布改动。克隆后的本地路径就是插件安装路径:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
Set-Location D:\Repository\deepseek-harness-plugin
git clone https://github.com/MichengAI/dsh-im-connect.git
Set-Location .\dsh-im-connect
npm install
npm test
dsh plugin --profile web add .
dsh --profile web --dump-config
完成后重启 DSH Web 并硬刷新浏览器。dsh plugin ... add . 会读取当前目录的包信息和 cordis.patch.yml;不要改为直接复制 lib 目录。
使用
打开「设置 → IM助理」,先选工作区、权限和模型,再连接渠道。详细步骤见 使用说明。
| 目标 | 操作 | 说明 |
|---|---|---|
| 连接渠道 | 未连接卡片点「配置」,扫码或填写凭据 | 飞书 / Lark / 微信仅扫码;Telegram 仅填 Bot Token;成功后配置弹窗自动关闭 |
| 暂停接收 | 关闭已连接卡片上的开关 | 凭据保留,只是暂时不收消息 |
| 在 IM 里下任务 | 微信 / 飞书 / Lark / QQ 扫码用户可直接私聊;钉钉 / 企微扫码者和其他用户需先批准。群聊只需 @ | 每个聊天对应一条独立频道会话 |
| 分段输入 | 结尾加 .. 表示还有后续,!! 表示立即提交 |
默认约 5 秒合并窗口 |
| 新开会话 | 发送 /new 或 /clear |
只影响当前 IM 聊天,不影响网页任务 |
| 查看状态 / 帮助 | 发送 /status 或 /help |
只作用于当前频道会话 |
| 批准陌生人私聊 | 打开「设置 → IM助理」,在待批准列表点「批准」或「拒绝」 | 只影响私聊准入,不影响群聊 |
| 批准工具 | 在私聊回复「批准」或「拒绝」 | 也接受 yes / no / allow / reject;群聊无效 |
| 在网页里回看 | 打开工作区「频道」页签 | IM 会话不会出现在「任务」里 |
钉钉回复优先走官方 AI Card 流式卡片;创建失败则回退普通文本。Telegram 同一 Bot 不要同时开 Webhook。
权限与安全边界
| 项 | 当前行为 |
|---|---|
| 用户准入 | 群聊不用绑定,只需 @。私聊默认拒绝:微信 / 飞书 / Lark / QQ 扫码者自动放行;钉钉 / 企微扫码不返回用户身份,仍需设置页批准 |
| 管理接口 | 强制校验本机回环来源及 Host(localhost / 127.0.0.1 / [::1]);写接口要求 JSON 和插件客户端请求头 |
| 敏感字段 | 包括微信 token 在内均优先写入 DSH ctx.credentials;没有该服务时落到 %DSH_HOME%\dsh-im-connect\secrets.json(明文,仅限当前用户,禁止同步或分享) |
| 渠道状态 | channels.json 只保存启用状态和凭据引用,不保存明文 Secret |
| 浏览器回包 | 不返回 token、secret、App Secret 或内部异常详情 |
| 微信协议 | 只走腾讯官方 iLink,不使用逆向个人微信协议 |
| 工具批准 | 仅私聊且发送者已在白名单时生效,不能跨会话、也不能在群里批准 |
不要把 DSH Web 暴露到非本机地址。权限预设与 Chat 使用相同的 Host sandbox-policy;danger-full-access 不套沙箱。
二次开发
本仓库用 src 开发,构建到 lib:
- src\index.ts:Host 入口、配置和生命周期。
- src\manager.ts:渠道启停、本机 API、凭据落盘。
- src\engine:会话路由、斜杠命令、审批、分片和回推。
- src\channels:钉钉、飞书、Lark、微信、企业微信、QQ、Telegram 适配器。
client.js:设置页和工作区频道侧栏。tests\*.test.mjs:路由、扫码、凭据、QQ、投递和侧栏测试。
修改后运行测试并以本地目录安装验证:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
npm test
dsh plugin --profile web add .
修改渠道或会话逻辑时,必须保持:引擎不写死平台名、渠道不创建 agent、网页任务与 IM 频道分列。
验证
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
npm test
prepublishOnly 会在发布前自动执行测试。
项目文档与许可证
项目状态、使用边界、技术架构和迭代记录从文档交接入口开始。详细操作说明见 使用说明。默认安全姿态见 SECURITY.md。
本项目采用 Apache License 2.0。
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-im-connect for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:MichengAI/dsh-im-connect Headless (CLI) profile:
dsh plugin --profile headless add github:MichengAI/dsh-im-connect Test report
Not yet L3-verified — see failure note below if we already ran it.