dsh-wecom-soul-bot:把企業微信智能機器人接進 DSH,配上人設與長期記憶

前言

在企業微信裏做一個能長期值守的機器人,常見做法是自己搭一套服務:處理回調、維護會話、對接模型、自己管記憶。這套邏輯重複且容易出錯,尤其當機器人要放到 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

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

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

小夜