将微信、QQ、钉钉、飞书和 Telegram 接入 DeepSeek Harness,提供统一配置、私聊与群聊访问范围管理,以及渠道内 Agent 对话和会话指令。
安装
# npm 包(预构建)
dsh plugin --profile web add @wsz987/dsh-channels
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:wsz987/dsh-channels#path:/packages/channels
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
该插件的 README 只有英文版本。
DeepSeek Harness DSH Bundle — built-in messaging channels:
- Weixin / 微信
- QQ Bot
- DingTalk / 钉钉
- Lark / Feishu / 飞书
- Telegram / 电报(Bot API)
Install
npx @deepseek-ai/dsh plugin --profile web add -w @wsz987/dsh-channels@latest
The profile directory is itself a pnpm workspace, so
-w(--workspace-root) is required to add the bundle to the workspace root (otherwise pnpm fails withERR_PNPM_ADDING_TO_ROOT).@latestselects the stable release. Runnpm view @wsz987/dsh-channels dist-tagsto inspect the currentbetaandlatesttargets.
The bundle patch (cordis.patch.yml) references only entrypoints exported by
@wsz987/dsh-channels itself. Those entrypoints delegate to the ChannelService,
the generic attachment compatibility backend, Harness bridge, control plane, Web
settings panel and the five channel adapters through the bundle's own dependency
tree. Every channel can be disabled through its plugin config.
Quick start
# 1. add the bundle to a profile
npx @deepseek-ai/dsh plugin --profile web add -w @wsz987/dsh-channels@latest
# 2. confirm the merged config inserted the channel plugins
npx @deepseek-ai/dsh --profile web --dump-config
# 3. start the profile — all five channels load
npx @deepseek-ai/dsh web
Update and uninstall
# Install or switch package.json to the latest stable release
npx @deepseek-ai/dsh plugin --profile web add -w @wsz987/dsh-channels@latest
# Update within the package.json semver range
npx @deepseek-ai/dsh plugin --profile web update -w @wsz987/dsh-channels
# Remove the bundle; also remove any channels-* overrides from your profile patch
npx @deepseek-ai/dsh plugin --profile web remove -w @wsz987/dsh-channels
Disable a channel you don't use by setting its plugin enabled flag to false
in your profile patch, e.g. plugins.channels-weixin.enabled = false.
See apps/example/minimal-profile/ in the repository for a reference profile.
Verify your install
Use a clean profile to confirm the bundle loads end to end (never reuse a dirty profile for release validation):
# 1. add the bundle to a clean profile (auto-initializes it on first use)
npx @deepseek-ai/dsh plugin --profile release-validation add -w @wsz987/dsh-channels@latest
# 2. dump the merged config — verify the channel plugins were inserted
npx @deepseek-ai/dsh --profile release-validation --dump-config
# 3. start the profile — channels-service / -harness / -control and the five
# adapters (plus channels-web) should all load without error
npx @deepseek-ai/dsh --profile release-validation
Dependencies
The bundle owns every Harness loader entry and its Web client face. Its npm
dependencies provide the implementations behind those entries, so you only
ever install @wsz987/dsh-channels:
| Package | Role |
|---|---|
@wsz987/channel-core |
Cross-channel contract + ChannelService (ctx.channels) |
@wsz987/channel-harness |
Harness bridge (SessionBinding, AgentManager, reply pipeline) |
@wsz987/channel-control |
Config / credentials / auth-session control plane |
@wsz987/channel-files |
Generic attachment compatibility backend (store / extract / read_channel_attachment) |
@wsz987/channel-web |
Web dashboard (Settings > Channels) for GUI setup |
@wsz987/channel-weixin/qq/dingtalk/lark/telegram |
The five channel adapters |
The Web dashboard (@wsz987/channel-web) declares one dynamic client
dependency (@deepseek-ai/dsh-client-locale, provider of the locale
service); React, @deepseek-ai/cordis and the static UI libraries
(-ui-primitives, -ui-slots) are shell-owned identities the Harness web app
compiles in — nothing extra to install for that panel beyond a Harness
version that ships them.
Selecting adapters
The individual adapter packages do not currently carry their own dsh.bundle
profile patches, so installing one with plugin add is not a complete Harness
setup. Install @wsz987/dsh-channels, then disable or override unwanted
channels-* rows in the profile patch. See apps/example/minimal-profile/ for
the complete row shapes.
Architecture
Messaging Platform
│
▼
Upstream Driver
│
▼
Channel Adapter (channel-weixin/qq/dingtalk/lark/telegram)
│
▼
ChannelService (Cordis Service, ctx.channels)
│
▼
Harness Bridge (channel-harness)
│
▼
DeepSeek Harness Agent / Session
- Adapters never touch
ctx.agents. - The Harness bridge is the only place allowed to import Harness public APIs.
- Replies flow from
session/eventback through the bridge to the adapters.
Development
pnpm --filter @wsz987/dsh-channels build
pnpm --filter @wsz987/dsh-channels typecheck
pnpm --filter @wsz987/dsh-channels test
Related
License
链接
同类插件
xmanrui/dsh-im★ 1589
通过二维码或机器人凭据将 IM 机器人接入 DeepSeek Harness(支持飞书、微信、钉钉、企业微信、QQ、Slack、Telegram、Discord 和 WhatsApp 共 9 种渠道)。
shaobeichen/dsh-pocket★ 1505
手机远程访问 DSH Web 界面:扫码即用局域网或公网(cloudflared 隧道)访问,实时同屏、移动端适配布局,带设置页管理。
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 649
通过 WebSocket V2 将 DeepSeek Harness 接入 Avernet Bot 协作网络,支持自动注册、Agent 会话隔离、工具调用事件和多 Bot 路由工具。
omdsh-dev/dsh-notification★ 85
回合完成桌面通知,按结果分控 + 关键词过滤。
omdsh-dev/dsh-lark★ 55
DeepSeek Harness 的飞书/Lark 机器人渠道:每个会话驱动独立 agent,工具审批、模型提问与计划审阅都以卡片回到聊天,点按钮或直接回复即可作答;聊天里用 `/cd`、`/model`、`/new` 切工作区、换模型、重开会话,多个机器人各自独立并可在同群交接回合。
THEWOLFWALKER/dsh-notifier★ 55
DSH 通知与远程操作控制面:一个 `notify()` API 接入 28 个出站渠道,六条入站控制通道承载手机审批、提问与任务控制;提供 DSH 原生「通知与控制」UI、出站热生效、多 agent 路由,并保持零运行时依赖。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。