dsh-any-background 0.2.2 → 0.2.4
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.md +141 -140
- package/README.zh.md +141 -140
- package/lib/client.js +215 -38
- package/lib/client.js.map +1 -1
- package/lib/index.js +243 -54
- package/package.json +11 -14
package/README.md
CHANGED
|
@@ -1,140 +1,141 @@
|
|
|
1
|
-
# dsh-any-background
|
|
2
|
-
|
|
3
|
-
<
|
|
4
|
-
<img src="https://img.shields.io/github/stars/Tkingxiao/dsh-any-background?style=social" alt="GitHub stars"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<
|
|
18
|
-
<
|
|
19
|
-
</
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<
|
|
24
|
-
<
|
|
25
|
-
</
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
<
|
|
30
|
-
<
|
|
31
|
-
</
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<
|
|
36
|
-
<
|
|
37
|
-
</
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
<
|
|
42
|
-
<
|
|
43
|
-
</
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
<
|
|
48
|
-
<
|
|
49
|
-
</
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
<
|
|
54
|
-
<
|
|
55
|
-
</
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
- **
|
|
61
|
-
- **
|
|
62
|
-
- **
|
|
63
|
-
- **
|
|
64
|
-
- **
|
|
65
|
-
- **
|
|
66
|
-
- **
|
|
67
|
-
- **
|
|
68
|
-
- **
|
|
69
|
-
- **Per-part Interface
|
|
70
|
-
- **
|
|
71
|
-
- **
|
|
72
|
-
- **
|
|
73
|
-
- **
|
|
74
|
-
- **
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
- **
|
|
82
|
-
- **
|
|
83
|
-
- **
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
- **
|
|
89
|
-
- **
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
npx @deepseek-ai/dsh web
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
pnpm
|
|
125
|
-
pnpm
|
|
126
|
-
pnpm dsh web
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
- **[
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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.zh.md)
|
|
9
|
+
|
|
10
|
+
A **DeepSeek Harness** appearance plugin that lets you fully customize the Web UI — custom theme color, background wallpaper, and fine-grained per-part opacity & blur controls.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Screenshots
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<img src="example_img/image.png" alt="Custom homepage" width="720">
|
|
18
|
+
<br/>
|
|
19
|
+
<em>Custom homepage · wallpaper + theme color applied</em>
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
<p align="center">
|
|
23
|
+
<img src="example_img/image-2.png" alt="Theme color picker" width="720">
|
|
24
|
+
<br/>
|
|
25
|
+
<em>Theme color picker · PS-style wheel + precise HSL/RGB inputs</em>
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
<p align="center">
|
|
29
|
+
<img src="example_img/image-3.png" alt="Per-part opacity and blur" width="720">
|
|
30
|
+
<br/>
|
|
31
|
+
<em>Per-part opacity and blur · main background, sidebar, cards, settings</em>
|
|
32
|
+
</p>
|
|
33
|
+
|
|
34
|
+
<p align="center">
|
|
35
|
+
<img src="example_img/image-4.png" alt="Background editor" width="720">
|
|
36
|
+
<br/>
|
|
37
|
+
<em>Background editor · image/video wallpapers support drag-to-pan and scroll-to-zoom</em>
|
|
38
|
+
</p>
|
|
39
|
+
|
|
40
|
+
<p align="center">
|
|
41
|
+
<img src="example_img/image-6.png" alt="Generated dynamic background" width="720">
|
|
42
|
+
<br/>
|
|
43
|
+
<em>Generated dynamic background · mesh gradient / Shader / geometric presets</em>
|
|
44
|
+
</p>
|
|
45
|
+
|
|
46
|
+
<p align="center">
|
|
47
|
+
<img src="example_img/image-9.png" alt="Geometric background, low-poly mode" width="720">
|
|
48
|
+
<br/>
|
|
49
|
+
<em>Generated dynamic background · geometric low-poly mode preview</em>
|
|
50
|
+
</p>
|
|
51
|
+
|
|
52
|
+
<p align="center">
|
|
53
|
+
<img src="example_img/image-10.png" alt="Config export and import" width="720">
|
|
54
|
+
<br/>
|
|
55
|
+
<em>Export and import configs to share</em>
|
|
56
|
+
</p>
|
|
57
|
+
|
|
58
|
+
## Features
|
|
59
|
+
|
|
60
|
+
- **PS-style Color Wheel** — Pick hue on the ring, adjust saturation & lightness in the inscribed square. Generates 30+ CSS design tokens in real time.
|
|
61
|
+
- **Precise HSL / RGB Input** — Enter exact color values numerically with instant bidirectional sync to the wheel.
|
|
62
|
+
- **Smart Color Extraction** — One click derives a theme color from your wallpaper by sampling the visible region, quantizing, and filtering out gray / near-black / near-white pixels. Video wallpapers contribute via an auto-captured frame. Fully client-side.
|
|
63
|
+
- **Eyedropper** — Hover the wallpaper to preview a color and click to pick it as the theme color.
|
|
64
|
+
- **Background Wallpaper** — Upload any image as your wallpaper. Drag to pan and scroll to zoom inside a viewport-proportional editor.
|
|
65
|
+
- **Video Wallpaper** — Use a video as a live wallpaper: muted looping playback that survives refreshes (file persistence + HTTP streaming with Range seek), with an auto-captured frame powering the preview, theme-color extraction, and the position editor.
|
|
66
|
+
- **Position Editor** — One shared editor for images and videos: drag to pan, scroll to zoom, one-click reset. Image and video placements are stored separately and never overwrite each other.
|
|
67
|
+
- **Layout Modes** — Fit / Fill / Stretch / Tile / Center for both images and videos; in Fit mode the editor-committed framing stays consistent across window resizes and cross-monitor moves.
|
|
68
|
+
- **Generated Dynamic Backgrounds** — Choose mesh gradient, Shader, or geometric patterns with adjustable spread, intensity, and seed locking.
|
|
69
|
+
- **Per-part Interface Opacity** — Independent sliders for the main background, sidebar, cards & panels (including the dropdowns and menus around the dialog), the input & controls (composer box, Cordis panel), plus the settings panel and wallpaper.
|
|
70
|
+
- **Per-part Interface Blur** — Frosted-glass `backdrop-filter` blur (0–60 px) for each interface part, including a real backdrop on the composer and Cordis panel via stable host selectors.
|
|
71
|
+
- **Conversation View Cards** — The message list is wrapped in a translucent card automatically, and the trajectory page gets whole-page opacity & blur controls, letting the wallpaper shine through the content.
|
|
72
|
+
- **Theme Export / Import** — One-click export to a self-contained `dsh-any-theme.json` (config + wallpaper, video embedded as a data URL) and import to restore it anywhere.
|
|
73
|
+
- **File-based Persistence** — All settings are stored on the filesystem under `~/.dsh/.dsh-any-background-data/`, not `localStorage`.
|
|
74
|
+
- **Bilingual** — Full Chinese / English UI with automatic locale detection.
|
|
75
|
+
- **Theme Watchdog** — Re-asserts the custom theme if the host resets it.
|
|
76
|
+
|
|
77
|
+
## Recent Optimizations
|
|
78
|
+
|
|
79
|
+
### v0.2.4
|
|
80
|
+
|
|
81
|
+
- **dsh 0.1.5 persistence fixed** — The theme/wallpaper RPC channel is now registered directly in the plugin's own `webServer` scope as a prefix route (keeping the same Host/Origin auth fence), instead of through `connection.rpc.handle`, whose effect binds to the connection service's context and never mounted on some 0.1.5 hosts — requests that previously dropped to the SPA fallback with 405 and never reached the disk now persist again. Verified working on both 0.1.2 and 0.1.5.
|
|
82
|
+
- **Host compatibility declared** — Added `engines.dsh: ">=0.1.2-rc.1"` to declare which DeepSeek Harness host versions the plugin supports.
|
|
83
|
+
- **Dark badge tokens fixed (issue #9)** — In the dark preset, the `*-tertiary` badge surfaces (trajectory tool/context badges, connection pill, plan chip) were tinted nearly the same as their background, making light label text unreadable. They now use the native dark 800/900 steps, so bright text sits on a properly dark badge.
|
|
84
|
+
|
|
85
|
+
### v0.2.3
|
|
86
|
+
|
|
87
|
+
- **Wide tables stay in the column** — When the chat region opacity/blur is raised (which makes the chat border visible), wide markdown tables are pulled back inside the text column and scroll horizontally at the border instead of bleeding past it. Left untouched while the border is invisible, preserving DSH's default behavior.
|
|
88
|
+
- **Network URL wallpaper** — Paste an image URL and the plugin downloads it and writes it to the local wallpaper file (replacing the previous image). Because the remote source lands as a local persisted file, theme export/import keep working with no extra steps: an exported theme embeds the image data, and the receiving side never needs access to the original URL.
|
|
89
|
+
- **Editor confirm button visible in dark mode** — The background-editor "Confirm" button now matches the Cancel/Reset buttons (solid surface with a clear frame and legible label) instead of a translucent primary tint, so it no longer disappears in dark themes.
|
|
90
|
+
- **Maintenance cleanup** — Removed an unused `@deepseek-ai/dsh-client-ui-renderer` entry from the client inject list and aligned self-owned RPC error codes with the new harness convention.
|
|
91
|
+
|
|
92
|
+
## Installation
|
|
93
|
+
|
|
94
|
+
### Method 1: npm install (Recommended)
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
dsh plugin --profile web add github:Tkingxiao/dsh-any-background
|
|
98
|
+
# or, if published to the registry:
|
|
99
|
+
dsh plugin --profile web add dsh-any-background
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Then launch:
|
|
103
|
+
|
|
104
|
+
```sh
|
|
105
|
+
dsh web
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
The plugin appears as a **"Theme"** section in Settings.
|
|
109
|
+
|
|
110
|
+
### Method 2: npx (No Global Install)
|
|
111
|
+
|
|
112
|
+
```sh
|
|
113
|
+
npx @deepseek-ai/dsh plugin --profile web add github:Tkingxiao/dsh-any-background
|
|
114
|
+
npx @deepseek-ai/dsh web
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Method 3: Local Build (Development)
|
|
118
|
+
|
|
119
|
+
The `lib/` directory is committed, so installs need no build step. To rebuild after editing `src/`:
|
|
120
|
+
|
|
121
|
+
```sh
|
|
122
|
+
git clone https://github.com/Tkingxiao/dsh-any-background.git
|
|
123
|
+
cd dsh-any-background
|
|
124
|
+
pnpm install
|
|
125
|
+
pnpm run bundle
|
|
126
|
+
pnpm dsh plugin --profile web add "dsh-any-background"
|
|
127
|
+
pnpm dsh web
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Compatibility
|
|
131
|
+
|
|
132
|
+
- **[`dsh web`](https://github.com/deepseek-ai/deepseek-harness)** — Full support on both the npm release and the new source build. The plugin auto-detects which client-module table the host ships (the new `@deepseek-ai/dsh-client-store` or the legacy `@deepseek-ai/dsh-client-runtime`) and resolves `defineStore` accordingly at runtime.
|
|
133
|
+
- **[deepseek-harness-desktop](https://github.com/anywhere-labs/deepseek-harness-desktop)** — Supported
|
|
134
|
+
|
|
135
|
+
## Star History
|
|
136
|
+
|
|
137
|
+
[](https://www.star-history.com/?repos=Tkingxiao%2Fdsh-any-background&type=timeline&legend=bottom-right)
|
|
138
|
+
|
|
139
|
+
## License
|
|
140
|
+
|
|
141
|
+
MIT
|
package/README.zh.md
CHANGED
|
@@ -1,140 +1,141 @@
|
|
|
1
|
-
# dsh-any-background
|
|
2
|
-
|
|
3
|
-
<
|
|
4
|
-
<img src="https://img.shields.io/github/stars/Tkingxiao/dsh-any-background?style=social" alt="GitHub stars"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
<
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
<
|
|
42
|
-
<
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
<
|
|
48
|
-
<
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
<
|
|
54
|
-
<
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
npx @deepseek-ai/dsh web
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
pnpm
|
|
125
|
-
pnpm
|
|
126
|
-
pnpm dsh web
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
- **[
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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
|
+
- **文件持久化** — 所有设置保存到文件系统 `~/.dsh/.dsh-any-background-data/`,不再依赖 `localStorage`。
|
|
74
|
+
- **中英双语** — 完整的中英文界面,自动跟随语言设置。
|
|
75
|
+
- **主题守护** — 宿主重置主题后自动重新激活自定义主题。
|
|
76
|
+
|
|
77
|
+
## 近期优化
|
|
78
|
+
|
|
79
|
+
### v0.2.4
|
|
80
|
+
|
|
81
|
+
- **修复 dsh 0.1.5 持久化失效** — 主题/背景图的 RPC 通道改为在插件自身 `webServer` 作用域内直接注册为 prefix 路由(保留 Host/Origin 鉴权围墙),不再经由 `connection.rpc.handle`(其 effect 绑定到 connection 服务上下文,导致部分 0.1.5 宿主挂载失败)。此前请求落到 SPA 兜底并返回 405、从未写入磁盘的设置,现可正常持久化(0.1.2 与 0.1.5 均已验证)。
|
|
82
|
+
- **声明宿主版本兼容** — 新增 `engines.dsh: ">=0.1.2-rc.1"`,声明插件所支持的 DeepSeek Harness 宿主版本范围。
|
|
83
|
+
- **修复深色徽章令牌(issue #9)** — 深色预设下 `*-tertiary` 徽章表面(轨迹工具/上下文徽章、连接胶囊、计划 chip)与背景色过于接近,浅色标签文字不可读;现已对齐原生深色 800/900 阶令牌,亮色文字落在正确深色徽章上。
|
|
84
|
+
|
|
85
|
+
### v0.2.3
|
|
86
|
+
|
|
87
|
+
- **宽表格收进文本栏** — 当对话区透明度/模糊度被调大(边框因此可见)时,宽 Markdown 表格被收回文本栏宽度内、在边框处横向滚动,不再向右溢出裁切;边框不可见时不干预,保留 DSH 官方默认外扩行为。
|
|
88
|
+
- **网络 URL 壁纸** — 填入图片网址即可直接作为壁纸:插件下载图片并写入本地壁纸文件(替换原有持久化图片)。由于远程来源最终落到本地持久化文件,主题导出/导入无需任何额外适配:导出主题时内嵌图片数据,接收方无需访问原始网址也能还原。
|
|
89
|
+
- **深色主题下编辑器确认按钮清晰可见** — 背景编辑器「确认」按钮改为与「取消/重置」一致的实色表面 + 清晰边框 + 可读文字,不再使用半透明的主题色淡染,深色主题下不再看不清。
|
|
90
|
+
- **维护性清理** — 移除 `dsh.client.inject` 中未使用的 `@deepseek-ai/dsh-client-ui-renderer` 条目,并将插件自有 RPC 错误码对齐新版 harness 的命名规范。
|
|
91
|
+
|
|
92
|
+
## 安装
|
|
93
|
+
|
|
94
|
+
### 方式一:npm 安装(推荐)
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
dsh plugin --profile web add github:Tkingxiao/dsh-any-background
|
|
98
|
+
# 若已发布到 registry:
|
|
99
|
+
dsh plugin --profile web add dsh-any-background
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
然后启动:
|
|
103
|
+
|
|
104
|
+
```sh
|
|
105
|
+
dsh web
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
插件会出现在设置面板的 **“主题”** 分类中。
|
|
109
|
+
|
|
110
|
+
### 方式二:npx(无需全局安装)
|
|
111
|
+
|
|
112
|
+
```sh
|
|
113
|
+
npx @deepseek-ai/dsh plugin --profile web add github:Tkingxiao/dsh-any-background
|
|
114
|
+
npx @deepseek-ai/dsh web
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 方式三:本地构建(开发)
|
|
118
|
+
|
|
119
|
+
`lib/` 目录已提交,安装后无需构建。修改 `src/` 后重新构建:
|
|
120
|
+
|
|
121
|
+
```sh
|
|
122
|
+
git clone https://github.com/Tkingxiao/dsh-any-background.git
|
|
123
|
+
cd dsh-any-background
|
|
124
|
+
pnpm install
|
|
125
|
+
pnpm run bundle
|
|
126
|
+
pnpm dsh plugin --profile web add "dsh-any-background"
|
|
127
|
+
pnpm dsh web
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## 兼容性
|
|
131
|
+
|
|
132
|
+
- **[`dsh web`](https://github.com/deepseek-ai/deepseek-harness)** — 同时兼容 npm 发布版与新版源码构建。插件会自动检测宿主携带的客户端模块表(新版 `@deepseek-ai/dsh-client-store` 或旧版 `@deepseek-ai/dsh-client-runtime`),并在运行时据此解析 `defineStore`。
|
|
133
|
+
- **[deepseek-harness-desktop](https://github.com/anywhere-labs/deepseek-harness-desktop)** — 支持
|
|
134
|
+
|
|
135
|
+
## Star History
|
|
136
|
+
|
|
137
|
+
[](https://www.star-history.com/?repos=Tkingxiao%2Fdsh-any-background&type=timeline&legend=bottom-right)
|
|
138
|
+
|
|
139
|
+
## 许可
|
|
140
|
+
|
|
141
|
+
MIT
|