voyager
Nagi-ovo
Enhancement suite for Gemini, AI Studio, Claude & ChatGPT — plus a prompt manager for any web UI, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件;提示词管理器可用于任意 Web UI,含 DeepSeek Harness。
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:yyh-001/dsh-meme
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
表情包插件 dsh-meme — 找得到、发得出、学得会
宣传页:yyh-001.github.io/dsh-meme(表情包合集可预览;仓库加 topic dsh-meme-pack + previews/ 即收录)
dsh-meme(原 dsh-expression)是 DeepSeek Harness 的表情包插件——找得到、发得出、学得会:
[表情: 描述],无需图片输入能力learn_meme 收录最近一张用户附件(不必填附件 id),自动识别分类/描述已发布到 npm(dsh-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.yaml的minimumReleaseAgeExclude里加上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 的图片准入检查:
[表情: 描述](不要带网址)“” / "")会折叠后再匹配learn_meme设置页「表情包」面板(已美化):
输入框 😊 一键发表情包:点开面板 → 搜索 / 浏览缩略图 → 点一张直接发出。
两条路:发给朋友,或挂到宣传页让别人预览。
发给朋友
dsh-meme-pack-日期.zip请用插件导出的 ZIP。GitHub 仓库页上的「Download ZIP / 下载源码」是压缩过的,导入会失败。
挂到宣传页
index.db、manifest.json、memes/)previews/,放 6–12 张缩略图(jpg/png),宣传页靠它们做预览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 工具描述。
[表情: 描述] 整段原样写进回复,不要加网址、不要改成 markdown 图片内置两套:
大肥鱼(id: dafeiyu-001,6 张鲸鱼娘 chibi:得意 / 干饭 / 生气 / 疑问 / 惊吓 / 晕),设置页可切过来。
官方表情包1号(id: official-001,默认)来自 Astrbot mememanager 官方初始表情包:
上游仓库:anka-afk/astrbot-meme-pack-official-01(main 分支),维护者 anka-afk
构成:index.db(SQLite 索引,含每张 caption/关键词)+ manifest.json(分类说明 + 来源标注)+ memes/<tag>/ 图片 + previews/
⚠️ 上游未提供 LICENSE:这套图缺乏显式的再分发许可。随插件打包作为个人默认库使用没问题;如需公开对外分发,请保留 manifest.json 中的上游来源标注。
| 组件 | 说明 |
|---|---|
| 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);CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: qq-bot、semantic-search。