DSH Plugin MarketA community catalog for DeepSeek Harness plugins

dsh-memes-reply

Verified Sessions & messages ★ 13 0.1.4

蓝色大肥鱼表情包回复插件:模型按语境在回复里贴一张会动的大肥鱼,配置面板画在插件管理页里本插件自己的页面上(预览墙 + 下一轮指定)。素材经插件自有 HTTP 路由直出,不经过附件流水线(那会把动画压成静图)。

What it is

蓝色大肥鱼表情包回复插件:模型按语境在回复里贴一张会动的大肥鱼,配置面板画在插件管理页里本插件自己的页面上(预览墙 + 下一轮指定)。素材经插件自有 HTTP 路由直出,不经过附件流水线(那会把动画压成静图)。

How to install

Run this in the DSH web profile, then refresh the page.

$ dsh plugin --profile web add 'git+https://github.com/liceses/dsh-memes-reply.git#e6e551e1867e4e6554af8e529c272631bd925d4a'

DSH versions accepted

>=0.1.7-rc.1 <0.3

Author and traction

liceses · ★ 13 · Updated 2026-10-07

About this plugin

dsh-memes-reply · 蓝色大肥鱼表情包回复

> English: A DSH plugin that drops one animated blue-fish sticker under each reply — picked by context, by the model, or by you for the next turn.

让 DSH 在每一条回复正文下方(靠左、与正文左对齐)贴一张会动的蓝色大肥鱼表情包。

它替你省掉的是"自己找图 → 复制 → 粘贴"这条手工链:一轮一张,贴在回复下面,刷新还在、向上滚回历史还在、每个会话各是各的。

贴哪张由语境决定(默认:回复里命中情绪词就补一张),也可以由你为下一轮点名一张。

素材(157 张 / 86 MB)走插件自己的 HTTP 路由直出,不经过 DSH 附件流水线 —— 那条流水线会把动画压成静图。

效果实拍:一轮真实对话 —— 贴纸贴在回复正文下方、靠左与正文对齐(右下角那个是「常驻挂件」,另一条路径)。这一轮是 keyword 模式命中情绪词后自动补的,不是手动点出来的。

---

它长什么样、怎么动

一轮回复在页面上的版面(ASCII 结构图,不是截图):

你    帮我把这个脚本改成 TypeScript
模型  改好了,三条都过了类型检查。

      [ 大肥鱼 ]  ← 贴纸:贴纸层画的,不是回复正文
                    靠左、与正文左对齐 · 默认 96px

                                   [ 大肥鱼 ]  ← 常驻挂件:右下角浮层,可拖、可收

动效是真的动画,不是一张静图:贴纸层永远加载全尺寸动画 WebP,不走首帧缩略图。

这张是动图(67 帧动画 WebP,506×396)—— 直接截自一轮真实回复:上面能看到 use_sticker 的工具调用行,下面是贴纸在回复正文下方动起来的样子。

下面三条是从本机运行中的实例 GET /api/dsh-memes-reply/catalog 拿到的真实元数据(原始 JSON 见「[诊断](#diagnostics)」):

| 贴纸 id | 名字 | 尺寸 | 帧数 | 帧率 | 时长 | 单张体积 |

| --- | --- | --- | --- | --- | --- | --- |

| tiaowu-pizhichun | 跳舞(低皮质醇) | 240×240 | 66 | 50fps | 1320 ms | 629,686 B |

| notice-bits | 通知_提示 Bits | 240×240 | 86 | 50fps | 1720 ms | 715,886 B |

| qidai-1 | 期待 | 200×200 | 131 | 50fps | 2620 ms | 794,786 B |

它长在哪(四个座位)

| 面 | 座位 | 说明 |

| --- | --- | --- |

| 贴纸层 · 生成中 | keyed conversation.chat.node + 自定义 ConversationNodeDefinition | 只负责生成中的占位(思考 / 打字中)。那时官方过程块强制展开,所以放在流里是安全的 |

| 贴纸层 · 落定 | list conversation.chat.turnTail(官方"回合收尾"槽位) | 最终贴纸挂这里。官方的 turn-tail 节点 kind 在过程折叠豁免名单内,不会被「工作步骤展示」折进工具细节块(理由见下节) |

| 常驻挂件 | shell.overlay(加法型,frame-wide) | "随时能看到"是硬需求,与"这条回复的贴纸"是两个职责 |

| 配置面板 | plugins.bundle.config(key = 组合包名 dsh-memes-reply) | 插件管理页里本插件自己的页面;旧的 settings.plugin.item 已被统一插件管理移除 |

什么时候出现

| 时机 | 屏幕上看到什么 | 谁决定 |

| --- | --- | --- |

| 生成中(phase=streaming) | 「思考 / 打字」那一组里的占位表情 | 按 (会话, 轮次) 哈希确定性挑一张 —— 同一回合反复渲染永远是同一张 |

| 回复写完(turn/end 后 phase=settled) | 同一个节点换成这一轮的最终贴纸 | 派生优先级(见「[工作原理](#mechanism)」);autoMode=jev 时结论是异步取回的,没到之前不显示任何贴纸 |

| 没选中 / 本会话静音 / 总开关关掉 | 什么都不贴 | 规则与开关 |

下一轮指定一张(三种入口)

| 入口 | 作用域 | 怎么用 |

| --- | --- | --- |

| 配置面板的预览墙 | 全局、一次性 | 点一格缩略图 → POST /latch(面板底部「取消指定」清掉) |

| /fish | 本会话、一次性 | 命令;优先于面板的全局指定 |

| 模型工具 use_sticker | 本回合 | 模型自己点名,不需要你操作 |

「一次性」是字面意思:指定被最新的那个已落定回合用掉即清(src/client/node.tsx 的 latchConsumedFor),历史回合不会把它反复吃掉。

---

快速开始

三种装法。共同前提:装完要重启(bundle 层与客户端脚本清单都在启动时读取)。

一、装

方式一:从 GitHub 装(推荐)

dsh plugin --profile web add github:liceses/dsh-memes-reply

实测 1.26 MB / 4 秒:不编译、不装构建依赖、不需要任何构建白名单。

> DSH Desktop 用户注意:desktop profile 由 Electron 独占管理,命令行会被直接拒绝

> (profile "desktop" is managed exclusively by the Electron application)。

> 请在设置 → 插件界面填入仓库地址。

> 为什么能免编译:lib/ 已随仓库提交,而 pnpm 的 packageShouldBeBuilt() 只有两种情况会构建 ——

Compare in this category

The five most-starred plugins in the same category.

PluginAuthor StarsVersionUpdated
dsh-purge kingcharleslzy-ai 6.3K 1.6.86 2026-11-08
dsh-unrestricted yexi-by 1.1K 0.2.8 2026-11-05
dsh-univer-office dream-num 707 0.4.0 2026-11-03
dsh-synapse liangmianya 697 0.5.7 2026-11-04
dsh-qqbot tencent-connect 570 0.5.5 2026-11-08