dsh-any-background 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.zh.md CHANGED
@@ -1,142 +1,150 @@
1
- # dsh-any-background
2
-
3
- <a href="https://github.com/Tkingxiao/dsh-any-background" target="_blank">
4
- <img src="https://img.shields.io/github/stars/Tkingxiao/dsh-any-background?style=social" alt="GitHub stars" />
5
- </a>
6
-
7
- [English](README.md) | 中文
8
-
9
- 一个 **DeepSeek Harness** 外观插件,让你完全自定义 Web 端的主题色、背景壁纸,以及分部位精细的透明度与模糊度控制。
10
-
11
- ---
12
-
13
- ## 截图
14
-
15
- <p align="center">
16
- <img src="example_img/image.png" alt="自定义主页" width="720">
17
- <br/>
18
- <em>自定义主页 · 壁纸与主题色同时生效</em>
19
- </p>
20
-
21
- <p align="center">
22
- <img src="example_img/image-2.png" alt="主题色选择器" width="720">
23
- <br/>
24
- <em>主题色选择器 · PS 风格色轮 + 精确 HSL/RGB 输入</em>
25
- </p>
26
-
27
- <p align="center">
28
- <img src="example_img/image-3.png" alt="分部位透明度与模糊度" width="720">
29
- <br/>
30
- <em>分部位透明度与模糊度 · 主背景、侧边栏、卡片、设置面板</em>
31
- </p>
32
-
33
- <p align="center">
34
- <img src="example_img/image-4.png" alt="背景编辑器" width="720">
35
- <br/>
36
- <em>背景编辑器 · 图片/视频壁纸支持拖动平移与滚轮缩放</em>
37
- </p>
38
-
39
- <p align="center">
40
- <img src="example_img/image-6.png" alt="动态生成背景" width="720">
41
- <br/>
42
- <em>动态生成背景 · 网格渐变 / Shader / 几何图案预设</em>
43
- </p>
44
-
45
- <p align="center">
46
- <img src="example_img/image-9.png" alt="几何背景 低多边形模式" width="720">
47
- <br/>
48
- <em>动态生成背景 · 几何 低多边形模式预览</em>
49
- </p>
50
-
51
- <p align="center">
52
- <img src="example_img/image-10.png" alt="配置导出导入" width="720">
53
- <br/>
54
- <em>配置的导出和导入进行分享</em>
55
- </p>
56
-
57
- ## 功能特性
58
-
59
- - **PS 风格色轮** — 在色相环上选取色相,在内嵌方形中调整饱和度与明度,实时生成 30+ 个 CSS 设计令牌。
60
- - **精确 HSL / RGB 输入** — 通过数值精确输入颜色,与色轮实时双向同步。
61
- - **智能取色** — 一键从壁纸提取主题色:采样可见区域、量化像素、剔除灰色/近黑/近白,选出现量最大的鲜亮色。视频壁纸自动截帧参与取色。纯客户端完成。
62
- - **吸管取色** — 在壁纸上悬停预览颜色,点击即可选为主题色。
63
- - **背景壁纸** — 上传任意图片作为壁纸,在视口比例的编辑器中拖动平移、滚轮缩放。
64
- - **视频壁纸** — 上传视频作为动态壁纸:静音循环播放、刷新不丢失(落盘持久化 + HTTP 流式播放,支持 Range seek);自动截取一帧用于预览、主题色提取与位置编辑参考。
65
- - **位置编辑器** — 图片与视频共用同一套编辑器:拖动平移、滚轮缩放、一键重置;图片与视频的位置状态各自独立保存,互不覆盖。
66
- - **布局模式** — 适应 / 填充 / 拉伸 / 平铺 / 居中五种排布,图片与视频通用;「适应」模式下编辑器提交的构图在窗口缩放、跨屏移动后保持一致。
67
- - **动态生成背景** — 支持网格渐变、Shader、几何图案,可调节扩散范围、色彩强度并锁定种子。
68
- - **分部位界面透明度** — 主背景、侧边栏、卡片面板(含对话框周围的选项框/菜单)、输入框与控件(发送框、Cordis 插件面板)、设置面板与壁纸各自独立滑块。
69
- - **分部位界面模糊度** — 每个界面部位可独立调整毛玻璃 `backdrop-filter` 模糊(0–60 px),并通过宿主的稳定选择器为发送框与 Cordis 面板提供真实背景模糊。
70
- - **对话视图卡片** — 消息列表自动包裹为半透明卡片,轨迹页可整页调节透明度与模糊,让壁纸从内容后方透出来。
71
- - **主题导出 / 导入** — 一键导出为自包含的 `dsh-any-theme.json`(配置 + 壁纸,视频以 data URL 内嵌),可随时导入还原。
72
- - **文件持久化** — 所有设置保存到文件系统 `~/.dsh/.dsh-any-background-data/`,不再依赖 `localStorage`。
73
- - **中英双语** — 完整的中英文界面,自动跟随语言设置。
74
- - **主题守护** — 宿主重置主题后自动重新激活自定义主题。
75
-
76
- ## 近期优化
77
-
78
- ### v0.2.3
79
-
80
- - **宽表格收进文本栏** — 当对话区透明度/模糊度被调大(边框因此可见)时,宽 Markdown 表格被收回文本栏宽度内、在边框处横向滚动,不再向右溢出裁切;边框不可见时不干预,保留 DSH 官方默认外扩行为。
81
- - **网络 URL 壁纸** — 填入图片网址即可直接作为壁纸:插件下载图片并写入本地壁纸文件(替换原有持久化图片)。由于远程来源最终落到本地持久化文件,主题导出/导入无需任何额外适配:导出主题时内嵌图片数据,接收方无需访问原始网址也能还原。
82
- - **深色主题下编辑器确认按钮清晰可见** — 背景编辑器「确认」按钮改为与「取消/重置」一致的实色表面 + 清晰边框 + 可读文字,不再使用半透明的主题色淡染,深色主题下不再看不清。
83
- - **维护性清理** — 移除 `dsh.client.inject` 中未使用的 `@deepseek-ai/dsh-client-ui-renderer` 条目,并将插件自有 RPC 错误码对齐新版 harness 的命名规范。
84
-
85
- ### v0.2.2
86
-
87
- - **深色宿主表面全面主题化** — 消息气泡、设置框输入框/卡片、选择器、ghost/工具条按钮、module-platform 表面均补全了显式深色令牌,消除对话区、设置页与交互控件中的白底白字、白底白图标问题。
88
- - **消除刷新白闪** — 新增主题重置监听:宿主重新施加浅色 `:root/body` 规则后,插件在同帧内重新断言强制主题;`!important` 令牌样式表可抵御宿主主题服务的重置,进入、刷新、修改设置不再闪现一帧白底。
89
- - **品牌徽章与代码信息条对比提升** — 侧边栏品牌徽章与代码块上方信息条改为深色表面,文字与图标保持清晰可辨。
90
- - **占位符与正式输入区分** — 发送框占位符改用较弱的 caption 令牌并加斜体,空态不会被误认为已输入内容。
91
- - **双版本兼容** — `defineStore` 通过运行时适配器解析:优先使用新版 `@deepseek-ai/dsh-client-store`,缺失时回退到旧版 `@deepseek-ai/dsh-client-runtime/client`;同一份 bundle 同时兼容 npm 老版本与新版 deepseek-harness 源码,不再出现 "missed the module table" 启动失败。
92
-
93
- ## 安装
94
-
95
- ### 方式一:npm 安装(推荐)
96
-
97
- ```sh
98
- dsh plugin --profile web add github:Tkingxiao/dsh-any-background
99
- # 若已发布到 registry:
100
- dsh plugin --profile web add dsh-any-background
101
- ```
102
-
103
- 然后启动:
104
-
105
- ```sh
106
- dsh web
107
- ```
108
-
109
- 插件会出现在设置面板的 **“主题”** 分类中。
110
-
111
- ### 方式二:npx(无需全局安装)
112
-
113
- ```sh
114
- npx @deepseek-ai/dsh plugin --profile web add github:Tkingxiao/dsh-any-background
115
- npx @deepseek-ai/dsh web
116
- ```
117
-
118
- ### 方式三:本地构建(开发)
119
-
120
- `lib/` 目录已提交,安装后无需构建。修改 `src/` 后重新构建:
121
-
122
- ```sh
123
- git clone https://github.com/Tkingxiao/dsh-any-background.git
124
- cd dsh-any-background
125
- pnpm install
126
- pnpm run bundle
127
- pnpm dsh plugin --profile web add "dsh-any-background"
128
- pnpm dsh web
129
- ```
130
-
131
- ## 兼容性
132
-
133
- - **[`dsh web`](https://github.com/deepseek-ai/deepseek-harness)** — 同时兼容 npm 发布版与新版源码构建。插件会自动检测宿主携带的客户端模块表(新版 `@deepseek-ai/dsh-client-store` 或旧版 `@deepseek-ai/dsh-client-runtime`),并在运行时据此解析 `defineStore`。
134
- - **[deepseek-harness-desktop](https://github.com/anywhere-labs/deepseek-harness-desktop)** — 支持;已知 Electron 打包问题导致左侧边栏与中心区域透明度显示相反,需等待桌面端更新修复。
135
-
136
- ## Star History
137
-
138
- [![Star History Chart](https://api.star-history.com/chart?repos=Tkingxiao/dsh-any-background&type=timeline&legend=bottom-right&sealed_token=f5MhnHibC049CC0Ed_nZX8rYpIq2wPTdTXUsPPafAiYxYKOeqyKyMFirxKppeLNJygxv1iw2BlsnCYOWgu9zN6ffr7kJlAG1SlRoQRmQivCIkPzZ2lhSBQ)](https://www.star-history.com/?repos=Tkingxiao%2Fdsh-any-background&type=timeline&legend=bottom-right)
139
-
140
- ## 许可
141
-
142
- MIT
1
+ # dsh-any-background
2
+
3
+ <p align="center">
4
+ <a href="https://github.com/Tkingxiao/dsh-any-background"><img src="https://img.shields.io/github/stars/Tkingxiao/dsh-any-background?style=social" alt="GitHub stars"></a>
5
+ <a href="https://dsh.directory/plugins/tkingxiao/dsh-any-background"><img src="https://dsh.directory/badges/listed.svg" alt="dsh.directory listed"></a>
6
+ </p>
7
+
8
+ [English](README.md) | 中文
9
+
10
+ 一个 **DeepSeek Harness** 外观插件,让你完全自定义 Web 端的主题色、背景壁纸,以及分部位精细的透明度与模糊度控制。
11
+
12
+ ---
13
+
14
+ ## 截图
15
+
16
+ <p align="center">
17
+ <img src="example_img/image.png" alt="自定义主页" width="720">
18
+ <br/>
19
+ <em>自定义主页 · 壁纸与主题色同时生效</em>
20
+ </p>
21
+
22
+ <p align="center">
23
+ <img src="example_img/image-2.png" alt="主题色选择器" width="720">
24
+ <br/>
25
+ <em>主题色选择器 · PS 风格色轮 + 精确 HSL/RGB 输入</em>
26
+ </p>
27
+
28
+ <p align="center">
29
+ <img src="example_img/image-3.png" alt="分部位透明度与模糊度" width="720">
30
+ <br/>
31
+ <em>分部位透明度与模糊度 · 主背景、侧边栏、卡片、设置面板</em>
32
+ </p>
33
+
34
+ <p align="center">
35
+ <img src="example_img/image-4.png" alt="背景编辑器" width="720">
36
+ <br/>
37
+ <em>背景编辑器 · 图片/视频壁纸支持拖动平移与滚轮缩放</em>
38
+ </p>
39
+
40
+ <p align="center">
41
+ <img src="example_img/image-6.png" alt="动态生成背景" width="720">
42
+ <br/>
43
+ <em>动态生成背景 · 网格渐变 / Shader / 几何图案预设</em>
44
+ </p>
45
+
46
+ <p align="center">
47
+ <img src="example_img/image-9.png" alt="几何背景 低多边形模式" width="720">
48
+ <br/>
49
+ <em>动态生成背景 · 几何 低多边形模式预览</em>
50
+ </p>
51
+
52
+ <p align="center">
53
+ <img src="example_img/image-10.png" alt="配置导出导入" width="720">
54
+ <br/>
55
+ <em>配置的导出和导入进行分享</em>
56
+ </p>
57
+
58
+ ## 功能特性
59
+
60
+ - **PS 风格色轮** — 在色相环上选取色相,在内嵌方形中调整饱和度与明度,实时生成 30+ 个 CSS 设计令牌。
61
+ - **精确 HSL / RGB 输入** — 通过数值精确输入颜色,与色轮实时双向同步。
62
+ - **智能取色** — 一键从壁纸提取主题色:采样可见区域、量化像素、剔除灰色/近黑/近白,选出现量最大的鲜亮色。视频壁纸自动截帧参与取色。纯客户端完成。
63
+ - **吸管取色** — 在壁纸上悬停预览颜色,点击即可选为主题色。
64
+ - **背景壁纸** — 上传任意图片作为壁纸,在视口比例的编辑器中拖动平移、滚轮缩放。
65
+ - **视频壁纸** — 上传视频作为动态壁纸:静音循环播放、刷新不丢失(落盘持久化 + HTTP 流式播放,支持 Range seek);自动截取一帧用于预览、主题色提取与位置编辑参考。
66
+ - **位置编辑器** — 图片与视频共用同一套编辑器:拖动平移、滚轮缩放、一键重置;图片与视频的位置状态各自独立保存,互不覆盖。
67
+ - **布局模式** — 适应 / 填充 / 拉伸 / 平铺 / 居中五种排布,图片与视频通用;「适应」模式下编辑器提交的构图在窗口缩放、跨屏移动后保持一致。
68
+ - **动态生成背景** — 支持网格渐变、Shader、几何图案,可调节扩散范围、色彩强度并锁定种子。
69
+ - **分部位界面透明度** — 主背景、侧边栏、卡片面板(含对话框周围的选项框/菜单)、输入框与控件(发送框、Cordis 插件面板)、设置面板与壁纸各自独立滑块。
70
+ - **分部位界面模糊度** — 每个界面部位可独立调整毛玻璃 `backdrop-filter` 模糊(0–60 px),并通过宿主的稳定选择器为发送框与 Cordis 面板提供真实背景模糊。
71
+ - **对话视图卡片** — 消息列表自动包裹为半透明卡片,轨迹页可整页调节透明度与模糊,让壁纸从内容后方透出来。
72
+ - **主题导出 / 导入** — 一键导出为自包含的 `dsh-any-theme.json`(配置 + 壁纸,视频以 data URL 内嵌),可随时导入还原。
73
+ - **外观预设与配置档案** — 六套一键预设(默认 / 毛玻璃 / 极简白 / 暗夜紫 / 赛博 / 暖阳),外加自定义命名档案:随时保存当前观感、随时套回,删除有二次确认保护。
74
+ - **壁纸轮换** — 把多张图片加入轮换池(缩略图选择器),按随机或顺序、每次刷新 / 每天 / 每周的频率自动更换;切换时服务端把所选图片复制进当前壁纸槽,导出/导入与取色管线完全不用改。
75
+ - **昼夜自动切换** — 指定日间与夜间两套配置,按固定时段或跟随系统深色模式自动切换。
76
+ - **强制界面明暗** — 无论主题色明暗如何,都能强制生成亮色/暗色整套令牌;「自动」下配色与字体方向由主题色明度驱动(深色 → 浅字,浅色 → 深字),未选主题色时按壁纸画面亮度判断。
77
+ - **明暗判断修复** — 即使未选主题色,界面明暗现在也会依据壁纸画面的实际亮度(每张壁纸分析一次)自动判断,修复浅色壁纸配宿主深色主题导致的全白字体;未选主题色时强制亮色/暗色也会生成中性灰配色,而不再完全无效。
78
+ - **文件持久化** — 所有设置保存到文件系统 `~/.dsh/.dsh-any-background-data/`,不再依赖 `localStorage`。
79
+ - **中英双语** — 完整的中英文界面,自动跟随语言设置。
80
+ - **主题守护** — 宿主重置主题后自动重新激活自定义主题。
81
+
82
+ ## 近期优化
83
+
84
+ ### v0.2.5
85
+
86
+ - **修复壁纸 MIME 错标 — GIF/APNG 壁纸可用了** — `readWallpaper` 此前无条件把所有图片按 `image/jpeg` 回读,而经网址抓取的 PNG/WebP/GIF 字节都写在同一个文件里。现在每次读取都从文件头嗅探真实格式,动图 GIF 壁纸(以及 PNG/WebP 的色彩配置)在刷新后可以正确保留。
87
+ - **外观预设** — 「配置」页新增六套一键预设(默认、毛玻璃、极简白、暗夜紫、赛博、暖阳),每套打包主题色、分部位透明度、模糊度与色彩叠加——绝不动你的壁纸。
88
+ - **配置档案** — 可将当前外观保存为命名档案,一键套用/删除(删除有二次确认),并可供昼夜调度(见下)自动切换。
89
+ - **壁纸轮换** — 「背景」页新增轮换池:添加图片(缩略图条)、选择随机/顺序与每次刷新/每天/每周频率,或点「立即切换」。服务端把所选图片复制进当前壁纸槽,启动还原、主题导出、取色等既有管线零改动。
90
+ - **昼夜自动切换** — 选定日间/夜间两套档案与触发方式(固定时段或系统 `prefers-color-scheme`),插件自动套用匹配的档案(每 30 秒检查一次;只切换外观,不动壁纸)。
91
+ - **强制界面明暗** — 「色彩」页新增亮色/暗色/自动分段控件,强制后整套配色令牌按所选方向重新生成,而不再依据主题色明度推导。
92
+
93
+ ### v0.2.5 修复与体验优化
94
+
95
+ - **修复强制亮/暗无差别 — 方向判定真值 bug** — `buildTokens` 此前用 `scheme ?? lit < 0.55` 推导方向,`scheme='light'` 时字符串真值导致亮色/暗色都走深色分支。现改为显式比较,两套令牌(79 项中 78 项)正确区分。
96
+ - **强制方向自动重映射主题色明度** — 强制方向与主题色明度冲突时(如浅色主题色 + 强制暗色),把明度镜像映射进目标区间(深色带 0.14–0.44 / 亮色带 0.6–0.88)再构建令牌,色相与饱和度保留,保存的主题色本身不变。
97
+ - **自动模式明暗规则重构** — 有主题色时字体与表面方向统一由主题色明度驱动(过深 → 白字,过浅 → 黑字,与壁纸判定结果不再打架);未选主题色时按壁纸感知亮度(Rec.709)判断字体方向;全局明暗标志(`color-scheme`、原生控件)与配色方向保持一致。
98
+ - **自动提取主题色的链路补全** — 无保存主题色时从壁纸自动提取的结果,此前只写入内存配置:不注册宿主皮肤(且此后永久不再更新)、不落盘、不同步取色轮盘。现补全为完整自适应(注册皮肤 + 持久化 + UI 同步),并把提取时的亮度度量统一为 Rec.709,与壁纸判定对同一张图永远给出一致方向。
99
+ - **壁纸轮换零闪现** — 到期的轮换改在刷新阶段由服务端直接完成(读取配置时先推进轮换池再返回壁纸),首次上屏即新壁纸,消除「旧壁纸闪现后突然切换」;客户端随后自动从新壁纸重提取主题色并持久化,配色跟随轮换。客户端推进逻辑保留作兜底。
100
+
101
+ ## 安装
102
+
103
+ ### 方式一:npm 安装(推荐)
104
+
105
+ ```sh
106
+ dsh plugin --profile web add github:Tkingxiao/dsh-any-background
107
+ # 若已发布到 registry:
108
+ dsh plugin --profile web add dsh-any-background
109
+ ```
110
+
111
+ 然后启动:
112
+
113
+ ```sh
114
+ dsh web
115
+ ```
116
+
117
+ 插件会出现在设置面板的 **“主题”** 分类中。
118
+
119
+ ### 方式二:npx(无需全局安装)
120
+
121
+ ```sh
122
+ npx @deepseek-ai/dsh plugin --profile web add github:Tkingxiao/dsh-any-background
123
+ npx @deepseek-ai/dsh web
124
+ ```
125
+
126
+ ### 方式三:本地构建(开发)
127
+
128
+ `lib/` 目录已提交,安装后无需构建。修改 `src/` 后重新构建:
129
+
130
+ ```sh
131
+ git clone https://github.com/Tkingxiao/dsh-any-background.git
132
+ cd dsh-any-background
133
+ pnpm install
134
+ pnpm run bundle
135
+ pnpm dsh plugin --profile web add "dsh-any-background"
136
+ pnpm dsh web
137
+ ```
138
+
139
+ ## 兼容性
140
+
141
+ - **[`dsh web`](https://github.com/deepseek-ai/deepseek-harness)** — 同时兼容 npm 发布版与新版源码构建。插件会自动检测宿主携带的客户端模块表(新版 `@deepseek-ai/dsh-client-store` 或旧版 `@deepseek-ai/dsh-client-runtime`),并在运行时据此解析 `defineStore`。
142
+ - **[deepseek-harness-desktop](https://github.com/anywhere-labs/deepseek-harness-desktop)** — 支持
143
+
144
+ ## Star History
145
+
146
+ [![Star History Chart](https://api.star-history.com/chart?repos=Tkingxiao/dsh-any-background&type=timeline&legend=bottom-right&sealed_token=f5MhnHibC049CC0Ed_nZX8rYpIq2wPTdTXUsPPafAiYxYKOeqyKyMFirxKppeLNJygxv1iw2BlsnCYOWgu9zN6ffr7kJlAG1SlRoQRmQivCIkPzZ2lhSBQ)](https://www.star-history.com/?repos=Tkingxiao%2Fdsh-any-background&type=timeline&legend=bottom-right)
147
+
148
+ ## 许可
149
+
150
+ MIT