🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

多平台 IM 网关 ThreeBody6666/dsh-im-hub

DeepSeek Harnessv0.2.3
ThreeBody666675 天前有提交已提供中文文档扫描:未发现敏感能力需联网notify

把智能体接入飞书、企微和 Telegram 聊天

32.2/100
综合分
3
GitHub 星标
280
npm 周下载
—/5
用户评分

数据截至 2026/8/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-im-hub
npm 源 · dsh-im-hub 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · market
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 75 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-im-hub @ 0.2.3
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/17 19:08:55

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 发起网络请求
    lib/adapters/feishu.js:71
    const res = await fetch(`${OPEN}/open-apis/auth/v3/tenant_access_token/internal`, {
  • 发起网络请求
    lib/adapters/feishu.js:84
    const res = await fetch(`${OPEN}/open-apis/im/v1/messages?receive_id_type=chat_id`, {
  • 发起网络请求
    lib/adapters/feishu.js:155
    const res = await fetch(`${OPEN}/callback/ws/endpoint`, {
  • 发起网络请求
    lib/adapters/telegram.js:48
    const res = await fetch(`${API}/bot${token}/${method}`, {
  • 发起网络请求
    lib/adapters/wecom.js:104
    const res = await fetch(url);
  • 发起网络请求
    lib/adapters/wecom.js:114
    const res = await fetch(`${API}/message/send?access_token=${encodeURIComponent(at)}`, {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

⚠ 该插件运行需访问外部网络 / 远程 API,部署在国内无外网环境时可能无法正常使用。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-loop@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-settings@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 每聊天独立智能体
  • 白名单访问

DeepSeek Harness 的多平台 IM 网关:飞书(Lark)、企业微信(WeCom)和 Telegram。每个聊天一个智能体,白名单访问,无需公网入口(飞书长连接 / Telegram 长轮询)。

v0.2.02026-08-15
· v0.2.0 有哪些新变化 DSH Web GUI 里的可视化设置卡片——在浏览器里就能配置一切,不用编辑 YAML: · ??? 设置里的图形化设置卡片 → Web UI 插件(feishu/lark/wecom/telegram/mock/agent/http,8 组,27 个字段) · ?? 只写凭证字段——token/secret 显示为「已配置 / 未设置」徽标,绝不回显 · ?? 保存即热重载——IM 桥接立刻用新配置重启,不用重启配置档 · ?? 双语(en/zh),每个字段都有说明和安全示例 · v0.1.0(初始版本) · 飞书 / Lark:官方 WebSocket 长连接(protobuf 帧、客户端保活、3s ACK)——不需要公网 URL · 企业微信:AES 加密回调(完整 WXBizMsgCrypt) · Telegram:Bot API 长轮询 · 本地测试用的模拟适配器 · 每个聊天一个智能体会话,白名单访问控制,空闲会话回收 · 命令:/help /reset /status /model · 安装 bash dsh plugin add dsh-im-hub
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-im-hub npm GitHub stars license npm downloads DeepSeek Harness (dsh) 的多平台 IM 网关插件:把 dsh 智能体接入 飞书(Lark)、企业微信(WeCom) 和 Telegram,让你在平时用的聊天软件里直接和智能体对话。 每个会话一个智能体、多轮上下文、白名单访问控制、空闲自动回收。默认无需公网地址(飞书长连接 / Telegram 长轮询;企业微信走 HTTP 回调)。 特性 - 飞书 / Lark — 官方 WebSocket 长连接(/callback/ws/endpoint + protobuf 帧、客户端主动 ping 保活、3 秒事件应答、message_id 幂等去重),或 webhook 模式。默认模式不需要公网地址;国际版 Lark 通过 adapters.lark 配置(open.larksuite.com)。 - 企业微信 — 应用消息回调,完整实现 WXBizMsgCrypt(AES-256-CBC 解密 + SHA1 验签),并通过消息 API 主动回复。 - Telegram — Bot API 长轮询(getUpdates),超长消息自动按 4096 字符分片。 - Mock 适配器 — 无需任何真实平台凭据,通过 stdin + 本地 HTTP 端点即可测试。
展开完整文档(README 剩余 1 节)
dsh-im-hub

npm GitHub stars license npm downloads

DeepSeek Harness (dsh) 的多平台 IM 网关插件:把 dsh 智能体接入 飞书(Lark)、企业微信(WeCom) 和 Telegram,让你在平时用的聊天软件里直接和智能体对话。

每个会话一个智能体、多轮上下文、白名单访问控制、空闲自动回收。默认无需公网地址(飞书长连接 / Telegram 长轮询;企业微信走 HTTP 回调)。

特性

- 飞书 / Lark — 官方 WebSocket 长连接(/callback/ws/endpoint + protobuf 帧、客户端主动 ping 保活、3 秒事件应答、message_id 幂等去重),或 webhook 模式。默认模式不需要公网地址;国际版 Lark 通过 adapters.lark 配置(open.larksuite.com)。
- 企业微信 — 应用消息回调,完整实现 WXBizMsgCrypt(AES-256-CBC 解密 + SHA1 验签),并通过消息 API 主动回复。
- Telegram — Bot API 长轮询(getUpdates),超长消息自动按 4096 字符分片。
- Mock 适配器 — 无需任何真实平台凭据,通过 stdin + 本地 HTTP 端点即可测试。
- 每个聊天一个 agent 会话:保留上下文、同一聊天串行处理(不交错)、空闲超时后自动释放。
- 所有适配器强制白名单(allowedUserIds);留空 = 允许所有人(生产环境请务必配置)。
- 聊天内命令:/help、/reset、/status、/model。

安装

从 npm 安装(推荐):
dsh plugin --profile im add dsh-im-hub

从本地源码安装(开发调试):
dsh plugin --profile im add link:D:/projects/dsh-im-hub

这会创建一个 headless profile im,bundle 为 @deepseek-ai/dsh-base + dsh-im-hub。启动:

dsh --profile im

配置

方式 A — Web GUI 可视化设置卡片(v0.2.0+)

当插件运行在 Web GUI(dsh web profile)中时,设置页会出现可视化配置卡片,位置:设置 → 插件 → 可配置插件 → IM 网关(dsh-im-hub)。卡片直接编辑同一份配置,保存即热生效(无需改 cordis.patch.yml、无需重启)。凭据字段仅存服务端,界面上显示"已配置 / 未设置"徽标,不可回显。

可视化填写指引

每个控件都说明用途,每个空输入框都提供可照填的示例。凭据仍为只写字段:下面的截图仅展示占位示例,不包含真实 Token 或 Secret。

Telegram:Bot Token 与访问白名单

Telegram 配置界面,包含字段名、用途说明和填写示例

飞书:App ID、App Secret 与 Open ID 白名单

飞书配置界面,包含字段名、用途说明和填写示例

企业微信:企业 ID、应用凭据与回调 Token

企业微信配置界面,包含字段名、用途说明和填写示例

方式 B — YAML(cordis.patch.yml)

插件行默认禁用。在 profile 自己的 cordis.patch.yml($DSH_HOME/profiles/im/cordis.patch.yml)中启用:

- id: dsh-im-hub
disabled: false
config:
adapters:
telegram:
enabled: true
token: '123456:ABC-DEF...'
allowedUserIds: [123456789] # Telegram 数字用户 id;留空 = 所有人

完整配置项:

| 键 | 默认值 | 说明 |
| adapters.telegram.enabled | false | 启用 Telegram Bot API 适配器(长轮询)。 |
| adapters.telegram.token | '' | 来自 @BotFather 的 Bot token。 |
| adapters.telegram.allowedUserIds | [] | 允许对话的数字用户 id。 |
| adapters.telegram.timeoutSeconds | 50 | getUpdates 长轮询超时。 |
| adapters.telegram.pollIntervalMs | 500 | 轮询超时/出错后的间隔。 |
| adapters.feishu.enabled | false | 启用飞书适配器。 |
| adapters.feishu.appId / appSecret | '' | 飞书自定义应用凭据。 |
| adapters.feishu.mode | 'websocket' | websocket(官方长连接,无需公网)或 webhook。 |
| adapters.feishu.webhookPath | '/feishu' | webhook 模式的 HTTP 路径。 |
| adapters.feishu.verificationToken | '' | webhook 事件校验 token。 |
| adapters.feishu.allowedUserIds | [] | 允许对话的 open_id。 |
| adapters.lark.enabled | false | 启用 Lark 国际版适配器(与飞书同一开放平台,open.larksuite.com)。 |
| adapters.lark.appId / appSecret | '' | Lark 自定义应用凭据。 |
| adapters.lark.mode | 'websocket' | websocket(官方长连接,无需公网)或 webhook。 |
| adapters.lark.webhookPath | '/lark' | webhook 模式的 HTTP 路径。 |
| adapters.lark.verificationToken | '' | webhook 事件校验 token。 |
| adapters.lark.allowedUserIds | [] | 允许对话的 open_id。 |
| adapters.wecom.enabled | false | 启用企业微信应用消息回调适配器。 |
| adapters.wecom.corpId / corpSecret / agentId | '' | 企业微信应用凭据。 |
| adapters.wecom.token / encodingAesKey | '' | 后台「接收消息」配置的 Token / EncodingAESKey。 |
| adapters.wecom.path | '/wecom' | HTTP 回调路径。 |
| adapters.wecom.allowedUserIds | [] | 允许对话的用户 id。 |
| adapters.mock.enabled | false | 仅测试用适配器(stdin + 本地 HTTP)。 |
| adapters.mock.port | 0 | mock 端点固定端口(0 = 随机)。 |
| agent.cwd | '' | agent 会话工作目录(默认 dsh 进程 cwd)。 |
| agent.provider / agent.model | '' | 覆盖模型选择;留空 = 部署默认。 |
| agent.maxMessageLength | 4000 | 单条外发消息最大字符数(超出自动拆分)。 |
| agent.idleTimeoutMs | 1800000 | 聊天空闲多久后释放 agent(0 = 永不)。 |
| agent.instructionPrefix | '' | 附加到每条用户消息前的前缀。 |
| http.host / http.port | 0.0.0.0 / 8080 | webhook 模式 HTTP 服务绑定地址(飞书 webhook / 企微回调)。 |

飞书 / Lark 前置条件

- 在飞书开放平台(国际版用 Lark Open Platform)创建企业自建应用,订阅 im.message.receive_v1 事件,并开通消息权限(im:message:send_as_bot、im:message:p2p_msg、im:message:group_msg / group_at_msg)。
- 长连接模式仅企业自建应用可用;在开发者后台事件订阅里选择「使用长连接接收事件」,或配置 webhook 请求地址。

企业微信前置条件

- 在企业微信管理后台创建应用,配置「接收消息服务器」:URL 填 https://你的公网地址/wecom,随机 Token 和 43 位 EncodingAESKey 填入配置。
- 企业微信没有长连接模式,回调服务器需要公网 HTTPS 地址(或隧道)。

聊天命令

| 命令 | 作用 |
| /help | 显示命令帮助。 |
| /reset | 清空当前聊天的对话上下文(重建 agent)。 |
| /status | 显示活跃会话 / 智能体 / 适配器。 |
| /model | 显示当前模型选择。 |

工作原理

IM 平台 ──(适配器)──► Bridge ──► ctx.agents.create({ sessionId }) ▲ │ │ └──── 回复文本 ◄───────────┴── session/event 监听 ◄── agent 回合

- 每个 platform:chatId 对应一个 agent 会话(参照 @deepseek-ai/dsh-headless,但按聊天常驻)。
- 入站 IM 消息以 source.kind = 'plugin' / form = 'relay' 注入会话(社区惯例);出站文本通过 session/event(assistant/message,按回合聚合后按 maxMessageLength 分片)读回。
- 同一聊天的回合通过 busy-promise 链串行,消息排队避免交错。
- 空闲 agent 在 agent.idleTimeoutMs 后被释放,下一条消息到来时重建。

安全说明

- 务必配置白名单。 每个启用适配器的 allowedUserIds 都要设置;留空意味着任何人都能驱动你的智能体——而它可以执行主机上的工具。
- IM 消息以插件来源的用户消息注入会话,不绕过部署自身的审批/护栏策略,请视同普通用户输入对待。
- 平台密钥(token、appSecret、encodingAesKey)存放在 profile 的 cordis.patch.yml 中,请保持该文件私密。

开发

node --test test/ # 单元测试(protobuf 帧编解码)
dsh plugin --profile im add link:D:/projects/dsh-im-hub # 从源码安装
dsh --profile im --patch test/disable-skin.overlay.yml # 带 mock 适配器启动
发送消息:curl -X POST http://127.0.0.1:9099/mock -H 'content-type: application/json' -d '{"text":"hi","chatId":"test"}'

提示:如果 dsh-skin 管理器($DSH_HOME/cordis.patch.yml)插入的 UI 皮肤行在你的 headless profile 中无法解析,请用 --patch overlay 禁用它(参考 test/disable-skin.overlay.yml)——home 层优先于 profile 层,overlay 才是可靠的禁用位置。

License

MIT
预览分享卡片长什么样 ↓ThreeBody6666/dsh-im-hub
分享 · DeepSeek Harness Hub
ThreeBody6666/dsh-im-hub

把智能体接入飞书、企微和 Telegram 聊天

这是你的仓库?认领条目

回到顶部