@lengduan/dsh-client-ui-skin-815 0.1.0

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 soon
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/NOTICE ADDED
@@ -0,0 +1,11 @@
1
+ 素材来源
2
+
3
+ 1. 陈坚《公元一千九百四十五年九月九日九时》(油画)
4
+ 题材:1945-09-09 南京中央军校礼堂,中国战区日本投降签字。画面中央为日军代表弯腰递交投降书。
5
+ 著作权归原作者。本仓仅作本机 DeepSeek Harness 皮肤底图,不构成对外再授权。
6
+
7
+ 2. ImperialSurrenderRescript.jpg(《终战诏书》单页印刷版)
8
+ 日期:1945-08-14 写成,1945-08-15 广播
9
+ 来源:U.S. Army Center of Military History, Reports of General MacArthur
10
+ 许可:公有领域
11
+ https://commons.wikimedia.org/wiki/File:ImperialSurrenderRescript.jpg
package/README.md ADDED
@@ -0,0 +1,125 @@
1
+ # 一九四五年八月十五日 · dsh-815-skin
2
+
3
+ DeepSeek Harness **Web GUI** 史料皮肤。对话区底图是陈坚油画《公元一千九百四十五年九月九日九时》:1945-09-09 南京受降,日军代表弯腰递交投降书。侧栏挂《终战诏书》印刷件。
4
+
5
+ 加载即生效,卸载即还原 DOM / CSS / `document.title`。不改会话、不调模型、不访问网络。
6
+
7
+ | | |
8
+ |---|---|
9
+ | 包名 | `@lengduan/dsh-client-ui-skin-815` |
10
+ | 插件 id | `ui-skin-815` |
11
+ | 平台 | `web`(`dsh.client.platform`) |
12
+ | 许可证 | MIT(代码);油画著作权见 [NOTICE](NOTICE) |
13
+
14
+ ![页面效果](docs/preview.png)
15
+
16
+ 文档结构对齐 [awesome-dsh-plugins](https://github.com/AdamPlatin123/awesome-dsh-plugins)「给插件开发者」对合格 README 的最低要求。
17
+
18
+ ## Overview
19
+
20
+ **解决什么:** Web UI 默认浅色/默认底换成 1945 终战史料外观(油画底、诏书侧栏牌、选中会话青天白日小旗、标题栏品牌)。
21
+
22
+ **适合谁:** 本机跑 `dsh web` / `--profile web`、只想换皮的人。
23
+
24
+ **不适合:** TUI / headless;要改 agent 行为、工具权限或主题引擎配置的场景。宿主 `apply()` 为空,效果全在 client bundle。
25
+
26
+ ## Compatibility
27
+
28
+ | 项 | 声明 |
29
+ |---|---|
30
+ | 运行时 peer | `@deepseek-ai/cordis` `^4.0.1` |
31
+ | DSH 形态 | Web GUI profile(`dsh web`) |
32
+ | 最后本机验证 | 2026-08-15,Windows,加载后对话区油画可见、卸载后还原 |
33
+ | 静态检查 | `pnpm test`(jsdom:body 属性、背景、owned 节点撤回) |
34
+ | 未声称 | 未对照 awesome-dsh-plugins 某日 mainline SHA 做四维雷达;收录 ≠ 兼容 |
35
+
36
+ DSH mainline 几乎每日变。DOM class / token 漂移会导致皮失效或叠层。升级 DSH 后请再看一眼对话列是否被主题底色盖住。
37
+
38
+ ## Install / Uninstall
39
+
40
+ 装进 **web** profile(从 npm 拉已构建包,不必 clone):
41
+
42
+ ```sh
43
+ dsh plugin --profile web add @lengduan/dsh-client-ui-skin-815
44
+ ```
45
+
46
+ `dsh plugin` 把参数转给 profile 目录里的 pnpm,成功后把带 `dsh.bundle` 的包写进 `dsh.profile.bundles`。本包 patch 插入 id `ui-skin-815`。
47
+
48
+ 升级:
49
+
50
+ ```sh
51
+ dsh plugin --profile web update @lengduan/dsh-client-ui-skin-815
52
+ ```
53
+
54
+ 从源码开发:clone 后 `pnpm install`、`pnpm build`,再 `dsh plugin --profile web add .`。相对路径相对你执行命令时的当前目录。本地 `link:` / `file:` 安装时,改源码后重新 `pnpm build`;HMR 是否立刻刷皮取决于宿主 client 热更新。
55
+
56
+ **禁用(不删依赖):** 在 web profile 的 `cordis.patch.yml`(或能盖过 bundle 层的 patch)把 `ui-skin-815` 设 `disabled: true`。effect 会整份撤回。
57
+
58
+ **彻底移除:**
59
+
60
+ ```sh
61
+ dsh plugin --profile web remove @lengduan/dsh-client-ui-skin-815
62
+ ```
63
+
64
+ 依赖和 `dsh.profile.bundles` 层一并拿掉。重启 `dsh web` 后不应再有 `data-dsh-815`、史料牌、内嵌油画。
65
+
66
+ 固定版本:用 commit / tag,不要依赖会漂移的未钉死分支。建议先在隔离 profile 试加载,再进日常 web profile。
67
+
68
+ ## Quick start
69
+
70
+ 1. `pnpm build` 且 `dsh plugin --profile web add .` 成功。
71
+ 2. `dsh web`,打开 GUI。
72
+ 3. 最小验收:`document.body` 有 `data-dsh-815`;对话区能看见南京受降油画;侧栏底部有诏书缩略;点卸载/禁用后上述全部消失。
73
+
74
+ 无需额外配置文件、无需环境变量。
75
+
76
+ ## Configuration
77
+
78
+ 无配置项、无环境变量、无密钥。外观写死在 client CSS / `skin.json`。
79
+
80
+ `skin.json` 只描述元数据(名称、作者、`bodyAttr`、`wiring.id`),运行时不读用户覆盖。
81
+
82
+ ## Permissions & data
83
+
84
+ | 面 | 行为 |
85
+ |---|---|
86
+ | 网络 | 无。底图与诏书在构建期 embed 进 client bundle(data URL) |
87
+ | 文件系统 | 运行时不读用户文件;构建读本仓 `assets/` |
88
+ | 凭据 / 会话 | 不读 token、密钥、聊天内容 |
89
+ | DOM | 写 `body` 样式与 `data-dsh-815`;插入标题栏品牌、侧栏诏书图、宽度 stylesheet;给选中会话行打 `data-vj-session*` |
90
+ | 权限模型 | `dsh.client.inject` 为空;不申请宿主服务 |
91
+
92
+ 卸载走 Cordis `ctx.effect` 销毁器:断 observer、还原 style、删 `data-skin-owner="815"` 节点、清会话标记。
93
+
94
+ ## Troubleshooting
95
+
96
+ | 现象 | 处理 |
97
+ |---|---|
98
+ | 装了没皮 | 确认装的是 **web** profile,且已 `pnpm build`(`lib/client.js` 存在)。`headless` 不会出这层 UI |
99
+ | 对话区一条水平线 / 油画被切 | 主题 token `--dsw-alias-bg-base` 盖住底图。确认本仓 CSS 已把 `[data-phase='active']` 设透明;升级 DSH 后 class 名变了就要改选择器 |
100
+ | 禁用后还留着 | 硬刷新;查是否还有别的皮肤插件也在写 body 背景 |
101
+ | 加载报错缺 `@deepseek-ai/cordis` | peer 未满足。对齐 DSH 自带 cordis `^4.0.1` |
102
+ | 回滚 | `remove` 包或 `disabled: true`,保留 profile 原 `package.json` / lockfile 再装 |
103
+
104
+ 日志:浏览器控制台 + 启动 `dsh web` 的终端。本插件不写独立日志文件。
105
+
106
+ ## Development
107
+
108
+ ```sh
109
+ pnpm install
110
+ pnpm build
111
+ pnpm test
112
+ ```
113
+
114
+ `pnpm build` 先 `embed-art` 再 tsdown。底图来自 `assets/`,生成 `src/client/art.generated.ts`(gitignore,勿手改)。
115
+
116
+ 贡献:最小 diff;皮肤选择器跟着 Web GUI DOM 走。Issue / PR 请写清 DSH 版本或 mainline commit、本插件 commit、操作系统。
117
+
118
+ 公开收录:仓库加 topic `dsh-plugin`;包名 `@lengduan/*`,不要占 `@deepseek-ai/*`。目录侧流程见 [awesome-dsh-plugins 给插件开发者](https://github.com/AdamPlatin123/awesome-dsh-plugins#给插件开发者)。
119
+
120
+ ## License & security
121
+
122
+ - 代码:[MIT](LICENSE)
123
+ - 素材:[NOTICE](NOTICE)。陈坚油画著作权归原作者,本仓仅作本机皮肤底图,不构成对外再授权。《终战诏书》印刷件为公有领域。
124
+ - 安全问题:不要在公开 issue 贴密钥或会话。用 GitHub **Private vulnerability reporting**(若已开)或只描述复现步骤的私密渠道联系维护者。
125
+ - 本插件不处理用户密钥;若发现 bundle 被塞进外链或凭证,视为供应链问题,按上面私下报。
@@ -0,0 +1,4 @@
1
+ # 815 终战皮肤 bundle patch:把 dsh.client 入口插入 web 插件名册。
2
+ - insert:
3
+ - id: ui-skin-815
4
+ name: '@lengduan/dsh-client-ui-skin-815'