Introduction to the DeepSeek Harness (DSH) WeChat Channel Plugin

前言

DeepSeek Harness (DSH) 采用插件化架构,旨在为各类智能体提供统一的开发与运行环境。开发者在使用 DSH 开发应用时,往往需要对接多种消息渠道。dsh-weixin 是一款基于腾讯 iLink Bot API 的渠道插件,它允许 DSH 直接通过个人微信收发消息,从而绕过复杂的第三方网关配置。

插件概览

该插件由维护者 5havv 开发,采用 MIT 许可证。它通过 npm 包的形式集成,与腾讯官方的 openclaw-weixin 及 Hermes 的微信适配器同源同协议。插件目前处于 v0.2 / M1–M4 阶段,实现了扫码登录、长轮询以及基本的消息收发能力。

核心功能

基于 iLink Bot API,该插件提供以下核心能力:

  • 消息收发:支持文本、图片、文件、语音和视频的收发。入站媒体会自动下载解密并缓存,图片可直接交给视觉模型,语音会收到腾讯后端下发的转写文本。
  • 独立会话:支持 per-peer 模式,即每个联系人拥有独立的 agent/session,互不干扰。
  • 工具调用:注册了 weixin_send 工具,允许 agent 主动向特定联系人发送消息。
  • 登录方式:支持终端扫码登录,无需公网地址或 WebSocket。
  • 凭证复用:支持从 Hermes 导入同号凭证,避免重复扫码。

安装与启用

插件安装后,DSH 会加载两个独立的 Cordis 插件组件:weixin(负责渠道服务与工具)和 weixin-bridge(负责消息路由与编排)。

官方安装命令

dsh plugin --profile web add @5havv/dsh-weixin

开发期覆盖层(可选)

若需本地调试,可以使用覆盖层模式,但需先构建项目:

npm run build
dsh --profile web --patch ./examples/cordis.dev.yml

典型用法

安装完成后,可以通过 npm scripts 进行基础的连通性测试。

扫码登录

npm run smoke -- login

此命令会生成终端二维码,扫码后保存账号信息。

消息监听与收发

# 监听并打印入站消息(含媒体下载解密)
npm run smoke -- listen

# 向指定账号发送文本
npm run smoke -- send <accountId> <toUserId> 'hello'

# 发送本地文件
npm run smoke -- sendfile <accountId> <toUserId> ./photo.png '看图'

适用场景与注意事项

适用场景

  • 私聊场景:该插件使用个人微信 / iLink bot 身份。多数账号类型无法接收普通微信群消息,仅私聊稳定可用。

系统限制

  • 单实例:同一 token 同时只能有一个消费者在线。本插件使用文件锁机制保证这一点,若两个实例同时启动会报错。
  • 会话刷新:若联系人长期未发消息,context_token 会失效。此时发送消息会自动降级重试,若仍失败需对方先发一条消息激活会话。
  • 运行环境:插件依赖 Node.js 环境,要求版本 >= 22。

安全说明

插件注册的 weixin_send 工具允许模型调用本地文件路径。为防止数据外泄,该路径被限制在 mediaSendRoots 白名单内。默认值为进程工作目录和媒体缓存目录。若微信号可能收到不可信消息,建议将其收窄至专用目录。

总结

dsh-weixin 为 DSH 生态提供了原生的微信连接能力,适合需要在微信环境中运行 DSH 智能体的开发者。通过扫码登录和工具集成,它可以快速搭建起基于微信的自动化服务。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye