前言¶
DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。在开发即时通讯(IM)场景的智能体时,让智能体接入企业微信是一个常见需求。dsh-wecom 插件通过 aibot WebSocket 网关,让 DeepSeek Harness 的智能体变成能在企业微信中双向对话的助手。它无需公网地址,也无需自建应用回调,只需智能机器人的 bot_id 和 secret。该插件由 michaelcode-wang 维护,采用 MIT 许可证。
核心功能¶
- 企业微信长连接:建立与
wss://openws.work.weixin.qq.com的 WebSocket 长连接,断线后自动退避重连。 - 独立会话管理:每个聊天窗口对应一个独立的 agent 会话,保留多轮上下文,空闲后自动回收资源。
- 访问控制:通过
allowedUserIds白名单控制谁能驱动智能体。 - 富文本支持:支持 Markdown 回复,超长消息自动分片(默认 4000 字符)。
- 聊天命令:支持
/help、/reset、/status等指令。
前置条件¶
- 企业微信智能机器人:在企业微信后台创建「智能机器人」,获取
bot_id和secret。 - Preset Roster:
improfile 本身不包含 Web 层,默认的agent-presets由dsh-web-app提供。若要让 agent 挂载某个 preset,需在improfile 的配置中手动插入 roster。
安装与启用¶
使用官方安装命令添加插件:
dsh plugin --profile im add dsh-wecom
安装完成后,在 $DSH_HOME/profiles/im/cordis.patch.yml 中进行配置。
配置¶
打开 $DSH_HOME/profiles/im/cordis.patch.yml,按照以下步骤修改:
- 插入 preset roster:由于
improfile 缺少 Web 层,必须手动补全 roster 配置。 - 启用插件:声明插件 ID 并配置连接参数。
# 1) 插入 preset roster
- insert:
- id: agent-presets
name: '@deepseek-ai/dsh-agent-presets'
config:
default: taibai
# 2) 启用本插件
- id: dsh-wecom
disabled: false
config:
botId: '你的机器人ID'
secret: '你的机器人密钥'
allowedUserIds: ['你的企业微信userid']
agent:
preset: taibai
配置完成后,启动 DSH 的 IM profile:
dsh --profile im
建议配合 launchd 或 systemd 将其设为常驻服务。
配置项说明¶
| 键 | 默认值 | 说明 |
|---|---|---|
enabled |
true |
总开关 |
botId |
'' |
企业微信智能机器人 ID |
secret |
'' |
企业微信智能机器人密钥(仅写) |
websocketUrl |
wss://openws.work.weixin.qq.com |
WebSocket 网关地址 |
allowedUserIds |
[] |
允许对话的 userid 白名单;留空表示所有人 |
agent.preset |
taibai |
挂载的 agent preset |
agent.cwd |
'' |
agent 工作目录(默认进程 cwd) |
agent.provider / agent.model |
'' |
模型覆盖;留空使用部署默认 |
agent.maxMessageLength |
4000 |
单条外发消息最大字符数 |
agent.idleTimeoutMs |
1800000 |
聊天空闲多久后释放 agent(0=永不) |
安全注意事项¶
- 白名单是必须的:务必配置
allowedUserIds。如果留空,任何企业微信用户都能驱动你的智能体执行主机工具,存在安全风险。 - 密钥保护:
secret配置项被标记为role('secret'),不会回显到浏览器界面。
适用场景与说明¶
该插件协议移植自 Hermes Agent。使用前请确保环境满足以下条件:
- Node.js 版本 >= 22
- 已安装 DeepSeek Harness 及相关依赖
插件以当前 DSH 进程的权限运行,使用前建议检查源码与许可证。
结语¶
dsh-wecom 提供了一个标准化的方式,将 DeepSeek Harness 的智能能力延伸到企业微信 IM 场景中。通过配置 preset roster 和 allowedUserIds,可以快速搭建一个安全、私有的企业级智能助手。