@weibaohui/dsh-kite:用 agent 活动度驱动屏幕上的动画风筝

前言

在 DeepSeek Harness(DSH)里用 agent 写代码时,界面往往只有日志、工具结果和 token 统计,缺少一种「当前会话有多忙」的直观反馈。有人会在侧边开监控面板,有人干脆不看。@weibaohui/dsh-kite(社区目录名 weibaohui/dsh-kite,分类「趣味换装」)走另一条路:在 Web 界面加一层透明 canvas 浮层,把 token 用量和会话事件映射成一只潍坊系风格风筝的飞行高度与动作——忙时升高、工具成功抖擞、失败俯冲、里程碑翻滚、收工双圈庆祝。它不替代 DSH 本体能力,也不改 agent 逻辑,只占用视觉层和事件订阅。

这是什么

维护者 weibaohui 在 npm 发布 @weibaohui/dsh-kite(当前 package.json 版本 0.5.0,MIT)。插件面向 DSH Web 端:宿主侧订阅 session/event 做能量累计与事件分类,经 dsh-event-hub 或回退 SSE/轮询把 {activity, tier} 和阵风脉冲推给客户端;客户端用 position: fixed; pointer-events: none 绘制风筝,不挡点击。引擎 README 概括为「放风筝引擎」——token 越多、事件越密飞得越高,并附带硬翅/软翅/板式/立体/串式等骨架卡组与自定义贴图。

核心功能

活动度与高度

每轮 token 经 log 曲线累入按 τ≈75s 衰减的能量池,映射成 0..1 活动度,直接决定目标飞行高度(升快落慢)。agent 停手约一分钟,风筝会缓缓落回低空滑翔。设置项 responsiveness(默认 1,范围 0.3–2)可调「活动度→高度」的响应强度。

事件驱动的动作

事件 行为
assistant/message(token 用量) 累入能量池 → 活动度 → 目标高度
turn/end 上升冲量(规模随本回合 token)
tool/result 成功 扑翼抖擞 + 微风(合批)
tool/result 失败 俯冲 + 乱流(合批,克制)
累计 output 跨档 空中翻滚 + 高度地板永久抬升(2k/8k/20k/50k/120k/300k 六档)
todo/write 全完成 双圈翻滚庆祝(5 分钟冷却)
session/created 换一只新风筝(洗牌袋不放回、不与上一只重复)

除新会话外,轮次结束、报错、子代理启动、里程碑跨档、收工等也可触发当场换新(设置页「换新时机」可逐项勾选,默认全开,普通工具调用除外,10 秒冷却防连换)。

潍坊谱系卡组与贴图

15 种骨架 × 11 种图案画师 × 12 套传统配色,策展 26 张卡;换风筝走洗牌袋,带 1–5 稀有度加权。形状、图案、配色在 client/kite-cards.js 里纯数据化,引擎通过 resolveCard()、paintSail() 消费。设置页可按骨架开关(config.frames)、钉住某只(config.preferredFrame 或 auto),或上传照片作为贴图(客户端压到 ≤640px,与帆面共用仿射位姿,正侧翻面实时变换)。

交互与显示

  • 风场朝鼠标指针偏置,可关「鼠标联动」。
  • 风筝线墨色:随主题 / 彩虹流转(速率随活动度)/ 自定义纯色。
  • 显示范围:fullscreen、left、right、bottom-left、bottom-right。
  • 明暗主题跟随 DSH 官方主题;prefers-reduced-motion 默认停放(可用 ignoreReducedMotion 覆盖)。
  • 渲染 30fps 节流,页面隐藏时暂停。

与 DSH 生态的衔接

事件经 dsh-event-hub 单连接推送(与烟花/矩阵/进程等插件共用);枢纽缺席时降级自有 SSE(GET /dsh-kite/api/stream)或增量轮询(GET /dsh-kite/api/updates?since=)。不装枢纽时插件仍可独立工作。

安装与启用

安装命令(来自 README,勿自行拼接 github 路径):

dsh plugin --profile web add @weibaohui/dsh-kite -w

装完后重启 dsh web 即生效。入口在 设置 → 放风筝(管理面板与试飞按钮)。

版本兼容性(README 表格):插件 0.1.0 在 @deepseek-ai/dsh 0.1.7-rc.2 验证;package.json 声明 engines.dsh 为 >=0.1.7-rc.2,Node >=22.5。发版约定是每版在上表追加一行记录实际验证的 dsh 版本。

典型用法

  1. 正常编程即可:token 涌入攀升 → 工具调用抖擞 → 跨里程碑翻跟头并抬高高度地板 → 收工双圈 → 新会话自动换新。
  2. 嫌干扰:设置里收窄 region、调低 responsiveness,或 enabled: false 收线。
  3. 自定义形象:设置 → 自定义贴图 上传图片,开启 decalEnabled;可调 decalOpacity(0.3–1)。
  4. 固定某骨架:设置 当前风筝 → 钉住(如沙燕),或在 frames 里关掉不喜欢的骨架 id。
  5. 浏览器控制台(README 彩蛋):
__dshKite.next()              // 换一只
__dshKite.pulse('milestone') // 手动来风
__dshKite.stats()             // 飞行状态
  1. 未装插件时预览:打开仓库内 demo/demo.html(?act=0..1 锁定活动度,?frame=shayan 钉骨架,右上角可传贴图)。

常用配置键(持久化在 storageDomain dsh_kite,可通过设置页或 HTTP API 读写):

键 默认 说明
enabled true 总开关
intensity 1 风力/体型 0.3–2
responsiveness 1 高度响应 0.3–2
region fullscreen 显示范围
preferredFrame auto 洗牌或骨架 id
frames {} 按骨架开关
decalEnabled false 使用用户贴图
decalOpacity 0.9 贴图浓淡
ignoreReducedMotion false 是否无视系统减弱动态

贴图 API:PUT /dsh-kite/api/decal(≤660KB,png/jpeg/webp);试飞 POST /dsh-kite/api/test,body 如 { kind?, magnitude? }。

适用场景与注意

适合谁:长期在 DSH Web 里跑 agent、希望用轻量视觉反馈感知会话节奏的开发者;喜欢潍坊风筝元素或想玩卡组/贴图的用户。属于「趣味换装」类插件,不改变 harness 行为。

权限与安全:插件以当前 DSH 进程权限运行,会订阅会话事件并在浏览器注入客户端脚本。安装前应阅读 GitHub 仓库 源码与 MIT 许可证,确认接受事件通道与贴图上传(存宿主 storageDomain)的行为。

生态说明:DSH 社区插件目录托管在独立站点 SkillHub 目录页,与 DeepSeek / 幻方无官方从属关系;「一切皆插件」是 DSH 的产品思路,本文介绍的是社区维护的 @weibaohui/dsh-kite,不是官方应用商店条目。

扩展开发:新增风筝只需在 client/kite-cards.js 追加 FRAMES / PATTERNS / ALL_CARDS 数据;本地 link 安装后改源码需 npm run build:client 再刷新页面。仓库提供 npm run check、npm test(13 项离线测试)。

结尾

@weibaohui/dsh-kite 把 agent 的 token 与工具事件翻译成屏幕上一只可配置的风筝:零侵入浮层、潍坊系卡组、可选贴图与完整设置页。若要在 DSH Web 里试用,按上文安装命令添加插件并重启 dsh web 即可。

  • 目录页:https://www.skillhub.cn/plugins/weibaohui/dsh-kite
  • GitHub:https://github.com/weibaohui/dsh-kite
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye