liceses/dsh-memes-reply
DSH 插件:蓝色大肥鱼表情包回复 —— 模型按语境在回复里贴一张会动的大肥鱼,支持设置页预览墙与下一轮指定
Project Overview项目介绍
This is a natively built plugin exclusively for DeepSeek Harness (DSH) that injects animated blue fat fish meme stickers after every DSH chat reply. Unlike the original v1.0 that used floating layers that would disappear on page refresh, v2.0 implements stickers as native conversation nodes, so they persist across refreshes and are always attached to their corresponding reply. The plugin supports automatic sticker injection per conversation round, model-requested stickers via the use_sticker tool, two-stage rendering during reply generation, and always loads full-size animated WebP files instead of static first-frame thumbnails that don’t show the full animation.
The plugin is designed for DSH users who want to add a playful, lighthearted mood to their AI chat conversations. The default workflow requires no user interaction after installation: with autoMode set to every, every conversation round will automatically get a sticker that matches the current conversational mood. Users can also use the /fish slash command to view the full sticker catalog, filter stickers by keyword, toggle the plugin on or off for the current session, or manually specify a sticker for the next round. It also includes a native DSH settings panel for adjusting display and plugin behavior settings.
Installation requires DSH CLI access to add the plugin to your web profile, and a mandatory first-run step of running an asset import script that relies on ffmpeg to compress stickers and generate preview thumbnails. After running the script, you must restart DSH web to load the new plugin bundle and routing configuration. The plugin has several known limitations: it relies on DSH's browser-side conversation node API, so it does not work on CLI or headless DSH deployments. It also does not backfill stickers to existing historical conversation rounds, and animated WebP requires a modern browser to display correctly. The repository does not include an open source license.
这是一款专为DeepSeek Harness(DSH)开发的原生插件,功能是在DSH每一条回复的右下角添加一张会动的蓝色大肥鱼表情包贴纸。v2.0版本将贴纸设计为会话流中的节点,而非浮层渲染,因此刷新页面后贴纸仍会保留,始终跟随对应回复。支持每回合自动粘贴、模型指定贴纸、两阶段渲染,始终加载全尺寸动画WebP。
这款插件面向希望给AI对话增加趣味氛围的DSH用户使用。默认工作流完全自动化,安装完成后开启自动模式即可每回合自动粘贴一张符合当前轮次情绪的表情包,不需要用户进行额外操作。同时提供了/fish斜杠命令,支持快速查看贴纸列表、按关键词筛选、开关当前会话的插件功能,也支持手动指定下一轮要使用的贴纸。
安装需要通过DSH的CLI命令将插件添加到web配置文件,首次运行必须执行素材导入脚本生成压缩素材和缩略图,依赖ffmpeg处理图片,完成后需要重启DSH web才能生效。插件依赖DSH浏览器端的节点定义API,不支持CLI/无头模式,不会给已有历史回合补贴纸,仅现代浏览器可正常显示动图,仓库无公开许可证声明。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-memes-reply(liceses/dsh-memes-reply)
仓库:https://github.com/liceses/dsh-memes-reply
本站详情页:https://www.yhbd.top/plugins/liceses-dsh-memes-reply/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证未声明 · ⭐ 5 · 最近提交 2026-10-02 · 主语言 JavaScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- No license declared - all rights reserved by default; ask the author before commercial use or redistribution未声明开源许可证 —— 默认「保留所有权利」,商用或再分发前先问作者
- Only 5 stars - very few users, little community feedback星标只有 5,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add dsh-memes-reply
把 liceses/dsh-memes-reply 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-memes-reply
让 DSH 在每一条回复正文下方(靠左、与正文左对齐)贴一张会动的蓝色大肥鱼表情包。
v2.0:贴纸是"会话流里的一个节点"
贴纸不再是"宿主发事件、客户端抢座位渲染"的浮层,而是会话事件的纯函数: 一轮 = 一个节点,跟着那条回复走 —— 向上滚回历史能看到、刷新页面还在、每个会话各是各的。 生成中先显示「思考中 / 打字中」,回复写完的瞬间同一个节点换成这一轮的最终贴纸。
- 每回合一张,不用模型操心(
autoMode=every时每轮必贴;autoMode=jev时由 JEV 按语境判情绪族、 而且能判"这轮不贴";模型也可以用use_sticker点名要哪张) - 两阶段:生成中 = 占位表情 → 落定 = 最终贴纸(结构性替换,不是遮住)
- 会动:永远加载全尺寸动画 WebP,不走首帧缩略图
- 零日志污染:不往 session log 写自定义事件(那会让日志在别的构建里"拒绝解释",见下)
- 原生风格的配置面板(侧栏 插件 → 已安装 → 查看 memes-reply):状态行 + 22 个字段 + 素材预览墙
- 常驻挂件:页面上一直有一只大肥鱼(点一下换一张、可拖、可收成小圆点)——随时能看到
- 一键关掉:面板总开关 +
/fish off本会话静音
它长在哪(四个座位)
| 面 | 座位 | 说明 |
|---|---|---|
| 贴纸层 · 生成中 | 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 已被统一插件管理移除 |
为什么不用自定义会话事件
最"正统"的写法是像官方 present 工具那样把决定 session.append('memes-reply/sticker', …) 写进日志。
这条路对本插件是危险的:Session.append() 没有任何渠道设置 ignorable 标记,而持久化读取的规则是
"未知类型且未标记 ignorable → 拒绝解释整个日志",且已知类型表是仓库内生成的静态表、
下游插件类型按构造就不在里面。写自定义事件 = 让用户的历史会话变成打不开。
所以 v2.0 只读会话事件:决定完全是 (会话, 轮次, 收尾正文, 模型的工具实参, 宿主开关) 的纯函数
(src/derive.ts,host 与浏览器共用同一份实现),可重放、无竞态、零污染。
安装
三种装法。共同前提:装完要重启(bundle 层与客户端脚本清单都在启动时读取)。
方式一:从 GitHub 装(推荐)
dsh plugin --profile web add github:liceses/dsh-memes-reply
实测 1.26 MB / 4 秒:不编译、不装构建依赖、不需要任何构建白名单。
DSH Desktop 用户注意:
desktopprofile 由 Electron 独占管理,命令行会被直接拒绝 (profile "desktop" is managed exclusively by the Electron application)。 请在设置 → 插件界面填入仓库地址。
为什么能免编译:
lib/已随仓库提交,而 pnpm 的packageShouldBeBuilt()只有两种情况会构建 —— ①scripts.prepare存在;② 有prepublish/prepack/publish且main文件不存在。 本包用prepack(发布时才编译),而lib/index.js已入库 → 两条都不成立,直接跳过。早期提交(≤
2865aca)没提交lib/且用的是prepare,所以 git 安装会现场编译, 并撞上 pnpm 的构建白名单(ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED)。现在不需要了。
Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →
MemTensor/memmy-agent
OpenPetsHQ/openpets
PC2005-cloud/dsh-pet
zenstory-ai/oh-story-dsh
QCYTSN/dsh-dafeiyu
vlln/whale-girl
Ayase34/gal-view
ChisaAlter/WhaleIsle