dsh-memelens:给 DSH Agent 装上「看懂中文梗」的视觉与记忆

前言

DeepSeek Harness(DSH)把能力拆成可插拔插件,agent 在群聊、评论区里经常会碰到用户发的表情包。对模型来说,这类输入往往只是一条本地路径或一张图,缺乏「什么意思、什么语气、现在还能不能跟」的上下文。人可以用圈层经验补全,agent 若没有专门能力,就容易误读或硬接梗。

下面介绍维护者 whatif146 发布的 dsh-memelens(分类:模型推理)。它在宿主上注册工具,用你自配的视觉模型(BYOK)解读图片,并在本地用带衰减的记忆复用结论,同时给出玩梗与不玩梗两版回复建议。本文事实均来自 GitHub 仓库 README 与 SkillHub 目录页。

这是什么

dsh-memelens 是一个 DSH 插件(@deepseek-ai/cordis 生态,main 为 src/index.js),目标不是「帮人认表情包」,而是让 agent 在用户贴图时 能拿到:含义、语气、出处、新鲜度、可搭配的梗、不宜混用的组合、场合边界,以及 玩梗版 / 不玩梗版 回复草稿。

插件本身不含模型与 API 密钥:图片只发往你在配置里指定的 OpenAI 兼容视觉端点。同一张图再次命中本地记忆时,可复用结构化结论而不再外发图像。

核心能力与流水线

处理路径

README 给出的流水线如下:

图片 → 指纹 → 记忆检索
                 ├─ 想得起来 → 直接复用(0 成本),并加深记忆
                 └─ 想不起来/过期 → 视觉模型(你的 key)→ 结论 → 写回记忆

当前指纹为 sha256;转发压缩后可能失配,路线图中提到拟用感知哈希(pHash)改进,状态为待接入。

记忆:间隔效应与渐进遗忘

本地记忆显式建模了三条规则:

  1. 间隔效应:同一梗被回想越多,衰减越慢(README 表示见过一次约 30 天淡化,见过五次可支撑更久)。
  2. 渐进遗忘:强度连续衰减,分清晰 / 模糊 / 想不起来;想不起来时会重新走视觉解读,查完强度回升。
  3. 忘掉旧梗是预期行为:避免把多年前的梗以满强度用在当前对话里。

可选配置项 memory.halfLifeDays(默认 30)与 README 中的半衰期示例表对应。

梗的组合与共现

两个梗在 5 分钟内 被先后问到,会在本地库累加共现计数。后续解读时,这些统计作为参考证据交给模型,并区分「能一起用」与「不能混着用」。

界限与两版回复

每条回复建议强制两版:玩梗版 与 不玩梗版。卡片侧包含 boundary(场合与对象)、risk(冒犯风险;high 时不建议顺着玩)。置信度低时,规则倾向「别玩,说人话」。

宿主工具

README 标明已注册宿主工具 meme_explain(实现见 src/index.js)。具体调用参数以你当前 DSH / Cordis 环境下的工具 schema 为准。

当前限制(README 状态表)

能力 状态
以字搜梗(来源实证检索) 待接入
抗压缩的感知哈希指纹 待接入
纯画面梗(图上无字) 已知短板,依赖模型自身知识

冒烟测试可在不联网、无真实 key 的情况下运行:

node scripts/smoke.mjs

安装与启用

README 给出的安装方式为 本地开发链接(需将占位符换成本仓库在你机器上的绝对路径):

dsh plugin --profile desktop add "link:<本仓库绝对路径>"

安装前建议自行阅读仓库源码与 MIT 许可证;插件以当前 dsh 进程权限运行,并会读写 $DSH_HOME 下的本地数据。

运行环境:package.json 要求 Node ^22.19.0 || >=24.0.0,并对 @deepseek-ai/cordis、@deepseek-ai/dsh-tools、@deepseek-ai/schemastery 有 peer 依赖。

配置说明

vision 下三项 baseURL、apiKey、model 缺一,插件会 关闭 而非抛错,调用时提示去配置。apiKey 支持 ${env:VAR} 插值。

- id: dsh-memelens
  name: dsh-memelens
  config:
    vision:
      baseURL: https://ark.cn-beijing.volces.com/api/v3   # 或任何 OpenAI 兼容端点
      apiKey: ${env:ARK_API_KEY}                          # 建议走环境变量
      model: doubao-1.5-vision-pro
      timeoutMs: 45000        # 可选,默认 45s
      maxImageBytes: 4194304  # 可选,默认 4MB
      jsonMode: true          # 可选,服务端不支持 response_format 就设 false
    memory:
      halfLifeDays: 30        # 可选,记忆半衰期,见上表

典型可选环境变量示例:为方舟等端点设置 ARK_API_KEY,并与 baseURL、model 指向同一厂商。

本地数据与隐私

  • 本地库路径:$DSH_HOME/memelens/index.jsonl,追加写入,每行一条 JSON(含 kind、card、fingerprints、reinforcements、combos 等字段)。
  • 图只发往你配置的端点,插件不经第三方中转;不落盘用户原图,库中存结构化结论与指纹。
  • 同一张图第二次调用走记忆,不再外发图像。
  • 不宜整张聊天截图直接传入:应先裁到表情包本体;超过 maxImageBytes 会被拒绝并提示。

适用谁、注意什么

适合在 DSH 上开发 需要理解中文语境表情包 的 agent:客服辅助、社群机器人、评论分析等,且你能接受 自备视觉模型密钥 与 本地记忆文件 的运维方式。

不适合期待「零配置、内置模型」或「纯画面梗稳定识别」的场景——后者在 README 中仍标为短板。

社区目录 SkillHub 与 GitHub 仓库独立维护;DSH 生态理念是「一切皆插件」,该目录站点与 DeepSeek / 幻方无官方从属关系。

小结

dsh-memelens 把「看图解读梗」做成可复用的 DSH 插件:BYOK 视觉调用、带衰减的本地记忆、共现组合与双轨回复建议,并通过 meme_explain 暴露给宿主。若要试用或贡献,可从仓库 README 的安装与配置节按步骤接入。

  • 目录页:https://www.skillhub.cn/plugins/whatif146/dsh-memelens
  • GitHub:https://github.com/whatif146/dsh-memelens
羽毛球分组比赛记分
小程序二维码

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

小夜