dsh-chatnode-wechat:從微信操作 DSH 智能體

前言

DSH(DeepSeek Harness)把智能體能力拆成插件。當 DSH profile 已經跑起來後,終端裏看狀態、發指令、確認權限仍然受限於當前設備和當前窗口。dsh-chatnode-wechat 解決的是另一個入口問題:把 DSH profile 接到微信個人賬號,讓你在微信裏繼續聊天、監控會話、停止當前輪次,並直接回復權限請求。

它通過騰訊 iLink bot gateway(ilinkai.weixin.qq.com)連接微信。README 中提到,該機制與 hermes-agentOpenClaw 使用的方式相同。由於這是非官方網關,使用前需要單獨考慮賬號隔離、權限範圍和共存問題。

這是什麼

  • 項目:Jesse-njx/dsh-chatnode-wechat
  • 包名:@dsh-cowork/chatnode-wechat
  • 版本:0.1.0
  • 許可證:MIT
  • 定位:DeepSeek Harness 的 iLink gateway + conversation node bundle
  • 作用:連接一個 DSH profile 到一個微信個人賬號,實現聊天、監控、審批。

這個 bundle 包含兩個可拆分使用的 Cordis 插件:

  • wechat-gatewayWechatGateway):iLink 服務層,提供 QR login、authenticated long-poll、reconnect/backoff、send retry + rate-limit circuit、typing indicator,以及 encrypted CDN media download/upload(downloadImage / sendImage)。
  • wechat-conversation-node:微信與 DSH 之間的 bridge,負責 allowlist gate、session targeting、commands、digest outbound 和 approvals。

整體鏈路可以這樣理解:

WeChat ⇄ iLink ⇄ wechat-gateway ⇄ wechat-conversation-node ⇄ DSH agent session

核心功能

1、QR login 與憑據管理

通過 pnpm login 打印 QR URL,用微信掃碼並確認。憑據通過 dsh credentials service 存儲,而不是寫在 patch 文件裏。

2、雙向文本與圖片

普通文本會路由給當前 active agent。入站圖片會被下載、解密並交給 agent;出站圖片通過 /send <path> 發回當前聯繫人。

3、會話目標控制

支持用命令管理 DSH session:

  • /sessions 列出帶編號的會話
  • /use N 切換 active session
  • /new <prompt> 創建新的 agent + session 並啓動
  • /stop 取消當前 active turn
  • /status 查看 agent status 和 session summary

4、聊天內權限確認

當 DSH 發出 permission request 時,可以在微信裏用 /yes/no 回答。

5、摘要式進度反饋

插件以 digest-style messages 報告進度,而不是把每一次 tool call 原樣刷屏。

6、強制 allowlist

allowFrom 是必填項,且沒有寬鬆默認值。非 allowlist 發送者的消息會被記錄並忽略。

安裝與啓用

package.json 聲明 node >=20。按 README 給出的命令安裝並構建:

git clone https://github.com/Jesse-njx/dsh-chatnode-wechat.git
cd dsh-chatnode-wechat
pnpm install && pnpm build
dsh plugin --profile <your-profile> add .

這裏的 <your-profile> 需要替換爲你要掛載插件的 DSH profile。

然後登錄微信賬號:

pnpm login

該命令會打印 QR URL。用微信掃碼並確認後,登錄憑據會寫入 $DSH_HOME/.credentials.yaml,經由 dsh-credentials-local 保存。README 說明會寫入:

WEIXIN_ACCOUNT_ID
WEIXIN_BOT_TOKEN
WEIXIN_BASE_URL

啓動時 bundle 會解析這些憑據,並自動開始 polling。

典型用法

只要已經存在一個 session,默認目標是最近一次 session。可以直接發普通文本或圖片,也可以用命令控制。

操作 說明
普通文本 路由到 active agent
圖片 下載、解密、保存,並把路徑交給 agent
/sessions 列出帶編號的 session
/use N 切換到第 N 個 session
/new <prompt> 創建新的 agent + session,並啓動
/stop 取消當前 active turn
/status 查看 agent status 和 session summary
/send <path> 把本地圖片發給當前聯繫人
/yes / /no 回答權限請求
/help 查看命令列表

配置要點

allowFrom 是硬性 allowlist,必填,沒有 permissive default。README 中給出的配置示例如下:

# profile patch (cordis.patch.yml)
plugins:
  dsh-chatnode-wechat:
    allowFrom: ["<your-wechat-id>"]   # hard allowlist, REQUIRED, no default
    digestIntervalSec: 300            # heartbeat summary while a turn runs
    approvalTimeoutSec: 600           # approval prompt timeout → default deny
    maxMessageChars: 2000             # WeChat bubble cap (protocol limit)
    sendChunkDelayMs: 1500            # throttle between outbound bubbles
    # cwd: /path/to/workspace         # working dir for `/new` sessions
    # mediaDir: /path/to/media        # inbound image dir (default $DSH_HOME/attachments/wechat)
    # agentPreset: <preset-name>      # agent preset for `/new` sessions
    # agentProvider / agentModel: ... # model route for `/new` agents

幾個關鍵點:

  • allowFrom:只允許指定微信發送者。非 allowlist 消息會被記錄並忽略,不會餵給模型。
  • digestIntervalSec:turn 運行期間的 heartbeat summary 間隔。
  • approvalTimeoutSec:權限請求等待超時;README 示例中說明超時後 default deny。
  • maxMessageChars:微信消息氣泡長度上限。
  • sendChunkDelayMs:出站消息之間的節流間隔。
  • mediaDir:入站圖片目錄,默認爲 $DSH_HOME/attachments/wechat/

權限確認

微信個人賬號沒有按鈕,因此權限請求會被渲染成編號文本,並在聊天中等待回答。README 中的示例形式如下:

#1 需要你的確認
工具: bash
原因: run a destructive command
回覆 /yes 同意,/no 拒絕(僅一條待確認時也可回覆 1/2)
超時未回覆將自動拒絕。

/yes 表示允許這一次;/no 表示拒絕;如果只有一條待確認請求,也可以按提示回覆 12。橋接層只回答當前由該微信用戶驅動的 agent 的請求,其他請求會沿着 answerer chain 繼續傳遞。

適用場景與注意

適合場景:

  • 你已經有 DSH profile,希望在微信裏繼續和 agent 對話。
  • 需要查看 session、切換 session、停止當前 turn。
  • 需要把本地圖片發給當前聯繫人,或者把圖片發給 agent 處理。
  • 希望在手機上完成簡單的權限確認。

使用前需要注意:

  • 一個微信賬號只允許一個 poller。如果同一微信賬號上再跑另一個實例、hermes-agentOpenClaw,可能導致 HTTP 403 和消息丟失。建議使用專用微信賬號。
  • 該插件走非官方 iLink gateway / protocol。README 提醒騰訊可能限制賬號,因此應使用可以接受風險的專用賬號。
  • allowFrom 必須配置。不要把它當成默認放行所有微信聯繫人的入口。
  • DSH 目前是 developer preview。README 和本倉庫依賴中,@deepseek-ai/* 系列版本固定在 0.1.0-rc.6
  • 插件會隨當前 DSH 進程運行,因此安裝前應檢查源碼、配置項和許可證。本項目許可證爲 MIT。
  • 憑據通過 dsh credentials service 存儲,不應寫進 patch 文件。

結尾

dsh-chatnode-wechat 的價值在於給 DSH profile 增加一個微信側入口:文本和圖片可以雙向走,session 可以用命令切換,權限請求可以聊天內確認,進度以摘要消息呈現。它不是官方應用商店裏的成品應用,而是 DSH 插件生態下的一個社區 bundle。

GitHub:

https://github.com/Jesse-njx/dsh-chatnode-wechat

項目資料給出的目錄頁地址爲:

https://www.skillhub.cn/plugins/Jesse-njx/dsh-chatnode-wechat

社區目錄頁是獨立站點,不等同於官方應用商店。

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

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

小夜