dsh-wechat-emoji:让 DSH Agent 读懂微信表情包与情绪

前言

在 DSH 里接微信或 QQ 类聊天场景时,agent 往往只能看到「一张图」的路径或链接,无法理解梗图、表情包在对话里实际表达的情绪。若把整张图丢给通用 OCR 或自行拼视觉 API,还要处理微信缓存无扩展名、.wxgf 动图、CDN 补图与安全边界等问题,集成成本高。

下面介绍社区插件 dsh-wechat-emoji(维护者 mikunkol-hub):在 DSH 中注册模型侧工具 wechat_emoji_analyze,调用智谱 GLM-4V-Flash 视觉模型,输出结构化情绪与回复建议;并提供设置页面板填写 API Key,无需手改配置文件。

这是什么

dsh-wechat-emoji 是 DeepSeek Harness 的 bundle 插件(npm 包名 dsh-wechat-emoji,当前资料中版本 0.3.6,许可证 MIT)。它解决的核心问题是:让 agent 看懂聊天里的表情包、梗图、聊天截图,并结合可选文字上下文判断对方情绪,便于在自动化回复或会话辅助里做更贴切的回应。

插件不向本地持久化聊天图片;分析时图片以 base64 发往智谱 open.bigmodel.cn 接口。

核心功能

工具 wechat_emoji_analyze

输入 说明
image 本地图片路径(支持无扩展名的微信缓存文件)或 http(s) URL;格式含 jpg/jpeg/png/apng/webp(含动图)/gif(取首帧)/bmp/tiff/ico/avif/heic
hint 可选。该条消息的文字或上下文(例如「今天又加班」),可提高情绪判断准确率
cdnUrl 可选。本机缓存缺失时,由白名单原消息提供的微信 CDN 下载地址(仅接受腾讯微信域名的 http(s) 地址)
cdnMd5 可选。原消息 md5 摘要(32 位十六进制);提供 cdnUrl 时必填,下载后逐字节核验,不匹配即拒绝

输出为结构化 JSON,主要字段包括:

字段 说明
sentiment 情绪类别:开心/生气/难过/无语/害羞/嘲讽/震惊/亲昵/期待/委屈/敷衍/中性
intensity 情绪强度 0–100
meaning 表情包在当前语境下想表达什么
replyHint 建议回应方式(语气 + 一句话示例)
description 画面内容(含图上文字)

微信自绘表情 .wxgf(wxgf 魔改 + HEVC 动图)会自动用 ffmpeg 解码为首/中/末三帧拼接图再分析,无需另存为。

设置页与配置基线

装好后可在 DeepSeek 设置页 → 插件 → dsh-wechat-emoji 中填写「智谱 API Key」,保存即热重载。面板还支持修改视觉模型名、超时、ffmpeg 路径、是否允许微信 CDN 补图及 CDN 域名白名单等(详见官方 README 配置表)。

插件对 API Key 有防篡改策略:面板与环境变量 ZHIPU_API_KEY 优先;即使有人在 cordis.patch.yml 里写入 apiKey 也会被忽略,避免 Key 进仓库。启动时会校验 patch 关键项,异常时会备份并恢复基线。

安装与启用

准备:一个 DSH profile,以及智谱 API Key(在 open.bigmodel.cn 注册后在「API 密钥」创建;资料说明 GLM-4V-Flash 可免费使用,新用户有赠送额度)。

1、安装插件

方式 A:npm 安装(推荐,已发布到 npm)

dsh-wechat-emoji

方式 B:从 GitHub 安装

dsh plugin --profile web add github:mikunkol-hub/dsh-wechat-emoji

方式 C:手动 link(开发或离线)

在 Windows 上可将插件目录 junction 到 profile 的 node_modules,并在 profile 的 package.json 中声明 dependencies 与 dsh.profile.bundles;插件已声明 @deepseek-ai/dsh-tools 等 peerDependencies,link 安装时未声明会导致工具静默不出现。细节见仓库 README。

2、配置 API Key

方式 A(推荐):设置页粘贴 Key 并保存。

方式 B:设置环境变量 ZHIPU_API_KEY 后重启 DSH(面板留空时读取)。

方式 C:理论上可在 cordis.patch.yml 的 apiKey 填写,但插件会忽略该字段;实际应使用面板或环境变量。

3、验证

面板保存后,在会话中让 agent 分析一张表情包;或确认工具列表中出现 wechat_emoji_analyze。

典型用法

agent 在需要理解对方发来的表情或截图时,调用 wechat_emoji_analyze,传入本地路径或 URL;若只有微信 CDN 地址且本机无缓存,在配置允许的前提下传入 cdnUrl 与匹配的 cdnMd5。

为提高 sentiment 与 meaning 的准确性,尽量同时传入 hint,把该图前后的聊天文字带上。

ffmpeg 仅在动图取首帧或 bmp/tiff/ico/avif/heic 等转码时需要;纯 jpg/png 场景可不装。

适用场景与注意

适合:在 DSH 中做微信/QQ 聊天辅助、希望 agent 对表情包和截图给出可操作的回复建议的开发者;已接受将图片内容发给智谱云端分析的场景。

限制(来自官方说明):

  • 单图 ≤5MB,超出报错且不自动压缩
  • 一次一张图;多图或长截图需先裁切
  • 情绪判断依赖模型,仅作聊天辅助,不做心理诊断
  • 不支持视频、语音

安全与权限:插件以当前 dsh 进程权限 运行,可读取 agent 传入的路径、在开启 CDN 补图时按白名单下载腾讯域资源。安装前建议在 GitHub 阅读源码与 MIT 许可证,仅在可信 preset 中向 agent 开放该工具。

DSH 生态采用「一切皆插件」思路;社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-wechat-emoji 把微信常见图片格式、CDN 补图与 .wxgf 解码封装进一个 DSH 工具,并用设置页完成智谱 Key 配置,适合需要「读懂表情再回复」的智能体工作流。

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

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

Xiaoye