Skip to content
dsh.fish
Bundle

@eternalnight/dsh-theme

DeepSeek Harness 主题皮肤插件:给 DSH Web GUI 换背景(内置主题 / 静态图片 / 动态视频环绕跟随帧),设置页与侧边栏底部一键切换。

Source
EternalNight996
weekly downloads
282 weekly downloads
License
MIT
Updated
Updated 2 days ago

Readme

<p align="center">
  <img src="https://raw.githubusercontent.com/EternalNight996/dsh-theme/main/assets/screen/dsh-theme.gif" width="720" alt="dsh-theme 主题皮肤演示" />
</p>

<div align="center">
  <h1 align="center">@eternalnight/dsh-theme</h1>
  <p><strong>DeepSeek Harness 主题皮肤插件</strong></p>
  <p>
    <a href="https://www.npmjs.com/package/@eternalnight/dsh-theme"><img src="https://img.shields.io/npm/v/@eternalnight/dsh-theme?style=flat-square" alt="npm version" /></a>
    <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="License" /></a>
    <a href="https://github.com/EternalNight996/dsh-theme"><img src="https://img.shields.io/badge/GitHub-dsh%20plugin-blue?style=flat-square" alt="GitHub" /></a>
  </p>
  <p><strong>简体中文</strong> | <a href="README.en.md">English</a></p>
  <p>🎨 给 DeepSeek Harness 的 Web GUI 换背景:内置主题 / 静态图片 / 动态视频(鼠标环绕跟随帧)三种皮肤形态,侧边栏底部一键切换,设置页完整管理。<strong>一条命令安装,不改 dsh 源码。</strong></p>
</div>

<p align="center">
  <img src="https://raw.githubusercontent.com/EternalNight996/dsh-theme/main/assets/screen/dsh-desktop.png" width="720" alt="桌面效果截图" />
  <br/>
  <em>桌面实拍:背景透出 + 主题面板 + 明暗适配</em>
</p>

---

## 🚀 安装

```bash
# 已发布后(npm)
dsh plugin --profile web add @eternalnight/dsh-theme

# 从 GitHub
dsh plugin --profile web add github:EternalNight996/dsh-theme

# 本地联调(link 本地目录)
dsh plugin --profile web add F:/MyApp/eternal/dsh-theme
```

装完**重启 dsh web**:侧边栏底部出现「🎨 主题」按钮,设置页出现顶层「主题」分区,默认已显示默认壁纸。

---

## ✨ 功能

### 三种皮肤形态(互斥)

| 形态 | 说明 |
| --- | --- |
| **内置主题** | **应用配色**4 套(深空暗 / 石墨 / 晨光亮 / 樱粉)+ **背景皮肤**(极光星云等),统一在此选择 |
| **图片皮肤** | 导入本地图片(png/jpg/webp),持久化到 `assets/import-images/`,**以文件名命名(≤15 字)**,支持删除 |
| **视频皮肤** | **跟随鼠标**(360° 环绕跟随帧)/ **循环播放**两类;默认 `import-videos/default.mp4`,导入视频持久化 + 可删除 |

### 🎥 视频皮肤 · 两种模式

- **跟随鼠标**:鼠标横向位置 → 视频 `currentTime`,`rAF` 最短路径 lerp(跨 ±π 不跳变),节流 seek + 阈值,1080p 不卡顿;`prefers-reduced-motion` 下停帧。
- **循环播放**:自动循环纯背景。
- 背景层 `pointer-events: none`,不拦截交互。

### 受保护默认皮肤

- `import-images/default.png` 与 `import-videos/default.mp4` 为**默认皮肤,不可删除**。

### 透明可调

- 「主题面板透明」「对话栏透明」「背景压暗」滑杆独立可调;设置/侧栏/顶栏保持独立实底。

### 入口

- 侧边栏底部「🎨 主题」按钮(rail 窄条态仅图标)→ 主题面板弹窗。
- **设置 → 主题** 顶层分区(id `dsh-theme`, order 25)。
- 当前主题持久化到 `dsh-theme` 命名空间,重启保留。
- 全部 UI 用 `var(--dsw-alias-*)`,明暗自适应。

---

## 🛠 构建

> 安装后可改前端源码并重新构建。

```bash
npm install
npm run build        # 只改 client(src/client)时需要
npm run gen:bg       # 重新生成内置背景图(可选)
# 改 index.js / lib/themes.js 无需构建,重启即生效
```

---

## 📜 日志更新

- **v0.1.4** 重新发布:插件市场收录达标(GitHub topics + `dsh.marketplace` 元数据)。
- **v0.1.3** 补 `dsh.marketplace` 元数据(RP 收录检查达标)。
- **v0.1.2** 中英分文件:`README.md`(中文)与 `README.en.md`(英文)分离,顶部语言切换。
- **v0.1.1** README 重构:MVCheck 式居中横幅 + badge 徽章 + 中英分文件 + 展示素材前置 + 待办 + 日志;插件市场收录达标(GitHub 打 `dsh-plugin` 等 topics)。
- **v0.1.0** 初始发布:背景层 + 设置 → 主题 + 侧边栏「🎨 主题」按钮;三种皮肤形态(内置主题 / 图片 / 视频环绕跟随);视频**跟随鼠标**(360° 环绕跟随帧)与**循环播放**两类;**透明可调**(主题面板 / 对话栏 / 背景压暗);导入图片/视频**持久化**到 `import-images` / `import-videos` + 两步删除;**default.png / default.mp4 默认皮肤不可删**;导入皮肤以**文件名命名(≤15 字)**;字体/按钮颜色随 DSH 外观适配;跟随鼠标性能优化(seek 节流 / 后台暂停 / 空闲停帧)。

---

## 🗺 待办 / 路线图

- [ ] **导入记录/最近使用**:最近导入的皮肤排序与最近使用标签。
- [ ] **多语言**:界面 i18n(当前中英词条,补充更多语言)。
- [ ] **按会话记忆主题**:不同工作区记住各自主题。
- [ ] **自定义 CSS 主题**:导入/导出完整主题 token 方案。
- [ ] **动效强度分级**:除 `prefers-reduced-motion` 外提供手动档位。
- [ ] **拖拽上传**:拖拽图片/视频到面板即可导入。
- [ ] **视频帧预览**:跟随鼠标模式显示实时帧缩略图。

---

## 📄 License

MIT

---

> 换上喜欢的背景,让 DSH 每天都不一样。🎨

Install

dsh plugin --profile web add @eternalnight/dsh-theme@0.5.1

Profile: web

Source