yyh-001 / dsh-meme

Listed

DeepSeek Harness 的表情包插件——找得到、发得出、学得会,纯文本斗图、情绪主动发图、像 QQ/微信 一样发图、AI 自动学图、自定义表情包 、多种风格随意切换。

mainTool View source

Installation

pnpm add dsh-meme

This command is generated from the GitHub repository address. Inspect the upstream README and source before running it; pin a release or commit when reproducibility matters.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 5c83b91Synced Aug 18, 2026

dsh-meme — 找得到、发得出

表情包插件 dsh-meme — 找得到、发得出、学得会

MIT dsh-plugin DeepSeek Harness zero third-party deps awesome · DSH plugin


宣传页:yyh-001.github.io/dsh-meme(表情包合集可预览;仓库加 topic dsh-meme-pack + previews/ 即收录)

dsh-meme(原 dsh-expression)是 DeepSeek Harness 的表情包插件——找得到、发得出、学得会:

  • 纯文本也能斗图:界面显示表情图片,模型收到的是 [表情: 描述],无需图片输入能力
  • AI 自动学图:用户说「入库」时,learn_meme 收录最近一张用户附件(不必填附件 id),自动识别分类/描述
  • 情绪主动发图:先选情绪桶,系统随机抽若干张 caption,模型挑一张贴进回复
  • 像 QQ/微信 一样发图:输入框 😊 悬浮面板点选表情直接发出
  • 零第三方依赖:仅 node:sqlite,装完即用

交流 / 反馈:QQ 群 993579665点击加入


安装

已发布到 npmdsh-meme),一行装进任意 DSH profile(如 ~/.dsh/profiles/web/):

dsh plugin --profile web add dsh-meme
# 等价于:
pnpm add dsh-meme

旧包名 dsh-expression 已弃用,请改用 dsh-meme。插件内部 id 仍为 dsh-expression,已有安装不受影响。

或从 GitHub / 本地直接装:

pnpm add github:yyh-001/dsh-meme   # 或
pnpm add file:/path/to/dsh-meme

注意:pnpm 有「新包安全期」(默认 24h),刚发布的版本会被静默回落到旧版;急用可在 pnpm-workspace.yamlminimumReleaseAgeExclude 里加上 dsh-meme

配置

默认内置两套图库:official-001(官方表情包 1 号,92 张)和 dafeiyu-001(大肥鱼,6 张),开箱用官方包,无需任何配置

设置页「当前图库」下拉即可切换。插件会扫描内置 memes/* 以及「扫描目录」(默认 ~/.dsh/meme-packs)下带 index.db 的子文件夹。导入 ZIP 也会放进扫描目录并立刻切过去。设置存在 ~/.dsh/dsh-expression.json,升级插件不丢。

装完即用

用户: 发个无语的表情包
模型: send_meme tag=sad → 随机几张 caption → 把 [表情: …] 贴进回复
前端: 按描述配图,对话里看起来就是表情

输入框左侧点 😊(微信同款笑脸)直接选图一键发出,无需让模型代劳。

模型根据情绪主动发表情包

工具

工具作用
send_meme按情绪随机抽候选;Web 模式把 [表情: 描述] 写进回复,前端配图
learn_meme学图:用户说「入库」即可(默认最近一张用户附件);也可传 attachmentId / imageUrl

发图格式(默认)

界面显示表情图片,模型只读写文字 token——不触发 dsh 的图片准入检查:

  • 模型和悬浮窗都发 [表情: 描述](不要带网址)
  • 前端只在对话气泡里按 caption 配图(Think / 轨迹 / 工具卡保持纯文字)
  • 引号差异(“” / "")会折叠后再匹配
  • 直接上传的图片仍是附件,原样进会话;学图走 learn_meme

界面

设置页「表情包」面板(已美化):

  • 当前图库:下拉切换已扫描到的表情包组(内置 + 扫描目录)
  • 扫描目录:改路径后自动发现子文件夹里的图库;导入 ZIP 也放这里
  • 导出/导入图库:打包成 ZIP 分享给别人,导入别人的包一键切换
  • 上传弹窗:选图预览 + 分类下拉(选择/新建/删除分类)+ 描述 + 关键词
  • 编辑弹窗:同款分类下拉,改分类/描述/关键词
  • 分类中文显示:下拉与卡片显示「生气 (angry)」式中文
  • 分类筛选即时生效

设置页表情包管理面板

输入框 😊 一键发表情包:点开面板 → 搜索 / 浏览缩略图 → 点一张直接发出。

输入框一键发表情包

分享自己的表情包

两条路:发给朋友,或挂到宣传页让别人预览。

发给朋友

  1. 设置页 → 导出图库,得到 dsh-meme-pack-日期.zip
  2. 把这个 ZIP 发出去
  3. 对方设置页 → 导入图库,选这个 ZIP,会自动切换到新图库

请用插件导出的 ZIP。GitHub 仓库页上的「Download ZIP / 下载源码」是压缩过的,导入会失败。

挂到宣传页

  1. 先按上面导出 ZIP,解压成一个文件夹(里面应有 index.dbmanifest.jsonmemes/
  2. 新建 GitHub 仓库,把文件夹内容放进仓库根目录
  3. previews/,放 6–12 张缩略图(jpg/png),宣传页靠它们做预览
  4. 仓库 Settings → Topics 加上 dsh-meme-pack

可选:把插件导出的那个 ZIP 挂到 GitHub Release,别人就能直接下载再导入。也可以 git clone 之后,把仓库放进扫描目录(或设置页「打开其他目录」指过去)。

它做什么

能力说明
按情绪抽图六个情绪桶:happy / angry / sad / shy / confused / daily;随机抽 N 张 caption 给模型挑
自动学图learn_meme 默认收录最近一张用户附件,也可传 URL;识图需当前模型支持图片输入
文字 token 发图[表情: 描述] → 前端配图;只渲染对话气泡
输入框一键发图会话输入框左侧 😊 按钮 → 悬浮面板选图 → 一点即发
情绪主动发图气氛对了就主动甩图;发完短接,让图自己说话
管理 API上传 / 编辑 / 删除 / 删除分类,全部在设置页完成,数据持久
图库切换设置页下拉切换已扫描图库;扫描目录默认 ~/.dsh/meme-packs
导出 / 导入图库一键打包 ZIP 分享,导入别人的包自动切换(零依赖实现)

日常命令(模型视角)

send_meme tag=sad limit=8          # 难过桶随机 8 张,挑一行 [表情: …] 贴进回复
send_meme tag=happy                # 开心/卖萌
learn_meme                         # 收录最近一张用户图(不必填 id)
learn_meme imageUrl="https://…"    # 收录任意图片 URL

情绪字典:happy 开心(卖萌/可爱/喜欢)/ angry 生气 / sad 难过(无语/求饶)/ shy 害羞 / confused 困惑惊讶 / daily 日常(睡觉/上班/早上好)。不满意再 search 同一 tag 换一批。

给模型的三条铁律

完整约定见 send_meme 工具描述。

  1. 把候选里的 [表情: 描述] 整段原样写进回复,不要加网址、不要改成 markdown 图片
  2. 没命中就换情绪或回文字,别硬发
  3. 发完保持简短,让图自己说话——不复述、不描述图的内容

图库来源

内置两套:

  • 大肥鱼id: dafeiyu-001,6 张鲸鱼娘 chibi:得意 / 干饭 / 生气 / 疑问 / 惊吓 / 晕),设置页可切过来。

  • 官方表情包1号id: official-001,默认)来自 Astrbot mememanager 官方初始表情包

  • 上游仓库:anka-afk/astrbot-meme-pack-official-01main 分支),维护者 anka-afk

  • 构成:index.db(SQLite 索引,含每张 caption/关键词)+ manifest.json(分类说明 + 来源标注)+ memes/<tag>/ 图片 + previews/

  • ⚠️ 上游未提供 LICENSE:这套图缺乏显式的再分发许可。随插件打包作为个人默认库使用没问题;如需公开对外分发,请保留 manifest.json 中的上游来源标注。

接到你的 Agent

组件说明
dsh-meme本插件:MemesStore(情绪抽图)+ send_meme(发送)+ learn_meme(学图)+ 管理 API
dsh-companion人设 + Hermes 记忆 + 消息通道;提供发图服务
图库内置 official-001 + dafeiyu-001,设置页扫描切换 / 导入分享包
dsh-meme/
  index.js          插件入口:memeRoot 配置 + 管理 API + learn_meme/识图
  memes.js          MemesStore:SQLite 索引 + 情绪桶随机抽图 + 路径安全
  client.js         前端:设置页面板(上传/编辑/删除) + 😊 悬浮窗 + [表情: 描述] 配图
  cordis.patch.yml  bundle patch(纯 insert,热挂载免重启)
  memes/
    official-001/   内置默认图库(92 张)
    dafeiyu-001/    内置大肥鱼(6 张鲸鱼娘)
  package.json      name / inject / peer deps
  README.md
  LICENSE

已知限制

  • learn_meme 自动识图依赖当前默认模型支持图片输入(不支持时可手动指定 tag/caption);
  • 磁盘上仍是细 tag(angry/baka/…),模型只认六个情绪桶;caption 对不齐时前端会折叠引号后再配图。

License

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

Plugin manifestDetected
DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Last updated
Aug 18, 2026, 1:47 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.