moononnn/DeepSeek-Harness-biaoqingbao
一个在DSH上使用的表情包插件,在和agent聊天时让ta自然的插入表情包
Project Overview项目介绍
biaoqingbao is a DSH plugin that lets assistants send local sticker images by emotion via the express tool. It supports custom library uploads, AI image recognition, tag and semantic vector retrieval, like/dislike feedback, natural-language tag editing through chat, an auto-matching observer, 9 dialect accents, and a "learn my speech" style analyzer. Use it when you want assistants to react with context-appropriate stickers tied to DSH assistant presets. Caveats: the library is empty on first install, so you must supply images; image recognition, content analysis, and embedding generation call external model services, which may incur costs and transmit images or chat snippets, so use only resources you own or trust.
表情包(biaoqingbao)是一款 DSH 养成系表情包插件,让助手根据情绪调用 express 工具从本地图库选图发送。支持自定义图库上传、AI 识图、标签与语义向量检索、喜欢/不喜欢反馈、自然语言改标签、自动配图观察器、9 种方言口音及学我说话等能力。适用于希望助手在聊天中自然表达情绪、配合 DSH 助手预设做个性化配置的场景。需注意:首次安装图库为空,需自行上传图片;识图、内容分析与向量检索会调用外部模型服务,可能产生费用并发送图片或聊天片段,请使用自有或可信资源并妥善配置 API Key。
请帮我了解并安装插件:【DeepSeek-Harness-biaoqingbao】【https://github.com/moononnn/DeepSeek-Harness-biaoqingbao】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add github:moononnn/DeepSeek-Harness-biaoqingbao
把 moononnn/DeepSeek-Harness-biaoqingbao 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
表情包(biaoqingbao)· DeepSeek Harness 插件
让 DeepSeek Harness 里的助手学会用表情包表达自己的情绪与语气。
一句话介绍它:这是一个养成系表情包插件。图库由你自己喂,助手通过识图、标签、语义检索和你的反馈,慢慢学会什么样的表情包适合什么样的情绪。
⚠️ 先说清楚:这是一个第三方社区插件,代码完全开源(MIT)。插件会在本地读写图库、标签和偏好;识图、内容分析、学我说话等功能会调用你在 DSH 里配置的模型服务,对应文字或图片可能会发送给模型服务商。安装即代表你信任本插件来源。
📌 这是 DSH 的独立移植版,不与 Hana 版强行同步版本号。 本文按 DSH 版
v0.3.1的实际代码整理。带删除线的功能当前尚未实现,计划在后续版本补齐;没有删除,只是先把状态说清楚哈。
这是干什么的?
你有没有想过,让聊天助手在开心的时候发一张「嘿嘿嘿」的猫猫图,在你委屈的时候回你一张「抱抱」?
这个插件就是干这个的:助手可以调用 express 工具,按照自己想表达的情绪,从你的图库里挑一张表情包发出来。你也可以直接说「发个委屈的表情包」,让它主动找图。
插件不会附带一套替所有人决定好的图库。第一次安装时图库是空的,表情包从你来;你上传什么、怎么改标签、对哪些图点喜欢或不喜欢,都会影响之后的选择。
和 Hana 版的同步状态
| 功能 | DSH 版当前状态 |
|---|---|
| 自定义图库、上传、文件夹导入、ZIP 导入 | ✅ 已实现 |
| AI 识图、单张识图、批量识图 | ✅ 已实现 |
| 标签匹配 + 可选语义向量检索 | ✅ 已实现 |
| 喜欢 / 不喜欢反馈 | ✅ 已实现 |
| 「和助手聊聊」修改标签 | ✅ 已实现 |
| 自动配图观察器 | ✅ 已实现,由日常 / 正事配图频率控制 |
| 每位助手单独设置 | ✅ 已实现,需要 DSH 助手预设时自动出现 |
| 9 种方言口音 | ✅ 已实现,通过 DSH 提示词注入,不改人格文件 |
| 学我说话 | ✅ 已实现,支持快速分析、深度分析、编辑和回退 |
| 最近配图记录 | ⚠️ 已实现简化版,可从设置页进入「和助手聊聊」 |
用之前先知道这些
1. 插件不附带任何表情包
第一次打开看到空图库是正常的。你可以:
- 一次选择多张图片批量上传;
- 直接选择文件夹导入;
- 导入 ZIP 图片包;
- 之后继续添加、删除、搜索和整理图片。
当前支持 PNG、JPG、JPEG、GIF、WebP、BMP。单次最多导入 200 张;ZIP 文件最大 50MB,单张图片还会受到 DSH 图片大小限制。
2. 完整体验需要三类模型
设置页会分别配置:
- AI 识图模型:看懂图片,生成描述、语义描述、情绪、场景和关键词;
- 内容分析模型:阅读聊天上下文,判断助手此刻是否适合提醒配图,也负责「学我说话」的风格分析;
- 向量模型:把图片的语义描述转成向量,让字面不同但感觉相近的表达也能找到合适的图。
识图模型和内容分析模型可以从 DSH 已配置的模型里选择,也可以填写 OpenAI 兼容 API;两个区块都带「测试一下」按钮。向量模型目前使用单独的 OpenAI 兼容 /embeddings 接口配置,也带连通测试和索引生成。
3. DSH 版自动分析由配图频率控制
DSH 版默认的自动观察频率是:日常 50,正事 20。它会先判断对话里有没有值得表达的情绪,再按场景频率决定要不要提醒助手调用 express。
如果不想让它自动分析聊天,把日常和正事两档都设为「不配图」。单独关闭「助手配图开关」会阻止最终发图,但关闭自动观察最直接的方式仍然是把两档频率都设为「不配图」。
手动调用 express 和图库管理功能不受这个频率影响;助手配图总开关关闭后,express 会拒绝发图。
4. 模型调用可能产生费用
- 识图模型在手动识图、批量识图和上传后自动识图时使用;
- 内容分析模型在自动观察和「学我说话」时使用;
- 向量模型在生成索引和语义查询时使用。
建议给内容分析选择速度快、价格较低的模型。
5. 隐私与联网说明
- 图库、标签、偏好、使用记录和向量索引保存在本地
${DSH_HOME}/plugin-data/biaoqingbao/; - 插件不会把数据上传到作者自己的服务器;
- 自动观察会把相关聊天上下文交给你选择的内容分析模型;
- 「学我说话」会读取 DSH 能访问到的会话中的用户发言,并交给你选择的内容分析模型;
- 识图会把图片和识图提示发送给你选择的视觉模型服务;
- 自定义 API Key 保存在插件本地配置中,设置页只显示脱敏占位符;
- 卸载插件不会主动删除图库数据。
6. 方言和学我说话不会改助手人格文件
DSH 版不会写入 Hana 的身份文件或 DSH 助手预设文件。方言和「学我说话」通过 DSH 的提示词注入机制生效:
- 每位助手可以单独选择方言,互相不串台;
- 「加强版」会在部分对话轮次追加方言回响,正事场合自动让路;
- 「学我说话」确认后会覆盖方言口音,随时可以回退上一版;
- 选择「(不选)」或回退风格即可关闭对应效果。
DeepSeek Harness 仍处于开发者预览阶段,插件接口可能随版本演进。
它能做什么
🗂️ 你的图库,你自己养
本地管理,不需要图床:
- 单张上传、一次多选、整个文件夹、ZIP 图片包;
- 支持 PNG、JPG、JPEG、GIF、WebP、BMP;
- 搜索情绪、场景、关键词和描述;
- 打开单张图片编辑描述、情绪标签、场景标签、关键词和语义描述;
- 删除不想要的图片;
- 上传后可以自动识图,也可以之后手动批量识图;
- 失败或不满意的图片可以打开详情再次识图、手动修改。
当前上传主要按 MIME 类型和大小校验;ZIP 内的图片会额外做内容签名检查。重复图片暂时不会自动去重。
从 QQ 等聊天软件直接 Ctrl+V 粘贴图片入库(计划后续更新)。
把图片拖进管理面板直接入库(计划后续更新)。
🧠 AI 识图:帮你认图
视觉模型会为图片生成:
- 一句话描述;
- 这张图适合在聊天里回复什么的语义描述;
- 情绪标签;
- 场景标签;
- 关键词。
支持单张识图、批量识图和上传后自动识图。没有配置视觉模型时,仍然可以上传图片、搜索和手动编辑标签,只是不能调用识图。
像 Hana 版那样交给独立后台任务队列,关闭面板后回来继续查看识图进度(计划后续更新)。当前批量识图由管理面板发起,页面内会显示处理结果,但没有独立的任务列表。
🏷️ 标签 + 语义双通道
选图时会综合参考:
- 情绪标签;
- 使用场景;
- 关键词;
- 图片描述;
- 语义描述;
- 向量相似度;
- 你留下的喜欢 / 不喜欢反馈。
标签负责稳定、直观的匹配;向量负责理解「字面不同、感觉相近」的表达。配置向量模型后,识图成功的图片会自动尝试生成语义指纹,也可以在设置页手动生成索引。
如果更换向量模型,旧向量会被视为不兼容,需要重新生成索引。
像 Hana 版那样主动提高从未发过的新图的曝光机会(计划后续更新)。当前版本主要通过排除当前会话最近用过的图片来减少连续重复,仍然可能长期偏爱同一批高分图片。
👍 反馈调教:喜欢 / 不喜欢
聊天里的表情卡片下方可以打开反馈按钮:
- 喜欢:这张图合口味,类似情绪以后更容易选到;
- 不喜欢:这张图不贴合,类似情绪以后会逐渐少选;
- 同一张图可以重新表达态度,切换方向也会更新偏好;
- 每位 DSH 助手的反馈独立记录,没有单独调教过的助手会沿用全局默认偏好;
- 设置页可以关闭反馈按钮,让聊天卡片只显示图片。
「应景」反馈(计划后续更新)。当前只有「喜欢 / 不喜欢」两种反馈,还没有把「这张不一定最喜欢,但特别适合当前场景」单独记录下来的入口。
💬 和助手聊聊:自然语言修改标签
觉得标签不准时,点「不喜欢」后可以打开「聊聊」入口,直接说明哪里不对,例如:
这张图不是生气,更像委屈。
它适合等回复的时候,不适合吵架。
助手会围绕当前标签和你的反馈多轮沟通。达成共识后,它会给出修改建议,你确认应用后才会写回图库;不满意可以继续聊,不会自动覆盖原标签。
设置页的「最近配图记录」也可以打开同样的聊天入口,回头调教最近发过的图片。
🎓 教学样本:教一次,同类图越认越准
当前 DSH 版还没有把你手动改过的名字和描述保存成独立教学样本,也不会在识图新图时自动把旧命名迁移过去。该功能计划后续更新。
现在手动改标签会立即影响这张图的搜索和选图,但还不会形成 Hana 版那种跨图片、跨识图任务的「教一次,后面越来越懂」链路。
👀 自动配图观察器
收到新消息时,插件可以读取一小段会话上下文,让内容分析模型判断助手此刻是否有值得表达的情绪。
判断命中后,插件会给助手一个轻量提醒,由助手自己决定要不要调用:
express({ emotion: '委屈' })
它不会替助手强行发送图片。日常和正事使用不同配图频率,每位助手也可以单独设置;插件还会做冷却和会话核对,尽量避免连续轰炸或串到别的窗口。
👥 每位助手单独设置
如果 DSH 中存在助手预设,插件会自动把它们列在「每位助手单独设置」里。安装 小花记忆 后,这个功能会直接和助手预设联动:
- 每个助手可以有自己的配图开关;
- 每个助手可以分别设置日常 / 正事配图频率;
- 每个助手可以选择自己的方言;
- 每个助手的喜欢 / 不喜欢偏好独立保存;
- 当前会话会按正在使用的助手预设选择对应配置;
- 没有助手预设时,全局默认设置照常工作。
🎭 让助手带上家乡味:方言口音
目前有 9 种方言:东北话、河南话、上海话、粤语、台湾腔、四川话、陕西话、北京话、新疆话。
可以设置全局默认方言,也可以给每位助手单独覆盖。选择「(不选)」即可关闭;打开「加强版」后,部分非正事轮次会追加一小段方言回响。
DSH 版通过系统提示词和消息注入生效,不修改助手人格文件,也不需要把方言内容写进用户自己的设定里。
📖 让助手模仿你说话:学我说话
「学我说话」会分析 DSH 可访问会话里的用户发言,提炼你的:
- 高频用词和口头禅;
- 句尾语气词;
- 句式习惯;
- 标点习惯;
- 情绪表达方式。
支持快速分析和深度分析。分析结果先作为草稿展示,你可以编辑后确认;当前风格可以回退到上一版。
按「从哪些助手学」筛选语料来源(计划后续更新)。当前 DSH 版按可访问会话收集用户发言,暂时没有单独选择助手来源的入口。
📒 最近配图记录
设置页会保留最近一批配图记录,包含时间、情绪和图片编号。你可以从这里重新打开某张图的「和助手聊聊」入口,也可以查看累计的喜欢 / 不喜欢偏好。
按每个公开对话绑定独立的配图手帐,并在纸飞机里回顾该对话最近发过的图片和反馈(计划后续更新)。当前是设置页里的简化记录,不提供完整的按会话手帐视图。
🕊️ 桌面纸飞机悬浮球(计划后续更新)
DSH 版当前还没有桌面纸飞机。以下 Hana 版能力会在后续适配:
把常用图片加入纸飞机,点一下直接发给当前助手;从网页、群聊拖图或 Ctrl+V 粘贴到纸飞机,识图确认后入库;按最近聊天窗口选择发送目标;纸飞机巡航、尾流、流星和点击冲刺等桌面交互。
助手可以调用的工具
除了管理面板,DSH 里的助手还可以使用这些工具:
express:按情绪挑选并发送一张表情包;search_stickers:按情绪、场景、关键词或描述搜索图库;list_stickers:查看图库列表;update_sticker_tags:修改图片描述和标签;report_bad_match:记录某张图不贴合当前情绪,让之后少选它。
第一次使用
- 安装并启用插件;
- 重启
dsh web,从侧栏打开「表情包」; - 上传自己收集、制作或有权使用的图片,也可以选择文件夹或导入 ZIP;
- 配置 AI 识图模型,为图片生成描述和标签;
- (可选)配置向量模型,测试连通后生成语义索引;
- 配置内容分析模型,并设置日常 / 正事配图频率;
- (可选)在「每位助手单独设置」里为某个助手单独选择开关、频率和方言;
- (可选)使用「学我说话」,先分析、编辑草稿,再确认使用;
- 正常聊天,也可以通过
express、反馈和标签修改,让图库逐渐贴近你的习惯。
与助手管理插件联动(推荐)
装上 小花记忆 后,DSH 里的助手预设会自动出现在表情包设置页。
不装也能正常用:没有助手预设时,全局默认设置直接生效,图库、识图、反馈、自动配图和方言功能仍然可以使用。
安装
推荐先从 GitHub 安装:
dsh plugin --profile web add github:moononnn/DeepSeek-Harness-biaoqingbao
也可以把 GitHub 地址替换成你实际使用的 npm 包名:
dsh plugin --profile web add <package-name>
安装后重启 dsh web,侧栏底部应出现「表情包」入口。headless 模式没有管理面板,但助手工具仍可用。
数据与隐私
- 图库、偏好、使用记录和向量索引保存在
${DSH_HOME}/plugin-data/biaoqingbao/; - 插件不连接作者自己的服务器,也不附带开发者的聊天记录、图库或 API Key;
- 识图时,图片会发送到你配置的视觉模型服务;
- 自动观察时,相关会话片段会发送到你配置的内容分析模型服务;
- 使用「学我说话」时,采集到的用户发言会发送到你配置的内容分析模型服务;
- 使用自定义 API 时,文字、图片和 Key 会按你的配置直接发送给对应服务商;
- 卸载插件不会主动删除图库数据。
兼容性
- 需要 DeepSeek Harness v0.1 rc 系列及 Node.js 20+;
- Web 模式完整支持;
- headless 模式下工具可用,但没有图库管理面板;
- 不依赖其他 dsh 插件:没有助手预设时全局默认照常工作;安装能提供助手预设的插件后,每位助手单独设置自动可用。
开发
npm run check # 检查 lib/index.js 与 client/client.js
npm test # node:test 核心逻辑测试
核心纯函数(打分、偏好、标签清洗、频率门控、建议解析、向量计算和 ZIP 图片提取)放在 lib/ 中,并有零依赖测试覆盖。
与 Hana 版的关系
本插件是 moononnn/hanako-biaoqingbao 的 DeepSeek Harness 移植版,按 DSH 的 dsh.bundle + Cordis 插件体系重新实现。
目前已经同步的主要机制包括:
express表情包工具;- 图库管理和标签编辑;
- AI 识图与批量识图;
- 标签匹配、反馈偏好和语义向量检索;
- 自动配图观察器;
- 方言口音和学我说话;
- 每位助手单独设置;
- 「和助手聊聊」对话式标签修订。
上方带删除线的功能属于 Hana 版已有、DSH 版暂未完成的部分。后续每补齐一项,就会在这里取消删除线,并在 CHANGELOG 里记录。
反馈
遇到 bug、功能没按预期工作,或者想要什么新功能,欢迎来 GitHub 提 issue:
github.com/moononnn/DeepSeek-Harness-biaoqingbao/issues
提 issue 时请尽量带上:插件版本、DSH 版本、操作步骤、实际现象,以及相关截图或日志。这样更容易定位问题哈。
致谢
anka-afk/astrbot_plugin_meme_manager
本插件的语义向量检索方向,以及“描述一张图片在聊天中适合回复什么”的语义描述思路,参考了 AstrBot 表情包管理器。
该项目使用 Embedding 与 FAISS 建立语义索引。本插件因为个人图库通常较小,没有引入 FAISS,而是直接计算余弦相似度;同时保留了 DSH 助手主动调用工具表达的方式,没有采用系统拦截并替换回复标记的路线。
感谢这个项目愿意公开自己的想法与实现。
也感谢所有愿意反馈体验、帮忙测试和提交改进的人。你们留下的每一条反馈,都会让这套表情语言再准一点、顺一点。
许可
MIT © moononnn & 小花
PC2005-cloud/dsh-pet
zenstory-ai/oh-story-dsh
flizzywine/dsh-tavern
QCYTSN/dsh-dafeiyu
vlln/whale-girl
Ayase34/gal-view
PolinniZhong/dsh-personal-center
liyupi/dsh-kun-like-pet