baisama-cloud/dsh-omni-bridge

Multi-channel message bridge for DeepSeek Harness (DSH): route WeChat (ClawBot/iLink), QQ, and Feishu (Lark) chat messages to a DSH agent, and relay the agent's replies back to the sender.

catalog descriptioncatalog 简介 / catalog description:DeepSeek Harness(DSH)多通道消息桥:将微信(ClawBot/iLink)、QQ和飞书(Lark)聊天消息路由给DSH代理,并将代理的回复反馈给发送方。

Project Overview项目介绍

dsh-omni-bridge is a native DSH plugin built exclusively for DeepSeek Harness, designed to route messages from WeChat, QQ, and Feishu (Lark) to a local DSH agent and relay the agent's responses back to the original sender. It is distributed as a DSH persistent bundle, which means it will persist across DSH restarts after installation. There are multiple installation methods: npm, local tgz build, or direct install from GitHub via the DSH CLI. Each method requires modifying the profile's package.json to add the bundle to the dsh.profile.bundles array, followed by restarting DSH for changes to take effect. It requires Node.js 22.13.0 or newer, compatible with DSH 0.1.0-rc.8 to 0.2.0.

After installation and restart, you will see a new "Remote Bridge" settings card on the DSH settings page, with separate configuration panels for WeChat, QQ, and Feishu. Each channel supports a sender allowlist, which by default rejects all incoming messages to prevent unauthorized access. Only senders explicitly added to the allowlist or when allowAll is set to true can trigger a response from the DSH agent. Each channel gets its own independent DSH session, and a persistence watermark is used to deduplicate replies, fixing the common issue where only the first reply gets sent.

The Feishu channel relies on the official @larksuiteoapi/node-sdk, which is automatically installed as a dependency when you install the bundle. All configuration credentials are stored in ~/.dsh/omni-bridge-config.json with restricted file permissions (0600 for the file, 0700 for the directory) to keep sensitive data secure. There are some known limitations: Feishu requires replies to be sent within a certain time window after receiving the incoming message. The project is released under the permissive MIT license, so it is free to use, modify, and distribute without cost.

dsh-omni-bridge 是专门为 DeepSeek Harness (DSH) 开发的原生多通道消息桥接插件。它能够将微信(ClawBot/iLink)、QQ 和飞书三个主流即时通讯平台的聊天消息路由到本地 DSH 代理,再把代理生成的回复回传给原消息发送方,实现跨 IM 平台远程操控 DSH 代理。插件以 DSH 持久化 bundle 形式发布,分为 host 收发、client 设置界面和飞书长连接子进程三个功能模块。

用户安装插件后,可在 DSH 的设置页看到「远程桥接」配置卡片,分别对三个通道进行配置,每个通道支持配置发送者白名单,默认拒绝所有入站消息,只有显式放行的用户才能触发 DSH 代理响应。每个通道对应一个独立的 DSH 会话,通过持久化水位实现去重,解决了只有第一条回复能正常返回的问题。这个插件适合需要在 IM 软件中远程调用 DSH 能力的开发者或个人用户。

插件要求 DSH 版本在 0.1.0-rc.8 到 0.2.0 之间,Node.js 版本不低于 22.13.0,飞书通道依赖官方 Node SDK,会在安装时自动安装。配置保存在用户目录下的 ~/.dsh/omni-bridge-config.json,权限设置为 0600 保证凭据安全。飞书被动回复有时效限制,项目采用 MIT 许可证开源,免费供使用修改。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
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 https://github.com/baisama-cloud/dsh-omni-bridge

把 baisama-cloud/dsh-omni-bridge 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-omni-bridge

Multi-channel message bridge for DeepSeek Harness (DSH): route WeChat (ClawBot/iLink), QQ, and Feishu (Lark) chat messages to a DSH agent, and relay the agent's replies back to the sender.

多通道桥接插件:把微信 ClawBot / QQ / 飞书的消息接入 DSH agent,并把回复回传给发消息的人。 远程操控Agent。

Channels

通道 收消息 发消息 凭据
微信 ClawBot iLink 拉模式 (/ilink/bot/getupdates) /ilink/bot/sendmessage(带 client_id + base_info + 回传 context_token) botToken(扫码登录)
QQ 官方网关 WebSocket(长连接) `POST /v2/users groups/{openid}/messages(被动消息带 msg_id`)
飞书 官方 SDK 长连接(@larksuiteoapi/node-sdk,订阅 im.message.receive_v1) tenant_access_token + im/v1/messages appId + appSecret
  • 微信/QQ:无默认 openid —— 谁发消息就回谁;群内 @机器人 就回群里(被动消息)。
  • 飞书:群内默认需 @机器人 才回复(requireMention),私聊始终回复。
  • 每个通道一个独立 DSH 会话(omni-bridge-<channel>),回复去重用 sessionPersistence.readFrom 水位(持久化 seq),解决「只有第一条回复」的问题。

形式说明

当前以 DSH 持久化 bundle 形式提供(host + client 打包进 profile,跨 DSH 重启生效):

  • lib/index.js —— host 半区:三个通道的收发 + 会话桥接 + 定时轮询,通过 webServer 路由对外提供 RPC(/omni-bridge/*)。
  • lib/client.js —— client 半区:设置页(微信/QQ/飞书三张卡片),通过 fetch 调用 host 路由。
  • lib/feishu-ws.cjs —— 飞书长连接子进程(由 host 用 node 拉起)。

安装(bundle)

方式一:从 npm 安装(推荐)

# 在 profile(如 ~/.dsh/profiles/web)目录执行
pnpm add dsh-omni-bridge

然后在 profile 的 package.json 的 dsh.profile.bundles 追加 "dsh-omni-bridge",重启 DSH 生效。

方式二:本地 tgz 安装

  1. npm pack 打包成 tgz(或直接用仓库目录)。
  2. 在 profile(如 ~/.dsh/profiles/web)的 package.json:
    • dsh.profile.bundles 追加 "dsh-omni-bridge";
    • dependencies 追加 "dsh-omni-bridge": "file:<tgz 路径>"。
  3. 在 profile 目录执行 pnpm install(会自动安装 @larksuiteoapi/node-sdk 依赖)。
  4. 重启 DSH(bundle 层在启动时组合,需重启生效)。

方式三:从 DSH 商城 / GitHub 安装

# 在任意一次性或正式 profile 上直接加仓库路径(等价于商城 GitHub 源安装)
dsh plugin --profile <p> add https://github.com/baisama-cloud/dsh-omni-bridge

兼容性

  • DSH 版本范围:>=0.1.0-rc.8 <0.2.0(声明于 package.json 的 dsh.compatibility.dsh)。
  • Node.js:>=22.13.0。
  • 逐版本声明:package.json 的 dsh.compatibility.dshReleases 对每个公开发行版给出 compatible 记录(rc.7/rc.8 为商店仍接受的历史别名,其余为完整 SemVer 键)。

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-cf-sas 下一个 Next nomicore →