为 AI 回复自动添加表情。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:hellodigua/dsh-emoji
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 简体中文
为 DeepSeek Harness 的回复加入可切换、自定义的行内表情。

效果预览
默认的大肥鱼表情:

切换到贴吧表情包后,也能使用同一套语义协议展示贴吧表情:

上传并切换到 B 站表情包后,也能保留熟悉的社区表达风格:

同一套语义协议也可用于小红书、抖音、微博等自定义表情包。
安装
使用 DSH CLI 把插件加入 Web Profile,然后重启 Web Host:
dsh plugin --profile web add dsh-emoji
如需固定当前版本,使用 dsh-emoji@0.2.0。普通 npm install dsh-emoji 只会把包加入当前 Node.js 项目,不会启用 DSH 插件。
工作方式
- AI 想加入情绪或装饰性表情时,内置协议要求它输出
::happy::这类语义标记;插件会在 Host 端将其转换为当前表情包的行内图片,无需额外模型调用。 - 内置和用户上传的表情包共用 40 个稳定语义 key,可随时切换,并支持小、正常、偏大、大四档尺寸。
- 转写只作用于插件 marker 和插件图片,不影响普通正文中的 Unicode emoji、代码、链接、未知标记或其他 Markdown 图片。多张插件表情必须由有效正文分隔,相同表情可以在不同位置重复使用。
调整 AI 的表情频率
安装并重启 Web Host 后,打开「设置 → 插件 → 表情(Whale Emoji)」:
关闭:不使用表情。智能:仅在表情确实有助于表达时自然使用,每回合最多 3 张,默认选项。高频:更积极地考虑使用,但不强制每次出现,也不追求多张;每回合最多 4 张。
还可以选择表情包、调整显示尺寸,或填写“附加提示词”控制表情的选择、语气和使用场景。保存后从下一次回复生效,无需重启;是否实际使用表情仍由模型决定。
上传自己的表情包
在同一张设置卡片中点击“上传 ZIP”。上传成功后选择新表情包并保存,下一次模型调用立即使用,无需重启。自定义包复用内置的 40 个稳定语义 key,因此 AI 仍输出 ::happy:: 等 marker,只替换最终图片,不需要重新猜测每套素材的含义。
ZIP 可以直接包含下列文件,也可以再包一层同名目录:
my-whale.zip
├── pack.json
└── images/
├── happy.png
├── sad.png
├── thinking.png
├── celebrate.png
└── ...其余标准 key
pack.json 格式:
{
"schemaVersion": 1,
"keySet": "dsh-emoji-core@1",
"id": "my-whale",
"name": "我的鲸鱼表情",
"version": "1.0.0"
}
schemaVersion 表示 ZIP 技术格式,keySet 表示图片实现的语义集合。当前上传包必须声明 dsh-emoji-core@1;每个 key 的准确含义、相近语义边界和绘制建议见 核心语义契约。
40 个文件名 key 是:
happy, sad, confused, watching, angry, speechless, doge, overloaded,
neutral, laughing, crying, sweating, thinking, okay, nodding, sleeping,
hurt, peeking, approve, heart, shy, star-eyes, laugh-cry, touched,
scared, facepalm, eye-roll, sigh, frustrated, playful, snickering,
sarcastic, cool, celebrate, cheer, thanks, sorry, hug, please, applause
每个 key 必须且只能提供一个同名 .png。id 使用小写字母、数字和连字符,version 使用 SemVer;同一个 id@version 的内容不可覆盖,更新素材时必须提升版本。ZIP 上限 20 MiB,解压后上限 80 MiB,单文件上限 2 MiB,图片宽高均不得超过 512 像素;路径逃逸、额外文件、缺失 key、未知 keySet、伪造格式和同版本冲突都会被拒绝。
用户包保存在 $DSH_HOME/emoji-packs/(默认 ~/.dsh/emoji-packs/),Settings 只保存当前 id@version。从选择列表“移除”不会物理删除素材字节,因此历史消息里的版本化 URL 仍能回放;重新上传完全相同的 ZIP 可以恢复该版本。
兼容性
当前版本面向 npm @deepseek-ai/dsh@0.1.0-rc.6,DSH peers 声明为 ^0.1.0-rc.6。本地开发固定精确 rc.6 类型链,部署时由 Web Profile 提供共享运行时。
本地开发
需要 Node.js ^22.19.0 || >=24 和 pnpm 11。
corepack pnpm install
corepack pnpm typecheck
corepack pnpm test
corepack pnpm build
corepack pnpm pack --dry-run
链接
同类插件
Nagi-ovo/dsh-ads★ 318
2005 年中文站点风格的整活广告插件:侧栏广告/信息流/角落弹窗 + 假关闭叉,素材全虚构。
vlln/whale-girl★ 121
桌面宠物(QQ 宠物形态):右下角悬浮、可拖拽/投喂/玩耍。
omdsh-dev/dsh-gomoku★ 12
与 AI 下五子棋,也可让 AI 对局比棋力。
lhh010/dsh-minigames★ 12
右侧小游戏面板:18 款离线小游戏,等模型回复时的摸鱼神器。
AnacondaKC/dsh-stock-market★ 11
有效解决了写代码的时候账户不能同时亏钱的 BUG。
william-jin-cmu/dsh-stickers★ 10
用户与 agent 双向表情贴纸互动。