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