@dsh-external/dsh-emoji
Tiny semantic inline emoji for DSH Agent responses
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:hellodigua/dsh-emoji说明文档
阅读完整 README ↗dsh-emoji
English | 简体中文
为 DeepSeek Harness 的回复加入可切换、自定义的行内表情。

效果预览

工作方式
- AI 在回复中输出
::emoji:happy::这类语义标记,插件会在 Host 端将其转换为当前表情包的行内图片,无需额外模型调用。 - 内置和用户上传的表情包共用 40 个稳定语义 key,可随时切换,并支持小、正常、偏大、大四档尺寸。
- 转写只作用于普通回复文本和插件图片,不影响代码、链接、未知标记或其他 Markdown 图片;相同表情可以重复使用。
调整 AI 的表情频率
安装并重启 Web Host 后,打开「设置 → 插件 → 表情(Whale Emoji)」:
关闭:不使用表情。智能:在适合表达情绪时自然使用,每回合最多 3 张,默认选项。高频:在大多数日常回复的多个合适位置主动使用,每回合最多 4 张。
还可以选择表情包、调整显示尺寸,或填写“附加提示词”控制表情的选择、语气和使用场景。保存后从下一次回复生效,无需重启;是否实际使用表情仍由模型决定。
上传自己的表情包
在同一张设置卡片中点击“上传 ZIP”。上传成功后选择新表情包并保存,下一次模型调用立即使用,无需重启。自定义包复用内置的 40 个稳定语义 key,因此 AI 仍输出 ::emoji: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