前言¶
DeepSeek Harness (DSH) 的设计理念之一是“一切皆插件”。对于开发者而言,除了通过配置调整功能,还可以通过皮肤插件修改界面视觉。默认界面虽然通用,但往往缺乏个性化。本插件旨在为 DSH Web 提供一套基于同人游戏《弹丸论破:天魔命曲》的视觉主题,通过替换素材和利用公开 DOM 钩子,实现全屏壁纸、自定义光标以及特定的布局结构,而不依赖任何现成皮肤包。
插件简介¶
dsh-angelsanddemon-fatesumphony-skin 是一个独立的 DSH Web 皮肤插件。作者为 zhangyuzhangyu233。
该插件不基于其他皮肤插件,仅使用《弹丸论破:天魔命曲》的游戏素材和 DSH 的公开 DOM 钩子进行开发。代码与素材均遵循相应开源协议。
核心功能¶
插件通过修改页面 DOM 和资源引用,实现了以下视觉与交互效果:
- 自定义光标:使用
mouse.png(缩放为 14×19,热点 2,2)作为全局光标。 - 全屏壁纸:使用
background.png,以cover模式等比缩放铺满视口,不随页面滚动变形。 - 左侧栏梯形条:使用
leftbar.png贴于左侧,整体透明度约 45%。顶侧有 78px 斜帽,底侧有 90px 收口。 - 输入框对话条:使用
talkingbar.png构建平行四边形边框的输入区域。 - 底部调用数据区:使用
talkingbar_buttom.png(两端梯形帽)和buttom-M.png(拉伸中段)。该区域实现单向走马灯:数据滚动、停留 5 秒、再滚动,永不回滚。由client.js主时钟驱动,智能体运行中更新节点不会打断相位或重叠。 - 发送按钮:使用
next.png(蓝色 V 箭头)悬浮于输入卡片右侧。 - 运行轮盘:在智能体运行“Deep diving…”状态行左侧插入
rolling.png轮盘,并匀速旋转(遵循prefers-reduced-motion媒体查询)。 - 新会话药丸:使用
newsession.png,设计紧凑,不撑满整行。
安装与启用¶
安装过程需要通过 npm 进行,并配合 DSH 的 profile 配置。
- 安装包:在终端执行以下命令:
npm install dsh-angelsanddemon-fatesumphony-skin
- 注册 Bundle:打开 DSH Web 的 profile 配置文件(例如
~/.dsh/profiles/web/下的dsh.profile.bundles),在列表中添加插件名:
"dsh-angelsanddemon-fatesumphony-skin"
- 挂载声明:在同一 profile 目录下编辑
cordis.patch.yml,添加以下内容:
- id: dsh-angelsanddemon-fatesumphony-skin
name: dsh-angelsanddemon-fatesumphony-skin
- 生效:重启 dsh web 服务。
典型用法¶
安装后,插件会自动在 body 上标记 data-dsh-tenma,所有样式和逻辑均挂载于该标记下,保证布局所有权仍归官方,仅进行视觉覆盖。
- 素材引用:插件通过
host.js提供带哈希的静态资源路由(/dsh-angelsanddemon-fatesumphony-skin/assets/*)。 - 特殊素材处理:
rolling.png(运行轮盘)在client.js中内嵌了一份 base64 副本。修改client.js后,直接刷新浏览器页面即可生效,无需重启服务。 - 开发调试:插件无构建步骤。开发者可直接修改
client.js或assets/目录下的素材文件,随后刷新页面或重启服务即可看到更新。
注意事项¶
- 素材授权:代码部分(
host.js,client.js,cordis.patch.yml)为 MIT 协议。游戏素材(assets/)为 CC BY-NC 4.0 协议,归属同人游戏制作组,仅限非商业使用。 - 商标声明:《弹丸论破》为 Spike Chunsoft 注册商标,本插件为同人作品。
- 资源冗余:随包提供的
hero.jpg,buttom-L/R.png,talkingbar_lighter.png,send.png,selected.png等素材当前未被引用,保留以备迭代。 - 权限检查:插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。
结尾¶
dsh-angelsanddemon-fatesumphony-skin 提供了一套完整的、基于《弹丸论破:天魔命曲》主题的 DSH 界面改造方案。其通过纯 JavaScript 实现,结构清晰,适合开发者参考或直接使用。