✨ 特性
📚 表情知识库
逐张标注:场景标签、动作描述、关联梗,双人表情含对象方向,对模型自身视觉依赖低。常驻上下文占用约 60 token。
|
🔍 情绪检索
按情绪和场景词打分,支持中文部分匹配;含随机去重。
|
🎨 本地模板
想 / 举牌 / 葱卷 / 上联 / 下联 / 抱,本地制作文字表情包。
|
🔄 增量同步
资源更新后自动拉取最新;默认懒下载。
|
🎛️ 自选表情
允许 agent 可以自己浏览、开关,或只用挑中的一小组;用户配置的黑 / 白名单始终优先。
|
🔌 通用接口
cordis 服务 stickers、[sticker:名字] 回复标记、MCP server、CLI 与公开 JSON,不绑定框架。
|
🐋 网页桌宠
dsh 网页界面右下角会出现 kiriyuki.com 的 大肥鱼网页桌宠。桌宠在独立的跨域 iframe 里运行,不接触 dsh 的会话;配置 pet: false 可关闭。
双击桌宠查 DeepSeek 余额:用的是 dsh 里已登录的 DeepSeek 账号或已设置的 API Key(两样都有时优先账号),只在双击时由本机 dsh 向 deepseek.com 查询,Key 和登录凭据不会发到别处,也只有本机页面能拿到结果;petBalance: false 可关闭。
|
🖼️ 模板示例
👥 角色
| 大肥鱼 | 大肥鱼形象基于 ZipZipPipe 与 上善无形 提供的形象;GPT娘形象基于 ZipZipPipe。
大肥鱼:拟人化的 DeepSeek 鲸鱼娘。深蓝长发、呆毛、女仆头饰。
GPT娘:拟人化的 ChatGPT,双人套组里的白色角色,白发龙娘,有龙角和 OpenAI 发饰。
双人表情的 dir 字段记录方向,例如 大肥鱼→GPT娘。 |
🚀 安装
dsh plugin --profile web add dsh-nekowhale-stickers
重启 dsh web 即可。dsh 0.2 也可以在网页侧栏 插件 → 添加插件 里填 dsh-nekowhale-stickers。也可以安装本地打包的 .tgz(pnpm pack)。
⚙️ 配置
最简单的方式:dsh 网页侧栏打开 插件 → 大肥鱼表情包(dsh 0.1.x 在 设置 → 插件 → 大肥鱼表情包),改完点保存,立即生效、无需重启。
也可以在 profile 的 cordis.patch.yml 里写默认值,网页里的设置会覆盖它:
- id: nekowhale-stickers
config:
promptMode: hint # skill | hint | index | off
frequency: normal # rare | normal | often
blacklist: [tag:舌吻] # id、文件名、编号、名字,或 pack: / tag: / emotion: / group: 前缀
| 项 | 默认 | 说明 |
|---|
packs | 两套 | 要使用的套组 |
autoSync | lazy | startup 启动时后台全量同步 · lazy 用到才下载 · off 完全离线 |
persona | self | self:模型就是大肥鱼,表情是它自己的表情(适合 DeepSeek);neutral:当作第三方表情包 |
promptMode | skill | 常驻提示的多少;index 会列出已启用表情,适合配合 allowlist 只挑几十张 |
agentCuration | true | 允许 agent 用 sticker_manage 自选表情 |
templates / banwords | true | 模板开关;与网站一致的屏蔽词过滤 |
returnImageToModel | false | 把图片附给模型看(消耗图像 token) |
pet | true | 网页界面里显示大肥鱼桌宠;false 关闭 |
petHeight / petBubbles | 211 / true | 桌宠大小(高度,像素)、对话气泡(关掉可少加载约 1.5 MB) |
petBalance | true | 双击桌宠查 DeepSeek 余额;false 关闭 |
🧰 工具
| 工具 | 作用 |
|---|
sticker_search | 按情绪 / 场景找表情,每条一行:名字|情绪|标签|方向 |
sticker_send | 返回一行 Markdown 图片,模型原样放进回复;传情绪词则随机取一张 |
meme_render | 用模板生成表情 |
sticker_manage | 浏览、详情、开关、模式、出处、同步 |
🤝 在其他插件和框架里使用
提供四种通用接口:
- cordis 服务(dsh 内的其他插件,如 QQ 桥接):
inject: ['stickers'],然后 ctx.stickers.search() / .file() / .url() / .render()。
- 回复标记:纯文本回复里写
[sticker:名字],或 [sticker:开心] 这类情绪词(同类随机取一张),桥接插件用 parseReply() 拆成文字与图片。NapCat / OneBot 发 GIF 时给图片段加 sub_type: 1 才会按表情显示。
- MCP(LangBot、NoneBot / AstrBot 的 LLM 插件、Claude / Cursor 类客户端等):
{ "command": "npx", "args": ["-y", "dsh-nekowhale-stickers", "mcp"] }
工具返回本地路径和公网 URL,由宿主自己发文件。
- 数据与 CLI(任何语言):
meta/nekowhale.json(线上 https://kiriyuki.com/meme/kit/nekowhale.json),或
npx dsh-nekowhale-stickers search 摸鱼
npx dsh-nekowhale-stickers index
npx dsh-nekowhale-stickers render 大肥鱼举牌 今天也要开心 -o sign.gif
亦可基于本仓库重新开发。
🛠️ 开发
pnpm install && pnpm build
node tools/dev/smoke.mjs /tmp/data # 用假 ctx 跑一遍全部工具
tools/annotate/:标注流程,抽帧拼图 → 多模态模型逐张标注 → build_meta.py 合并成 meta/nekowhale.json。
tools/art/:头图与展示图的合成脚本(背景底板 + 真实表情帧 + Live2D 立绘);成品图片由 kiriyuki.com 托管。
📄 许可
代码采用 Apache-2.0:允许对代码进行二次修改,修改或重新发布同类功能必须保留 NOTICE,即标明本仓库地址与表情包作者链接。
知识库数据(meta/ 等,见 LICENSE-ASSETS)采用 CC BY-NC 4.0:允许对资源进行二次分发,但必须保留原作者链接和网址,且禁止付费提供或用于其他商业用途。
表情包基础形象和模板由 可以叫我云大人/雾雪 制作;网页桌宠由 kiriyuki.com 提供。