deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:feverZHONG/dsh-character-emote
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
对话右侧固定浮层实时显示当前角色的表情立绘:模型回复时调用 set_expression 工具声明情绪,
Host 更新状态,Client 每 2 秒轮询切图;设置 → 角色立绘 小节一键切换角色、一键刷新。
set_expression 或流式判定直接切图(默认)joy.png)没有变体档时,请求高强度立绘不再「原地不动」——
Host 返回 visualIntensity(0..1),浮层用 scale 放大模拟视觉强度;有变体图时照旧走档位图(向后兼容)| 路由 | 说明 |
|---|---|
POST /character-emote/mode |
body {mode: auto\|manual\|paused},切换情绪模式 |
POST /character-emote/apply |
body {emotion, intensity?, secondary?},手动应用情绪(设置页用) |
支持多个角色,一个角色一个目录,目录名就是角色名:
dsh-character-emote/
characters/
高奈利亚/ ← 角色:高奈利亚(目录名 = 角色 id,中文也行)
joy.png
anger.png anger-1.png anger-2.png anger-3.png
...
角色B/ ← 再建一个目录就是新角色
...
命名规律(与角色无关,每个角色目录内部都一样):
| 文件 | 含义 |
|---|---|
joy.png |
情绪 joy 的基础档(intensity 0) |
anger-1.png / anger-2.png / anger-3.png |
情绪 anger 的强度递进档(intensity 1/2/3) |
支持 png/jpg/jpeg/webp/gif。没有任何立绘时插件是空态(不显示任何默认角色); 图放好后在设置页点「🔃 刷新角色」即识别,不用重启。
# 安装(<dsh> 请替换为你安装的 DSH CLI 调用方式;装完重启才生效)
<dsh> plugin --profile <profile> add <本插件目录>
# 打包归档(npm 标准 tarball,可分发)
pnpm pack --pack-destination <产物目录>
# 卸载
<dsh> plugin --profile <profile> remove dsh-character-emote-plugin
立绘素材自备:仓库不含任何立绘图片(
characters/下的图不进版本库)。 按上面的目录规则把自己的图放进去即可。
shell.overlay 穿透层),圆角投影,角色 · 主情绪 + 副情绪 标签贴图下;浮层 pointer-events: none 不挡点按,仅图片本体可拖动/滚轮缩放;模型报情绪后最多 2 秒切图(手动/暂停模式下按模式规则处理)characters/(丢图/加角色后点一下即可,无需重启);空态时显示提示set_expression 支持 secondary 副情绪(如 surprise 主 + embarrassment 副 = 又惊又羞),标签与工具结果都显示 主 + 副index.js):import.meta.url 定位插件目录 → characters/* 扫描角色表(空则回退 emotes/,id default);
webServer 注册 /character-emote/characters|character|refresh|state|file/<name> 路由(basename + 白名单防路径穿越);
tools.register 注册 set_expression 工具,情绪枚举 = 全角色并集,execute 按当前角色校验;
refresh 时重扫角色表并重注册工具(枚举跟着变)client.js):slots 注册 shell.overlay 浮层 + settings.section 设置页,
fetch('/character-emote/state') 轮询,<img> 走相对路径加载$DSH_HOME 持久化set_expression 工具枚举是刷新时的并集快照:刷新会重注册,但重注册后需下一次模型调用才看到新枚举同族的其它 DSH 插件(各一个独立仓库):
双许可——文档与代码分开:
index.js、client.js 与其它源文件):MIT —— 拿去用、改、再发,保留版权声明即可。两份许可的全文:LICENSE(MIT)/LICENSE-DOCS(CC BY 4.0)。
莉娅(@feverZHONG)· 宇宙美好记录官
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。