前言¶
在企业微信里做一个能长期值守的机器人,常见做法是自己搭一套服务:处理回调、维护会话、对接模型、自己管记忆。这套逻辑重复且容易出错,尤其当机器人要放到 DSH 里跑、并复用宿主的工作区能力和审批机制时,重新实现一套接入层并不划算。
dsh-wecom-soul-bot 把这件事收敛成一个 DSH 插件:用企业微信官方长连接(Bot ID + Secret,不需要公网回调)把智能机器人接入 DSH,再叠加人设、发送者身份、三层长期记忆、提醒和主动消息。下面介绍这个插件的定位、能力、安装和使用方式。
这是什么¶
dsh-wecom-soul-bot 是一个 DeepSeek Harness 插件,由 FlashPoint007 维护,分类为「工作流」,在社区目录页上的星标数为 0。它解决的问题是:让一个企业微信群里的机器人,在 DSH 中以长连接方式接入,并稳定地记住它该记住的内容。
插件描述里点明了三条主线:私聊直接对话,群里被 @ 时回复,以及在这套对话之上加人设、身份标签与长期记忆。
核心功能¶
长连接接入。 使用官方 @wecom/aibot-node-sdk 的 WebSocket 长连接,不需要公网回调。用户分组、授权、会话管理、工具审批都在插件页完成。
人设。 插件只把人设注入机器人绑定的会话,DSH 里的其他会话不受影响。默认人设是「大肥鱼」,插件页可改。
发送者身份。 插件在每条消息前写入一行 【对话环境】,标明私聊或群聊、发送者 userid、是否主人。消息里伪造的同名标签会被替换,避免用文本骗过身份判断。
三层长期记忆。
- 工作记忆即会话上下文。
- 核心记忆不衰减,每轮注入,只有主人能写。
- 情景记忆按遗忘曲线衰减,半衰期可调;重要度和每次回忆都会延长它的寿命,并按话题与清晰度挑选注入。淡忘后仍可用
wecom_memory_recall找回。
共享记忆只能在主人私聊时写入;内容里疑似密钥的条目一律拒绝。
工作模式(默认关闭)。 只有整轮消息都来自主人时才放行 skill 与工具,由 DSH 的 tools.guard 在工具层拦截。工作规则要求先加载 skill、先出计划、确认后执行、执行后回读验证。
提醒。 通过 wecom_reminder_set / wecom_reminder_list / wecom_reminder_cancel 设置、列出、取消提醒,到点用人设口吻发回原会话。插件停机期间到期的提醒在恢复后补发,超过 12 小时作废。
主动搭话(默认关闭)。 本地掷骰决定是否发起,只发主人私聊,带安静时段、每日上限和冷却;模型回复 [SKIP] 时不发送。
运行中自动插话(默认关闭)。 任务运行时,主人的纯文字并入当前回合(等同 /steer),其他消息照常排队。
命令。 /stop /steer /clear /model /history,以及 /new /sessions /use /compact /delete /approve 等。
可靠投递。 发送明确失败时最多重试 3 次,结果不确定时不重试;聊天模式下插件停机期间完成的回复,在重启后补发一次。
图片输入。 图片与图文混排消息交给模型,最多 4 张,每张不超过 5 MiB。
宿主服务。 ctx.provide('wecomSoulBot') 提供 send(只限已授权会话)、listTargets、describeConversation;会话绑定变化时发出 wecom-soul-bot/session-unbind 与 wecom-soul-bot/session-bind 事件。
安装与启用¶
官方给出的安装命令是发布包地址,不是直接按仓库名拼接:
dsh plugin --profile desktop add https://github.com/FlashPoint007/dsh-wecom-soul-bot/releases/latest/download/dsh-wecom-soul-bot.tgz
--profile 按你实际使用的 profile 填写:桌面版一般是 desktop,网页版是 web。装完重启 DSH。
如果需要从源码安装,仓库不提交 dist/,必须先构建再添加:
git clone https://github.com/FlashPoint007/dsh-wecom-soul-bot.git
cd dsh-wecom-soul-bot
pnpm install
pnpm run build
dsh plugin --profile desktop add <仓库绝对路径>
仓库要求的 Node 版本是 >=22,包管理器为 pnpm@11.22.0,许可证为 MIT。
典型用法¶
依据 README,启用分三步。
1. 连接。 在插件页「连接」里填写企业微信管理后台 → 智能机器人 → API 模式中的 Bot ID 和 Secret。Secret 会存入 DSH 凭据库(键名 WECOM_SOUL_BOT_SECRET),不写配置文件。
2. 授权。 给机器人发一条消息(群里 @ 它),对方会出现在「待授权」里,把它加入分组。
3. 人设与记忆。 在插件页「人设与记忆」里填写主人 userid(留空则沿用管理员列表)。README 特别提示:企业微信下发的可能是加密 userid,以插件日志里的发送者 id 为准。然后按需开启工作模式、提醒、主动搭话、自动插话。
开发相关的命令:
pnpm install
pnpm run verify # build + typecheck + 全部测试
适用场景与注意¶
适合已经在用 DSH、想把企业微信里的机器人交给 DSH 来跑,并希望机器人保留人设和长期记忆的开发者或团队。插件以当前 DSH 进程的权限运行,安装前建议先检查源码与许可证。
有两点需要留意。
1. 群聊的每条消息都会驱动你本机的 DSH Agent。 README 建议群聊分组保持「仅可查看」权限;工具审批只推送给管理员私聊。
2. 人设和工作规则是提示词,不是隔离。 真正生效的边界是工作区权限、DSH 审批和工作模式的工具拦截,不要把人设当作安全边界来依赖。
需要明确身份的场景,请以插件写入的 【对话环境】 为准,不要信任消息正文中出现的同名标签。
结语¶
这个插件的价值在于把企业微信长连接、身份标注、三层记忆和提醒这些零散能力打包成一个 DSH 插件,减少自建接入层的重复工作。它的能力集中在机器人绑定的会话上,不污染 DSH 里的其他会话;需要更强控制时,工作模式和工具审批仍然由 DSH 侧决定。
目录页:https://www.skillhub.cn/plugins/FlashPoint007/dsh-wecom-soul-bot
GitHub:https://github.com/FlashPoint007/dsh-wecom-soul-bot