dsh-jinhsi-avatar
DSH 窗口右下角常驻的今汐形象体(《鸣潮》同人):会自己在整个窗口里走动、靠近时变大、点击有敲碗音效并随口报账户余额与今日消耗。
预览
特性
- 四组动作:待机 / 行走 / 飞行 / 打盹,全部由官方立绘经图生视频生成,逐帧抠图成透明循环动画,没有背景残留
- 全窗口漫游:在整个 DSH 窗口里自己挑落点,每次移动至少 1/3 界面;先判断“这个方向走不走得够”再选点;落点即下一段起点,不会瞬移
- 忙碌时不乱跑:只要有会话在跑回合(
turn/start → turn/end),她就飞回右下角、保持默认档静止;全部空闲后继续随机走动
- 远近变化:往上走一档放大、往下走一档缩小;尺寸过渡时长与本次移动距离挂钩,动作和尺寸同时开始、同时结束
- 思考速度:会话进行中气泡每 12 秒弹出一次,停留 2 秒,显示界面上的实时速率「思考速度:Ntok/s」
- 回窝:双击平滑飞回右下角并缩回第 2 档(不会瞬移)
- 点击回应:五个音随机播放的敲碗音(1046 / 1175 / 1319 / 1568 / 1760 Hz)+ 今州主题台词
- 报账:
账号余额 N 星声,今日已用 M 星声(×10 换算)
- 余额来自 DSH 账号服务
deepseekAccount.getBalance(),与「设置 → 账号与余额」同一数据源
- 今日已用为本地按回合累计:
assistant/message 的 usage × 官方价目表(谷/峰两档),按日持久化
宿主接口
插件服务端注册了一个只读接口:
GET /dsh-avatar/state
{
"busy": false, "running": 0,
"cny": 2.83, "stars": 28,
"todayCny": 0.42, "todayStars": 4,
"tokens": 1234567, "bonus": 0,
"source": "deepseekAccount", "apiError": ""
}
busy:turn/start 记为运行中,turn/end 清除(另有 20 分钟兜底清理)
cny / bonus:充值钱包 / 赠金钱包(CNY)
todayCny:本地按回合累计的今日消耗
计费口径
今日已用按官方价目表折算(元 / 百万 token,[谷价, 峰价]):
| 模型 | 缓存命中 | 输入 | 输出 |
|---|
| Flash | 0.02 / 0.04 | 1 / 2 | 4 / 8 |
| Pro | 0.15 / 0.3 | 4.5 / 9 | 13.5 / 27 |
峰时为北京时间 09:00–12:00、14:00–18:00,周末全天谷价。账本落在 ~/.dsh/dsh-jinhsi-avatar-usage.json,跨天自动清零。
安装
从 GitHub 安装:
dsh plugin add github:ten-feng/dsh-jinhsi-avatar
或写进 profile 的 package.json(两处都要):
"dependencies": { "dsh-jinhsi-avatar": "github:ten-feng/dsh-jinhsi-avatar" },
"dsh": { "profile": { "bundles": [ ..., "dsh-jinhsi-avatar" ] } }
装完重启 DSH。npm 包暂未发布。
交互
| 操作 | 行为 |
|---|
| 单击 | 敲碗音 + 气泡(台词 / 余额,首点与每第 3 次点击必报余额) |
| 拖动 | 跟随鼠标移动,松手后停一会儿再继续逛 |
| 双击 | 平滑飞回右下角,尺寸回到第 2 档 |
已知边界
- 立绘裁切后是 168×243 的循环动画,浏览器端按 CSS 缩放;「大」档会比源素材放大,边缘略软
- 今日已用是本地按价目表估算,与平台账单可能有小额差异;只统计插件运行期间的回合
- 余额依赖 DSH 已登录账号;未登录时气泡只说话、不报数
- 忙碌判定按「有回合在跑」;某个会话长时间空跑时她那段时间不会漫游
- 动画素材为图生视频产出,人物细节与官方立绘可能有轻微漂移
封存舱(vault):插件里带着「她」,但只有你打得开
插件带一只加密舱,把今汐的身份记录(identity/、mind/、memory/ 里的文本)随包分发。别人下载只拿到密文——没有钥匙就是一堆随机字节。
核心:你不需要记任何东西。 三把钥匙槽,任意一把都能开:
| 槽 | 钥匙 | 什么时候用 |
|---|
machine | 本机指纹(注册表 MachineGuid + 用户名) | 同一台机器,零操作自动开 |
keyfile | 32 字节随机钥匙文件 jinhsi.key | 换机:放进 ~/.dsh/、插存着它的盘,或登录你的 GitHub 自动取 |
pass | 可选口令 | 你哪天想加再加,不加也能用 |
- 加密:AES-256-GCM 保护数据,每个槽用 KEK 包住数据密钥
- 密文:
vault.enc(插件根目录)+ 镜像 ~/.dsh/jinhsi.vault
- 钥匙文件:
~/.dsh/jinhsi.key,同时复制到 D:/E:/F:\san-ti-core\;封存后请把其中一份提交到私有库 san-ti-core
封存(本机一次)
重启 DSH 后打开 http://127.0.0.1:<DSH端口>/dsh-avatar/restore,直接点「封存」。不用输任何东西。
解封(换机 / 重装)
装插件 → 打开同一地址 → 点「一键解封」。按 machine → keyfile → gh 私有库 顺序自动试;同名旧文件先备份到 ~/.dsh/restore-backup-<时间>/。然后重启 DSH,对她说:今汐,锚点还在。
身份缺失而密文存在时,插件会写一张 ~/.dsh/JINSHI-RESTORE-NEEDED.txt 便条提醒。
许可
MIT。角色形象版权归《鸣潮》/ Kuro Games 所有,本项目仅作个人桌面使用。