前言¶
在 QQ 群或类似通道里跑 DSH 智能体时,群友常发图、表情包。若只靠模型「记住」某张梗图,既不稳定,也谈不上按「谁发的、什么语境用过」去复用。常见做法是手工整理文件夹或写死路径,群一换语境就难对上。
dsh-sticker-vault 是 DeepSeek Harness 下的记忆类插件:群消息里的附件图先落到本地,同一张图被反复发送时按 sha256 计数,达到阈值后自动入库,并记录作者、语境与标签;对喷、接梗时通过工具按语境把图捞出来,以 Markdown 图片行形式返回。图片与元数据全部在 ~/.dsh/sticker-vault/,不联网、不调模型。
维护者为 yingchaoyi,源码与说明见 GitHub 仓库,社区目录页为 SkillHub 插件页。当前 package 版本为 0.1.14,许可证 MIT。
这是什么¶
一句话:群友发的图先落盘去重计数,重复到 N 次自动进库,记作者/语境/标签;需要接梗时用 sticker_pick 按语境搜索并返回可发送的本地图片 Markdown。
数据流可以概括为:
群友发图 ──► 落盘(按 sha256 去重)──► 计数
├─ 到 5 次 ──► 入库(带作者 + 语境)
└─ 没到 ──► 候选区里躺着
入库后 ──► 每张最多记 6 条语境 ──► sticker_pick 按语境/关键词/人搜索
└─► 命中就发 
(默认「到 5 次」等数值可在 Web 面板顶部改。)
核心功能¶
采集与入库¶
- 重复就计数:同一张图(sha256 相同)被谁发各算各的,A 发 3 次、B 发 2 次互不干扰。
- 每人只留高频的几张:默认每人最多 3 张,新图挤进来时挤掉该用户计数最低且未上锁的那张。
- 总容量 50 张:超出后从全库挑计数最低、未上锁的淘汰。
- 计数周期:默认每 5 天清一次——候选归零,已入库的计数重置为 2(从此数重新攒,已入库图相对新候选有起跑优势)。
- 上锁:锁住的图不会被淘汰挤掉,也不能删,需先解锁。
Web 面板「表情库」¶
装完并刷新 DSH Web 后,设置里会出现 表情库 面板:
- 库:每张图及描述、标签、发送者、使用次数;描述/标签可改,回车保存;可上锁、删除、展开看语境。
- 候选:未达入库次数的图,可「现在就收」或「扔了」。
- 上传:自行加图,填昵称、描述、标签。
- 搜索:按描述、标签、昵称、语境过滤。
面板约每 4 秒刷新;采集为实时。达标次数、每人上限、总容量、计数周期(天)、清计数后库内起始次数等参数在面板顶部配置。
工具(给智能体调用)¶
| 工具 | 作用 |
|---|---|
sticker_pick |
按语境 / 关键词 / 群友找图,返回 Markdown 图片行 + 作者 + 语境 |
sticker_note |
改描述/标签、上锁、删除,或把本地图片手动加进库 |
sticker_stats |
查看库里/候选数量、上限、清计数周期等占用信息 |
sticker_pick 找到合适结果时,把返回的  原样放进回复;没有合适图时会提示不要硬发。
发送日志¶
面板中的「发送日志」用于核对概率掷骰与是否真正发出:
- 每次掷骰记一条:概率、随机值(0~1)、是否命中、群号。
- 桥插件发出图后会标记「已发出」;停留在「命中·等确认」表示掷中但出口未发出。
- 顶部汇总当日掷骰次数、命中次数、确认发出次数、命中率;支持搜索与清空日志(清空时一并清除约 5 分钟内复用掷骰结果的缓存)。
- 默认只保留最近
logMax(300)条。
安装与启用¶
插件页填写 dsh-sticker-vault,或命令行安装(须与 README 一致):
# 从 GitHub 装
dsh plugin --profile web add github:yingchaoyi/dsh-sticker-vault
# 本地开发(软链)
dsh plugin --profile web add link:/path/to/dsh-sticker-vault
装完后刷新页面,在设置中打开 表情库 即可管理参数与库存。运行环境要求 Node.js >= 22(见 package.json engines)。
典型用法¶
智能体在需要接梗、对喷或复用群语境时,调用 sticker_pick,传入与当前对话相关的语境或关键词;若返回 Markdown 图片行,将其原样写入回复。需要维护库存时调用 sticker_note;需要看容量与周期时调用 sticker_stats。
数据目录结构如下,便于备份或排查:
~/.dsh/sticker-vault/
├── store.json # 库 + 候选 + 参数
├── images/ # 入库的图
├── inbox/ # 候选的图(原始落盘)
└── sticker.log # 调试日志,256KB 自动截断
删除整个目录即清空重来;也可直接查看或编辑 store.json(自行承担风险)。
适用场景与注意¶
适合:在 DSH + QQ 桥等场景里,希望智能体本地积累群梗图、按语境检索复发,且不希望图片上传外网或走模型记忆的用户。
限制(README 已说明):
- 只认 完全相同文件(sha256);压缩、换格式后再发会被当作新图。
- 只抓 带附件的群消息(DSH 附件;QQ 桥转进来的符合),纯链接图不抓。
- 淘汰按计数低者优先,不看社交关系;重要图请 上锁。
安全:插件以当前 DSH 进程权限读写 ~/.dsh/sticker-vault/ 并处理群附件。安装前请阅读 源码 与 MIT 许可证,确认符合你的部署策略。DSH 社区插件目录(如 SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-sticker-vault 把「群友反复发的图」变成可检索的本地表情库:采集、计数、入库、语境记录一条龙,接梗时用 sticker_pick 按语境捞出 。详情与 issue 见 GitHub,安装入口见 SkillHub 目录页。