Back to home

wangjacks

dsh-hanami-theme

No description

Stars
0
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

🌸 Hanami · 花見 — 二次元主题

version license engine

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 内安装主题后查看。

步骤:

  1. dsh-hanami-theme/ 整个目录拷贝到目标设备。

  2. 打开目标设备的 DSH Web UI,新建一个会话,选择 「创造模式」 预设。

    ⚠️ 只有「创造模式」(即 cordis 预设)自带 cordis_define / cordis_run 工具;「标准模式」等其他预设没有,装了也无法运行动态插件。

  3. 把下面这段指令发给会话中的 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 批准客户端插件
    
  4. 记下返回的 pluginId(形如 hanam-1hanami-xxx,以 hanam 开头)——后面重新激活会用到。

  5. 激活后立即生效:设置 → 通用 里出现「主题预设 / 樱花瓣 / 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.0fghrsh/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