渡劫飞升:仙逆王林修炼伙伴。实时监控会话状态,用打坐、掐诀、御剑、雷龙等丰富交互动画演绎大模型的每一个动作,随使用修炼升境。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-plugin-ascension
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:d-ouyang/dsh-plugin-ascension
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
🇨🇳 简体中文 | 🇬🇧 English
dsh-plugin-ascension
一个悬浮在 dsh web 界面里的《仙逆》王林修炼伙伴。它实时监控 LLM 会话状态并驱动动画(思考 = 掐诀推演,工具调用 = 施展神通,回复 = 凝神书字,完成 = 突破飞跃,失败 = 反噬受伤),并且随你的使用一路修炼升境(凝气 → 筑基 → 结丹 → 元婴 → 化神 → 婴变 → 问鼎),境界越高皮肤越华丽。
状态监控、状态机、亲和力/修为经济三个纯逻辑模块,移植并重新主题化自
@linxin666/dsh-pet(MIT)。
安装
# 方式一(推荐):从 npm 安装
dsh plugin --profile web add dsh-plugin-ascension
# 方式二:从 GitHub 安装
dsh plugin --profile web add github:d-ouyang/dsh-plugin-ascension
# 本地开发:dsh plugin --profile web add ./dsh-plugin-ascension
安装后重启 web 服务(:3080)。
功能
状态监控(宠物把 LLM 正在做什么"演"出来)
宿主订阅官方会话事件流(ctx.on('session/event')),映射为 7 个相位、驱动 9 条动画轨道:
| 相位 | 触发 | 气泡文案 | 动画轨道 | 雪碧图行号 | 帧 |
|---|---|---|---|---|---|
| idle | 停止 / 无会话 | 停止修炼 | stand | 6 | 雪碧图(站姿占位) |
| waiting | 开始/入定/等待输入/被阻断 | 凝神入定 · 静待机缘 | meditation | — | meditation.webp(✅ 真实) |
| thinking | LLM 推理 | 掐诀推演 · 参悟神通结果 | running | 7 | 雪碧图(✅ 真实) |
| tool | 工具调用 | 正在施展神通 · 还有 N 道神通未了 | running | 7 | 雪碧图(占位) |
| review | 流式回复 | 凝神书字 · 整理心得 | running | 8 | 雪碧图(占位) |
| done | 一轮完成 | 圆满出关! | running-right | — | dragon.webp(✅ 真实,雷龙庆祝) |
| failed | 工具报错 / 中断 / token 耗尽 | 神通反噬 · 心魔反噬 · 灵力枯竭 | stand | 6 | 雪碧图(站姿占位) |
- 相位持续期间动画乒乓循环(0→1→…→n→…→1→0)
- done 庆祝窗口:普通完成 3 秒、突破境界 6 秒(
celebrateMs,由onStatus的 opts 传入)
修为与境界
- 每完成一轮对话 +1(修炼);点击宠物 +1(论道,3 分钟冷却);喂丹药 +1(30 秒冷却)
- 7 重境界(凝气 → 筑基 → 结丹 → 元婴 → 化神 → 婴变 → 问鼎),阈值在
ascension-core.js的REALMS里可配 - 升境触发突破动画并自动切换到下一境皮肤;缺皮肤的境回退到上一境皮肤
交互与效果
| 交互 | 效果 |
|---|---|
| 点击宠物 | 论道(+修为,上方或左侧弹出反馈气泡) |
| 拖拽宠物 | 移动位置(持久化到配置) |
| 悬停宠物 | 古风面板:境界徽章 + 修为进度条 + 丹药/隐藏按钮 |
| 点击隐藏 | 王林缩入天逆珠(右下角);珠子循环播放金木水火土旋转渐变 |
| 点击珠子 | 王林从珠中重新现身(先播动画,配置异步同步) |
- 悬停时气泡移到宠物左侧,不与面板重叠
- 所有过渡乐观渲染,不等待 API 返回
设置分区(设置 → 渡劫飞升)
底部带保存 / 取消的整宽表单(保存时生效):
- 启动:总开关,关闭后停止监控与动画
- 隐藏宠物:显示/隐藏宠物本体
- 称呼、皮肤、尺寸(60–400 px)、距右侧 / 距底部
工具
在对话里问:"王林现在什么境界?" → ascension_status 返回境界 / 修为 / 距下一境 / 论道与丹药次数 / 当前动画。
制作皮肤(重要)
一套皮肤 = 一个目录(pet.json + 一张雪碧图),固定 9 行动作顺序:
| 行 | 动作 | 帧 | 王林姿态 |
|---|---|---|---|
| 0 | idle | 6 | 垂手站立(占位) |
| 1 | sword | 4 | 御剑 |
| 2 | running-left | 8 | 御剑向左 |
| 3 | waving | 4 | 抱拳行礼 |
| 4 | jumping | 5 | 突破飞跃 |
| 5 | failed | 8 | 受伤姿态(占位) |
| 6 | stand | 6 | 静立凝神(idle/failed 站姿) |
| 7 | running | 6 | 掐诀 |
| 8 | review | 6 | 以气书字 |
- 格子尺寸:当前皮肤为
768×832(4× 高清),由pet.json的cell字段声明——任意尺寸皆可 - 推荐流程:用即梦生成一段循环动作视频,逐帧拆分(同一视频拆帧能保证人物位置稳定),导出逐帧 PNG
- 抠图:纯色背景用色度键 + 补洞 + 边缘羽化(保留灵光特效、去灰边);银白发丝自动提亮以消除灰色闪烁
- 打包(需要 sharp):
→ 输出cd dsh-plugin-ascension pnpm install node skin-pack.js <skin-id> --name "王林·凝气期"assets/<id>/(spritesheet.webp + pet.json + previews/) - 免改代码热插拔:把打包好的皮肤目录拷到
~/.dsh/ascension/skins/<id>/(用户目录皮肤优先) - 境界 ↔ 皮肤 id:
wang-lin-1..wang-lin-7对应 7 重境界
数据与 API
- 持久化:
~/.dsh/ascension/(state.json / settings.json) - RPC:
/api/ascension/{state, interact, set-enabled, set-visible, set-config, set-skin}、/api/ascension/skins/<id>/*(皮肤资源)、/api/ascension/tiannizhu/*(天逆珠动画)
开发
dsh-plugin-ascension/
├── index.js # 宿主:会话事件订阅 + 修为服务 + RPC + 皮肤注册表
├── ascension-core.js # 纯逻辑:境界 / 修为 / 事件投影 / 状态机
├── client/client.js # 客户端:设置分区 + 悬浮宠物 + 天逆珠(手写 bundle)
├── skin-pack.js # 皮肤打包器:帧 → 雪碧图 + pet.json + previews
├── assets/ # 内置皮肤(wang-lin-1)+ 天逆珠动画
└── cordis.patch.yml / package.json
注:npm 包与 git 仓库只收录运行时必需资源。皮肤源帧(
skins/)、天逆珠源视频与源 PNG 属制作素材,未纳入分发。
致谢
状态监控 / 状态机 / 修为经济移植自 @linxin666/dsh-pet(MIT License)。
许可
MIT © ouyangding
链接
同类插件
zhu1090093659/dsh-web-ui#packages/dsh-pet★ 6885
常驻界面的鲸鱼娘:随智能体状态切换动画,可摸头互动、喂小鱼干养亲密度,从幼鲸一路养成。
Nagi-ovo/dsh-ads★ 606
2005 年中文站点风格的整活广告插件:侧栏广告/信息流/角落弹窗 + 假关闭叉,素材全虚构。
PC2005-cloud/dsh-pet#dsh-pet★ 544
DSH Web UI 桌面宠物:25 个透明动画、屏幕漫游、点击反应与拖拽,附可复现的素材生成链。
vlln/whale-girl★ 311
桌面宠物(QQ 宠物形态):右下角悬浮、可拖拽/投喂/玩耍。
yyh-001/dsh-meme★ 75
聊天表情包:纯文本斗图、情绪主动发图、像 QQ/微信 一样发图、AI 自动学图、自定义表情包。
Awu12277/dsh-stock-watch★ 71
A 股自选股实时行情盯盘插件:在 DeepSeek Harness(DSH)Web 界面的右上角显示一个可折叠弹窗,实时监控自选股行情、切换分组、查看分时与 K 线、设置买卖目标价。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。