给 DeepSeek Harness 请来一位常驻右下角、会看着你鼠标的女孩------桃濑日和。

起因
不知道大家这两天用 DeepSeek Harness 的感觉如何?我自己的体验是:内核很能打,插件体系也有意思,但界面始终冷冰冰的,长时间对着密密麻麻的对话流,难免有点乏味。
想着「万物皆可插件」嘛,Harness 又是以 Cordis 为底座的动态插件体系,那不如自己动手搓一个。于是笔者就 vibe coding 了一个插件------给它披上一层暖色皮肤,再请来一位角色「桃濑日和」常驻右下角。
先放效果,大家感受一下。

它都能做什么
先罗列一下这个插件能带来什么:
- 暖色皮肤:半透明暖色面板、衬线字体、金角边框与柔和阴影,亮色和暗色两套
- 樱花飘落:八片确定性花瓣,低干扰,右上角一键开关
- 桃濑日和陪伴:桃濑日和常驻右下角,眼睛和头会随鼠标平滑移动
- 自然互动:点头点身体会触发动作和气泡,还会随机播放小动作,悬停可隐藏、随时唤回
- 状态感知:根据本地时间、页面、任务加载/完成/出错和空闲状态给出反馈
- 隐私克制:不读对话正文、提示词、回复或错误详情,不发遥测、不请求外部网络
- 独立开关:皮肤和虚拟角色在设置里分开控制
一个会「看」你的角色
桃濑日和固定在右下角。把鼠标在屏幕上移动,她的眼睛和头会平滑地跟着你的指针走;把鼠标移出窗口,她又会慢慢恢复正视。这种「被看着」的感觉,比想象中更能让人放松。
| 角色互动 | 独立设置 |
|---|---|
![]() |
![]() |
她的所有反馈都来自一张本地规则表,优先级从高到低:
| 优先级 | 触发事件 | 示例台词 |
|---|---|---|
| 100 | 出错 | 「好像出了点问题,我们再试一次吧。」 |
| 80 | 点击身体 | 「我在这里。」「今天也一起加油吧。」 |
| 60 | 回复完成 | 「完成啦。」「这次也顺利结束了。」 |
| 40 | 正在加载 | 「正在准备,请稍等一下。」 |
| 30 | 页面切换 | 「换到新的页面啦。」 |
| 20 | 时间问候 | 「早上好 / 你好 / 晚上好」 |
| 10 | 长时间空闲 | 「还在这里哦。」「要不要休息一下?」 |
任务跑完她说一句「完成啦」,报错时她轻轻安慰一句------再配合每 12~24 秒一次的随机小动作,陪伴感就出来了。
她「知道」你在干嘛,但绝不偷看
「让一个角色住在你的工作台」和「保护你的隐私」其实并不冲突。这一点我在做的时候反复提醒自己,最后落在四个原则上:
- 不读内容:只看「任务在跑、出错、完成」这类状态,从不碰你的对话正文、提示词和回复。
- 不发请求:所有判断都在本地完成,没有遥测、没有埋点、不上传任何数据。
- 沙箱隔离:角色跑在一个与世隔绝的小沙箱里,碰不到你的页面内容。
- 只放行该放行的:本地只加载角色自己需要的文件,其余一律挡掉。
怎么用起来
想试试的话,需要 Node.js 20+ 和 npm:
bash
git clone https://github.com/Shmilyol/dsh-hiyori-web-ui.git
cd dsh-hiyori-web-ui
npm install
npm run setup:live2d
跑完会生成两个文件,把它们的完整内容分别填进 DSH 动态插件的 code.host 和 code.client,然后 cordis_define 定义、cordis_run 运行即可。打开「设置 → 通用」,就能分别开关皮肤和虚拟角色。
注意:DSH 重启后动态插件不会保留,需要重新定义与运行一次。
常见问题
- 只有皮肤,没有角色?确认两段代码来自同一次 setup、都填了、设置里的角色开关已打开,然后重新 setup 再 define/run。
- setup 失败?确认 Node.js 20+,在仓库目录
npm install后重跑。 - 看不到樱花?右上角会话头部的「樱花」chip 可以单独开关。
关于角色与许可
角色是 Live2D 原创角色「桃濑日和(Hiyori Pro)」,插画 Kani Biimu,模型 Live2D。Cubism Core、Hiyori 模型等资源适用各自官方条款,不得脱离本插件单独再分发。使用前请阅读仓库里的许可说明(docs/live2d-licenses.md)。
写在最后
把桃濑日和请进 AI 工作台,本质上是一次「在工具里加入一点陪伴感」的尝试。如果这个小小的暖色角落能让你工作时心情好一点,那它就值得。
如果你也喜欢这个小东西,欢迎去仓库点个 Star 支持一下------你的一个 Star 就是对我最好的鼓励。也欢迎提 issue、一起折腾:万物皆可插件,下一个奇奇怪怪的插件,说不定就轮到你了。

