xmanrui/dsh-im · 上手攻略

  • 仓库:xmanrui/dsh-im
  • 链接:https://github.com/xmanrui/dsh-im
  • 分类:AI · IM 集成 / DeepSeek 生态
  • 作者:Tom
  • 更新:2026-10-01

§0 速览

维度 详情
定位 把 IM 机器人接入 DeepSeek Harness 的插件
支持渠道 飞书、微信、钉钉、企业微信、QQ、Slack、Telegram、Discord、WhatsApp、iMessage、Matrix(实验性)共 11 个
接入方式 扫码 / App Manifest / 已有机器人凭据
核心优势 一个插件统一管理多渠道 + Workspace 隔离 + 流式回复 + 文件回传
技术栈 DeepSeek Harness 插件(npm 安装)
许可证 ⚠️ 未在 README 中明确声明许可证

§1 是什么

DSH-IM(DeepSeek Harness IM)是 DeepSeek Harness 的官方插件,通过扫码或机器人凭据将主流 IM 平台接入 DeepSeek Harness,让本机 Harness 主动连接公网 AI Office。

简单理解:它是 DeepSeek Harness 的"IM 机器人网关"——配置好后,飞书/微信/Telegram 等平台的用户发消息,消息经 DSH-IM 传给 Harness,Harness 调用 AI 模型后,回复通过原渠道发回去。全程本机运行,无需服务器。


§2 解决什么问题

当你有 DeepSeek Harness(本地或 Desktop 版)后,想让 AI 模型通过 IM 机器人与用户对话,会面临两个核心问题:

  1. 多渠道各自对接的碎片化:每个 IM 平台(飞书、Telegram…)的 API、鉴权方式、消息格式完全不同,逐个对接成本极高。
  2. 机器人状态隔离:同一个平台(如企业微信)上可能跑多个不同用途的 AI 机器人,它们的 Workspace、模型选择、会话历史需要彼此独立。

DSH-IM 用一个插件 + 一个设置入口统一解决以上两个问题,支持 11 个渠道,且每个机器人的配置彼此独立。


§3 快速安装

前置条件

  • 已安装 DeepSeek Harness(dsh web 或 DSH Desktop)⚠️ 未测试与第三方 Harness 兼容
  • Node.js 环境(飞书/Telegram 代理场景需要 Node.js 22.21+)

安装插件

# 稳定版(推荐)
dsh plugin --profile web add -w @xmanrui/dsh-im

# 尝鲜最新代码(不推荐生产环境使用)
npx -y github:xmanrui/dsh-im install

安装后重启 dsh web,刷新浏览器,打开「设置 → IM机器人」。

⚠️ 注意:旧版升级不会改变已有机器人、凭据、工作区、Agent Preset 或会话绑定,但插件页面入口已迁移,需从「设置 → IM机器人」进入。


§4 核心用法

4.1 各渠道接入配置

飞书

步骤 操作
方式一 扫码创建机器人(会自动申请所需权限)
方式二 手动填入 App ID + App Secret
接收协议 长连接(无需暴露公网地址)
特殊能力 语音交互(开启后语音转文字 + 语音回复);原生流式卡片展示任务过程

⚠️ 坑:应用需要 im:message.group_at_msg.include_bot:readonly 权限才能接收群聊 @ 消息;扫码新建会自动申请,已有应用需要手动点「补全权限」或私聊 /repair。

⚠️ 坑:如果本机需要通过正向代理访问飞书,启动 dsh web 前需设置 HTTPS_PROXY=http://proxy:8080(也支持小写 https_proxy,HTTP_PROXY 作回退);长连接代理需 Node.js 环境变量支持,飞书 SDK 的 HTTP 请求与消息长连接走不同路径代理。

微信

步骤 操作
接入方式 手机微信扫码绑定机器人
接收协议 腾讯 iLink 长轮询

⚠️ 坑:微信对机器人消息限制严格,长回复按 1,800 字符分段发送;文件回传依赖腾讯接口返回值,插件不额外限制。

钉钉

步骤 操作
方式一 扫码创建机器人
方式二 Client ID + Client Secret 手动绑定
接收协议 钉钉 Stream 长连接(HTTP 回调可选)
特殊能力 AI Card 流式展示回答

⚠️ 坑:应用需开通 qyapi_base,机器人需具备文件消息能力;文件大小以钉钉接口返回为准。

企业微信(两个入口)

类型 接入方式 接收协议
企业微信智能机器人 企业微信 App 扫码 WebSocket 长连接(官方渠道)
企业微信自建应用 手动填入企业 ID、AgentId、Secret、Token、EncodingAESKey HTTP 回调

⚠️ 坑:自建应用可配置回调基址、代理地址和企业可信 IP,但这些是企业微信管理后台的概念,配置错误机器人不会响应。详细内容见 企业微信自建应用接入说明。

QQ

步骤 操作
方式一 手机 QQ 扫码创建机器人
方式二 AppID + AppSecret 手动绑定
接收协议 WebSocket 长连接
特殊能力 私聊 Markdown 回复;群聊被 @ 后只发最终答案

⚠️ 坑:文件消息需要 QQ 机器人具备对应能力,且受 QQ 当日文件上传配额限制,额度耗尽时插件会提示。

Slack

步骤 操作
方式 预置 App Manifest 创建 → 填入 Bot Token(xoxb-)+ App Token(xapp-)
接收协议 Socket Mode 长连接

⚠️ 坑:Bot Token 需要 files:read、files:write、reactions:write 权限;App 新增或变更 Scope 后必须重新授权并重新连接机器人。

Telegram

步骤 操作
接入方式 @BotFather 生成 Bot Token → 填入插件
接收协议 Bot API 长轮询
特殊能力 私聊 Rich Message Draft 流式预览;群聊 / Topic 原位占位消息;平台不支持时回退普通文字

⚠️ 坑:如果本机无法直连 Telegram Bot API,需要 Node.js 22.21+,并启用环境变量代理:

NODE_USE_ENV_PROXY=1 \
HTTPS_PROXY=http://proxy:8080 \
HTTP_PROXY=http://proxy:8080 \
NO_PROXY=localhost,127.0.0.1 \
dsh web

⚠️ 代理地址需按本机网络环境填写,修改后重启 Host。

Discord

步骤 操作
接入方式 Discord Developer Portal 生成 Bot Token
接收协议 Gateway v10 长连接

⚠️ 坑:Developer Portal 的 Bot 设置中必须启用 Message Content Intent;机器人需要 Send Messages、Create Public Threads、Send Messages in Threads、Read Message History 权限;发送附件还需要 Attach Files 权限。

WhatsApp

步骤 操作
接入方式 手机 WhatsApp 扫码关联设备
接收协议 WhatsApp Web 长连接(基于 Baileys)

⚠️ 坑:默认仅响应账号自聊(与自己聊天);切换到指定联系人或开放响应模式需手动开启设置。发送"正在输入"和已读回执依赖 WhatsApp/Baileys 实现。

Matrix(实验性)

步骤 操作
接入方式 填写 homeserver 地址 + 访问令牌,或用户 ID + 密码
接收协议 Client-Server API 长轮询

⚠️ 坑:加密目前仅供非敏感测试,仅支持 optional/required 两种模式,密钥备份、交互式设备验证、媒体加密均未实现,且未与真实 homeserver/Element 互通。请勿用于生产敏感场景。

iMessage(仅 macOS)

步骤 操作
接入方式 macOS Messages.app 登录 iMessage,授予本机权限
接收协议 macOS 原生 Messages.app(不依赖 BlueBubbles)

⚠️ 坑:首版仅支持文本私聊;不支持文件、图片、附件回传;每个 macOS 用户账户使用一个本机 iMessage 身份。


4.2 通用配置项

每个机器人独立配置以下内容:

机器人别名        →  仅本地显示名,不影响渠道端
机器人工作区      →  每个机器人独立,默认为 ~/.dsh/im
模型              →  每个机器人可选,优先级:机器人设置 > Host 默认
思考强度          →  取决于所选模型支持档位
Agent Preset      →  每个机器人可选,未选则跟随 Host
上下文增强        →  开启后从机器人会话中提取信息注入 Harness

切换模型后需先发 /new 再发普通消息才会用新模型创建会话。


4.3 消息补发机制

收到"等待模型回复超时"后,插件会自动继续检查原任务,完成后向原聊天补发最终文字。插件重启或连接恢复后也会继续检查。/stop 只停止当前回合。⚠️ 注意:补发不重放工具调用、审批流程。


4.4 文件回传

除 iMessage 外所有内置渠道均支持文件回传(图片优先以原生图片消息发送,被拒绝时回退为文件附件)。⚠️ 各渠道文件大小限制以平台接口返回为准,插件本身不设额外上限。图片自动缩压到单张 5 MB、总计 20 MB 以内(可在「通用设置 → 附件」调整)。


§5 典型适用场景

  1. 企业内部 AI 助手:通过企业微信或钉钉机器人,为团队提供本地 DeepSeek 模型的企业级 AI 问答,支持流式回复和文件上传。
  2. 多平台 AI 客服:一次配置,同时在飞书、微信、Telegram、Discord 等多个平台提供 AI 客服,后端共享同一个 Harness 实例。
  3. 个人 AI 办公流:用飞书/Telegram 机器人对接本地 DeepSeek,实现任务管理、知识库查询等技能,适合不习惯 Web 界面的用户。
  4. AI + iMessage 实验:macOS 用户可将本地 AI 模型接入 iMessage,低成本测试对话效果(仅文本)。

§6 坑与注意

  1. ⚠️ Matrix 加密不等于生产级安全:当前 Matrix 加密是 optional/required 两种模式,密钥备份、交互式设备验证、媒体加密均未实现,请勿用于传输敏感信息。
  2. ⚠️ 微信文件回传依赖腾讯接口:插件不保证微信原生文件消息的发送成功,平台返回失败时不自动降级。
  3. ⚠️ 飞书/Telegram 代理配置繁琐:需要分别在 SDK HTTP 层和 Node.js 长连接层配置代理,缺一不可,且长连接不支持 ALL_PROXY/NO_PROXY。
  4. ⚠️ AI Office Connector 为付费功能:该功能需要 DeepSeek 官方价值 ¥1,000 的 Token 赞助,README 未明确免费额度。
  5. ⚠️ DeepSeek Harness 强依赖:本插件是 Harness 专用插件,无法直接对接 OpenAI Assistant API、Claude 等其他 AI 平台(如后续无社区适配)。
  6. ⚠️ 未声明开源许可证:README 未提及许可证类型,生产使用前需确认法律风险。
  7. ⚠️ 企业微信自建应用配置复杂:需要同时在插件填入企业 ID、AgentId、Secret、Token、EncodingAESKey,配置错误时静默失败,不易排查。

§7 与同类对比

工具 支持 AI 平台 渠道数 许可证 特点
DSH-IM DeepSeek Harness(专用) 11 个 ⚠️ 未声明 Workspace 隔离强,流式回复完整
Botimize 通用意图分析 5 个(Slack/FB/Line/Kik/Telegram) MIT 开源但已停止维护
Wechaty 通用意图接入 6+ 个 Apache-2.0 通用框架,配置复杂度高
QQBot 通用 1 个(QQ) ⚠️ 不明 单一渠道

核心差异:DSH-IM 专为 DeepSeek Harness 设计,与 Harness 的 Workspace/Agent Preset/模型管理深度集成,其他工具无法直接复用这一套配置体系。


§8 一句话结论

如果已有 DeepSeek Harness 且需要在飞书/微信/Telegram 等 IM 平台快速部署 AI 机器人,DSH-IM 是目前支持渠道最广、配置最统一的开源方案;使用前需确认许可证,并注意 Matrix 加密和微信文件回传的局限性。