jelech/dsh-im-gateway

DeepSeek Harness的IM网关:将即时通讯工具桥接到harness代理会话中,并通过斜杠命令进行控制。

Project Overview项目介绍

This is a native DeepSeek Harness (DSH) plugin that acts as an instant messaging gateway, bridging external messenger apps into DSH agent sessions and letting users control agents via slash commands. It currently supports WeChat integration through Tencent’s official iLink Bot transport, the same transport used by OpenClaw’s @tencent-weixin/openclaw-weixin package. It follows DSH’s Cordis plugin convention, splitting functionality into a host gateway process and an optional browser settings client. No public endpoint or ngrok is required for this integration; users just scan a QR code to log in, and every WeChat contact gets its own isolated DSH agent session with persistent memory.

Because the plugin includes a dsh.bundle declaration, you can install it directly with the official dsh plugin command, no manual configuration edits required. It supports three installation sources: GitHub, the public npm registry, and a local checkout of the source code. After installation completes, you just need to restart DSH for the changes to take effect. To log in, you can either scan the QR code from the browser’s “Settings → IM Gateway” section or scan the QR printed to the host console. Once logged in, any text message you send to the bot will be answered by your DSH agent, and messages starting with / are treated as commands.

Currently the plugin only supports text messages, and media messages (images, voice, files) will require additional work to handle the iLink CDN AES-128-ECB encryption path. iOS requires WeChat version 8.0.70 or newer, and Android users may need to update WeChat before they can use the integration. The login QR code is generated locally on the host via the qrcode npm package, so no third-party QR service is needed. If your deployment enforces HTTP authentication above the route layer, you can add it manually in lib/http.js. This plugin is released under the open-source MIT license, and the roadmap includes adding more commands like retry, undo, stop, and skill invocation in future updates.

这是一个专为DeepSeek Harness(DSH)开发的原生插件,作用是桥接第三方即时通讯软件到DSH代理会话,支持用户通过斜杠命令控制代理运行。目前支持微信接入,使用腾讯官方iLink Bot通道,不需要公网端点或ngrok,扫码登录即可使用,每个联系人对应独立的DSH代理会话,会话隔离且保留完整对话记忆。

插件遵循DSH的打包约定,自带dsh.bundle声明,可通过官方dsh plugin命令直接安装,无需手动修改配置文件。安装后只需要重启DSH即可生效,支持从GitHub、npm公共仓库或本地检出目录三种方式安装,适配DSH的web profile配置,适合需要在微信中随时调用DSH代理处理任务的用户。

目前插件仅支持文本消息收发,媒体消息处理需要后续适配iLink CDN的AES-128-ECB加密路径,不影响核心网关功能。iOS设备需要微信版本不低于8.0.70,Android设备可能需要先更新微信才能使用,登录二维码在本地生成,无需第三方服务,项目采用MIT许可开源。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 3 stars - very few users, little community feedback星标只有 3,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add dsh-im-gateway

把 jelech/dsh-im-gateway 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-im-gateway

An IM gateway for the DeepSeek Harness: bridge messengers into harness agent sessions and control them with slash commands.

  • WeChat via Tencent's official iLink Bot transport (the same one OpenClaw's @tencent-weixin/openclaw-weixin uses) — QR login, long-poll, no public endpoint/ngrok required.
  • Slash commands modeled on Hermes Agent's messaging interface: /new, /sessions, /status, /model, …
  • One agent session per peer: every IM contact gets its own harness agent (same model, tools, workspace), so conversations have memory and stay isolated.

Architecture

IM (WeChat iLink)
      │  QR login + long-poll (native fetch)
      ▼
dsh-im-gateway (host plugin, one per process)
   ├── channel registry        lib/channels/wechat-ilink.js   ← transport adapters
   ├── peer → session map      lib/gateway.js                 ← agent lifecycle
   ├── slash commands          lib/commands.js
   └── HTTP bridge             lib/http.js                    ← browser panel
      │
      ▼
harness agents service → agent session → model/tools/workspace

Two halves, per the harness convention:

  • Host (index.js, lib/): the gateway. Runs once per process because the channel token and peer→session map must be shared, not per-session.
  • Client (client.js): an optional browser "IM 网关" settings section (QR login, status, test). Discovered automatically via the package's dsh.client declaration.

Commands

Command Action
/help List commands
/new (or /reset) Archive the current session and start a fresh one
/sessions List current + archived sessions for this peer
/status Show connection, model, and current session
/model [provider:model] Show current model, or switch (provider:model) into a new session

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-telegram 下一个 Next dsh-file-uploads →