wangjacks
dsh-hanami-theme
No description
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
🌸 Hanami · 花見 — 二次元主题
Hanami Anime Theme · 为 DSH(DeepSeek Harness)Web UI 设计的二次元风格主题包
版本 1.0.0 · 动态 Cordis 客户端插件 · 纯前端、不修改产品源码
📖 前言
当我配置并启动 DeepSeek Harness 后,仔细看了看官方发布的示例视频,发现这个 Harness 的可玩性这么高。我们常说,有时技术力会和作者二次元浓度正相关(当然和本项目无关)。我就想着,要不改一改 Web UI,整一个有点点二次元浓度的主题,于是这个主题就让 DeepSeek 给做出来了。
这是我第一次做这种插件,可能会在安装时有一些小问题,并且暂时还没有做成可持久化应用的形式。当然,您觉得不错的话,可以拿过去改改,优化一下。折腾不息,奋斗不止。
✨ 功能
| 功能 | 说明 |
|---|---|
| 🎨 6 套配色预设 | 🌸桜 Sakura / 💜紫苑 Lavender / 🍃薄荷 Mint / 🌙月夜 Moon / 🖋️墨白 Mono / 🍊蜜柑 Citrus |
| 🌗 亮/暗双模式 | 每套预设都覆盖 13 个官方主题 token 的亮色与暗色 |
| 🍃 樱花飘落动画 | 全屏氛围层,可开关,尊重系统「减弱动态效果」 |
| 🎀 Live2D 看板娘 | 主流引擎 live2d-widgets@1.0.1(stevenjoezhang/live2d-widget,⭐11k) |
| 🖱️ 可拖动 + 工具栏 | 悬停看板娘:换模型 / 换装(海王星 20 套衣服)/ 一言 / 小游戏 / 拍照 / 隐藏 |
| 💾 记忆偏好 | 预设选择、模型选择存 localStorage,下次打开自动恢复 |
| 📜 来源与许可 | 设置内置上游许可证披露;包内含 SOURCES.md / LICENSE |
| 🛡️ 多 CDN 回退 | jsDelivr / fastly / gcore / unpkg 四镜像,加载失败可见原因并可重试 |
所有开关都在 设置 → 通用:主题预设(下拉)、樱花瓣飘落动画(开关)、Live2D 看板娘(开关 + 状态 + 重试)、来源与许可(披露行)。
📦 文件
dsh-hanami-theme/
├── theme.client.js ← 插件客户端代码(cordis_define 的 code.client,与线上运行版本一致)
├── demo.html ← 独立预览页:浏览器打开即看配色(不依赖 DSH;看板娘请在 DSH 里安装后查看)
├── SOURCES.md ← 上游来源与许可证逐项对照(合规依据)
├── LICENSE ← 主题代码许可(GPL-3.0)
├── CHANGELOG.md ← 版本变更记录
├── .gitignore
└── README.md ← 本说明
🚀 安装到其他设备
Hanami 是动态 Cordis 插件:通过会话内的
cordis_define/cordis_run工具安装运行。 目标设备只需浏览器能访问 jsDelivr / unpkg(看板娘引擎与模型走 CDN)。
💡 想先看配色效果? 用本地 http 服务打开本仓库的 demo.html(如 VS Code 的 Live Server,或 npx serve .)——不要直接双击(file:// 会因跨源限制导致脚本不生效),可预览配色。看板娘请在 DSH 内安装主题后查看。
步骤:
-
把
dsh-hanami-theme/整个目录拷贝到目标设备。 -
打开目标设备的 DSH Web UI,新建一个会话,选择 「创造模式」 预设。
⚠️ 只有「创造模式」(即
cordis预设)自带cordis_define/cordis_run工具;「标准模式」等其他预设没有,装了也无法运行动态插件。 -
把下面这段指令发给会话中的 agent:
请安装 Hanami 二次元主题: 1) 读取 <路径>/dsh-hanami-theme/theme.client.js 的完整内容 2) 调用 cordis_define 定义新插件: kind: "new",idPrefix: "hanami",name: "Hanami · 二次元主题", purpose: "二次元风格主题:6 套配色预设、樱花飘落动画、Live2D 看板娘(多 CDN 回退)", code: { client: <第 1 步读到的完整文件内容> } 3) 用返回的 pluginId 调用 cordis_run 激活(mode: run) 4) 首次运行需在 Web UI 批准客户端插件 -
记下返回的 pluginId(形如
hanam-1、hanami-xxx,以hanam开头)——后面重新激活会用到。 -
激活后立即生效:设置 → 通用 里出现「主题预设 / 樱花瓣 / Live2D 看板娘 / 来源与许可」。
⚠️ 动态插件只活在当前会话进程里:
- 安装后别刷新页面、别关会话,否则主题会消失需重新激活。
- 重启 harness 或重开会话后:在同一会话输入
@hanam-1(以你第 4 步记下的 pluginId 为准),或直接把 pluginId 发出来让 agent 执行cordis_run即可恢复。
🔧 排障:
| 现象 | 处理 |
|---|---|
| 没弹出批准提示 | 客户端插件默认需授权;若策略禁用审批,插件可能无法运行 |
| 配色生效但设置行缺失 / 樱花不飘 | 目标 DSH 版本与本仓库开发版本槽位可能不一致 → 终端执行 dsh --version(或 -V)查看版本号,反馈给作者 |
| 看板娘空白 / 加载失败 | 看「设置 → 通用 → Live2D 看板娘」行的错误文案;多为 CDN 网络问题,点多 CDN 镜像已自动回退,或点「重试」 |
cordis_define 工具不存在 | 该会话没选「创造模式」预设 → 新建会话时选择「创造模式」(只有它有 cordis 工具) |
⚠️ 说明与许可
- 来源与合规:完整逐项对照见
SOURCES.md(含证据链接);主题代码许可见LICENSE(GPL-3.0,与所驱动的 GPL 引擎保持一致)。 - Live2D 引擎:stevenjoezhang/live2d-widget(npm
live2d-widgets@1.0.1)——GPL-3.0(copyleft:对外分发引擎或与之构成整体作品时,须提供 GPL-3.0 条款与对应源码;个人设备使用不触发分发义务)。 - 模型授权:npm
live2d-widget-model-*为 GPL-2.0;fghrsh/live2d_api 代码为 MIT,但 API 内所有模型版权归原作者、仅供研究学习、不得用于商业用途——个人使用无碍,分发/商用前必须逐项取得授权。 - Cubism SDK:Live2D 官方协议——免费下载与开发;公开发布时年销售额 < 1000 万日元(普通用户/小企业)免费,以上需付费 Publication License(官方授权页)。
- 一言(hitokoto):Apache-2.0;语句库在遵守使用协议下可免费使用,API 响应带每句来源字段(
from/from_who/creator)。 - 运行时主题:插件随 harness 进程存活;重启后需重新激活(动态插件机制,非永久写入源码)。
- 配色机制:通过官方主题服务
overrideTokens分层覆盖,不触碰产品 DOM 与源码,卸载即还原。 - 网络依赖:看板娘需要浏览器可访问
cdn.jsdelivr.net/fastly.jsdelivr.net/gcore.jsdelivr.net/unpkg.com(多镜像自动回退)及cubism.live2d.com(仅 Cubism3+ 模型时)。 - 无障碍:开关支持键盘操作与焦点环;动画尊重
prefers-reduced-motion。
🧪 验证安装
- 设置 → 通用 → 主题预设:切换各预设,亮/暗模式颜色联动变化。
- 右下角出现看板娘(默认 Pio):可拖动;悬停弹出工具栏;点「换装」可换衣服。
- 浏览器 DevTools 控制台无
[anime-live2d]前缀的错误(如有,设置行会显示原因与重试按钮)。
Generated by DeepSeek Harness · 2026-08