前言¶
在 DeepSeek Harness(DSH)裏做對話 Agent,純文本回復往往缺少情緒層次。常見做法是讓模型直接輸出 Unicode 表情,但不同平臺的視覺風格不統一;或者在提示詞裏要求插入圖片鏈接,又需要額外約定格式、增加解析成本。
dsh-emoji 走另一條路:模型仍按既有習慣輸出 42 個允許的 Unicode 表情(對應 40 個穩定語義),Host 端在渲染時把它們替換成當前所選表情包的行內圖片。切換 B 站、貼吧、小紅書等內置包,或上傳自定義素材,都不需要改模型調用邏輯。
下面介紹這個由 hellodigua 維護的 DSH 插件,當前 npm 版本爲 0.3.1,GitHub 約 39 stars。
這是什麼¶
dsh-emoji 是面向 DeepSeek Harness Web Profile 的趣味換裝類插件,核心職責只有一件事:把 Agent 回覆裏的規範 Unicode 表情轉寫爲行內圖片。
維護者:hellodigua
目錄頁:SkillHub - dsh-emoji
源碼:github.com/hellodigua/dsh-emoji
核心功能¶
語義協議與轉寫規則¶
插件不根據正文猜測情緒,也不會自動補圖。轉寫只作用於:
- 40 個規範 Unicode 表情及其常見別名(例如
😄/🙂) - 本插件生成的圖片
代碼、鏈接、雙冒號文本、普通 Markdown 圖片和其他 Unicode 表情保持原樣。多張插件表情必須由有效正文分隔;相同表情可以在不同位置重複使用。
內置包與用戶上傳包共用 40 個穩定語義 key,可隨時切換,並支持小、正常、偏大、大四檔顯示尺寸。
內置表情包¶
README 展示了默認大肥魚表情,以及切換到貼吧、B 站表情包後的對話效果。同一套語義協議也可用於小紅書、抖音、微博等自定義表情包。
表情頻率控制¶
安裝並重啓 Web Host 後,在「設置 → 插件 → 表情(Whale Emoji)」中調整:
關閉:不使用表情智能:僅在表情有助於表達時使用,每回合最多 3 張(默認)高頻:每回合在所有回覆中加入合適表情,最多 4 張,放在對應當前情緒的句子或短段落後
還可選擇表情包、調整尺寸,或填寫「附加提示詞」控制選擇、語氣和使用場景。保存後從下一次回覆生效,無需重啓;頻率策略仍依賴模型遵循提示詞。
上傳自定義表情包¶
在同一張設置卡片中點擊「上傳 ZIP」。上傳成功後選擇新包並保存,下一次模型調用立即使用。
自定義包複用內置的 40 個穩定語義 key;AI 仍輸出同一組允許的 Unicode 表情,Host 只替換圖片。
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"
}
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。ZIP 上限 20 MiB,解壓後上限 80 MiB,單文件上限 2 MiB,圖片寬高均不得超過 512 像素。
用戶包保存在 $DSH_HOME/emoji-packs/(默認 ~/.dsh/emoji-packs/)。每個 key 的準確含義見倉庫內 EMOJI_KEYS.md。
安裝與啓用¶
使用 DSH CLI 把插件加入 Web Profile,然後重啓 Web Host:
dsh plugin --profile web add dsh-emoji
如需體驗預發佈版本,將包名替換爲 dsh-emoji@beta:
dsh plugin --profile web add dsh-emoji@beta
注意:普通 npm install dsh-emoji 只會把包加入當前 Node.js 項目,不會啓用 DSH 插件。
當前版本面向 npm @deepseek-ai/dsh@0.1.0-rc.7,DSH peers 聲明爲 ^0.1.0-rc.7。
典型用法¶
安裝並重啓後,無需改 Agent 代碼。模型在回覆中輸出允許的 Unicode 表情,例如 😊,插件會在 Host 端將其轉換爲當前表情包的行內圖片。
經過上面的步驟,在設置裏切換到貼吧或 B 站表情包,歷史消息和新回覆都會按新包渲染,語義不變、視覺切換。
若要控制表情密度,在設置中選擇 智能 或 高頻,必要時填寫附加提示詞,例如限定只在輕鬆對話中使用。
若要使用自有素材,按 pack.json 和 40 個 key 準備 ZIP,上傳後選擇並保存即可。
適用場景與注意¶
適合希望在 DSH 對話裏保留社區表情風格、又不想爲每套素材單獨改提示詞或解析邏輯的開發者。
幾點限制來自 README,使用前需知曉:
- 轉寫範圍固定,不會處理規範集以外的 Unicode 表情
- 頻率策略通過設置和提示詞引導模型,不保證每輪都按上限出圖
- 自定義包有體積和尺寸限制,格式校驗較嚴格
DSH 生態的理念是「一切皆插件」。SkillHub 等社區目錄由第三方維護,與 DeepSeek / 幻方無官方從屬關係。插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證(倉庫含 LICENSE 文件)。
本地開發需要 Node.js ^22.19.0 || >=24 和 pnpm 11:
corepack pnpm install
corepack pnpm typecheck
corepack pnpm test
corepack pnpm build
鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/hellodigua/dsh-emoji
- GitHub:https://github.com/hellodigua/dsh-emoji
- 插件索引:dshfind.com
dsh-emoji 把「模型寫 Unicode、Host 換圖片」這件事做成了可切換、可上傳的標準流程。若你正在 DSH 上打磨對話體驗,值得一試。