dsh-claude-desktop-theme 0.2.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 +54 -0
- package/README.md +197 -0
- package/cordis.patch.yml +5 -0
- package/lib/client.js +5492 -0
- package/lib/index.js +666 -0
- package/lib/types/client/apply.d.ts +25 -0
- package/lib/types/client/compat/account-menu.d.ts +52 -0
- package/lib/types/client/compat/adapter.d.ts +17 -0
- package/lib/types/client/compat/blank-session-rows.d.ts +74 -0
- package/lib/types/client/compat/composer-menus.d.ts +11 -0
- package/lib/types/client/compat/composer-placeholder.d.ts +3 -0
- package/lib/types/client/compat/composer-status-order.d.ts +56 -0
- package/lib/types/client/compat/conversation-fade.d.ts +37 -0
- package/lib/types/client/compat/dom.d.ts +2 -0
- package/lib/types/client/compat/header-labels.d.ts +24 -0
- package/lib/types/client/compat/host-builds.d.ts +101 -0
- package/lib/types/client/compat/host-dom.d.ts +247 -0
- package/lib/types/client/compat/open-target.d.ts +9 -0
- package/lib/types/client/compat/pet-anchor.d.ts +30 -0
- package/lib/types/client/compat/plugin-manager.d.ts +32 -0
- package/lib/types/client/compat/session-menu.d.ts +47 -0
- package/lib/types/client/compat/slots.d.ts +21 -0
- package/lib/types/client/compat/stats-values.d.ts +20 -0
- package/lib/types/client/compat/view-switch.d.ts +14 -0
- package/lib/types/client/compat/workspace-menu.d.ts +15 -0
- package/lib/types/client/contracts/feature.d.ts +22 -0
- package/lib/types/client/contracts/ports.d.ts +169 -0
- package/lib/types/client/core/cleanup.d.ts +10 -0
- package/lib/types/client/core/mount-features.d.ts +3 -0
- package/lib/types/client/features/composer-pet/BlankPet.d.ts +17 -0
- package/lib/types/client/features/composer-pet/ComposerPet.d.ts +7 -0
- package/lib/types/client/features/composer-pet/Whale.d.ts +18 -0
- package/lib/types/client/features/composer-pet/mount.d.ts +9 -0
- package/lib/types/client/features/composer-pet/reactions.d.ts +15 -0
- package/lib/types/client/features/conversation/header-actions/HeaderActionButton.d.ts +25 -0
- package/lib/types/client/features/conversation/header-actions/entries.d.ts +101 -0
- package/lib/types/client/features/conversation/header-actions/mount.d.ts +28 -0
- package/lib/types/client/features/conversation/header-actions/sidebar-view.d.ts +21 -0
- package/lib/types/client/features/conversation/index.d.ts +16 -0
- package/lib/types/client/features/model-controls/EffortPanel.d.ts +14 -0
- package/lib/types/client/features/model-controls/ModelControls.d.ts +11 -0
- package/lib/types/client/features/model-controls/mount.d.ts +5 -0
- package/lib/types/client/features/model-controls/pixels.d.ts +4 -0
- package/lib/types/client/features/model-controls/popup.d.ts +10 -0
- package/lib/types/client/features/model-controls/selection.d.ts +66 -0
- package/lib/types/client/features/new-session/index.d.ts +8 -0
- package/lib/types/client/features/settings/ConfigPage.d.ts +28 -0
- package/lib/types/client/features/settings/FontMenu.d.ts +37 -0
- package/lib/types/client/features/settings/edits.d.ts +39 -0
- package/lib/types/client/features/settings/fields.d.ts +83 -0
- package/lib/types/client/features/settings/fonts.d.ts +40 -0
- package/lib/types/client/features/settings/locales.d.ts +61 -0
- package/lib/types/client/features/settings/mount.d.ts +17 -0
- package/lib/types/client/features/settings/register.d.ts +17 -0
- package/lib/types/client/features/shell/index.d.ts +8 -0
- package/lib/types/client/features/sidebar/index.d.ts +14 -0
- package/lib/types/client/features/statistics/books.d.ts +34 -0
- package/lib/types/client/features/statistics/card.d.ts +143 -0
- package/lib/types/client/features/statistics/format.d.ts +36 -0
- package/lib/types/client/features/statistics/index.d.ts +8 -0
- package/lib/types/client/features/statistics/mount.d.ts +12 -0
- package/lib/types/client/features/statistics/source.d.ts +35 -0
- package/lib/types/client/features/statistics/view.d.ts +95 -0
- package/lib/types/client/features/tool-calls/index.d.ts +2 -0
- package/lib/types/client/index.d.ts +1 -0
- package/lib/types/client/theme/mount.d.ts +15 -0
- package/lib/types/client/theme/palette.d.ts +80 -0
- package/lib/types/client/theme/tokens.d.ts +27 -0
- package/lib/types/host/index.d.ts +106 -0
- package/lib/types/host/stats/aggregate.d.ts +38 -0
- package/lib/types/host/stats/service.d.ts +18 -0
- package/lib/types/host/stats/unit.d.ts +115 -0
- package/lib/types/shared/config.d.ts +61 -0
- package/lib/types/shared/identity.d.ts +5 -0
- package/lib/types/shared/stats.d.ts +133 -0
- package/package.json +116 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 zkforge
|
|
4
|
+
|
|
5
|
+
Composer send/stop icon artwork from @deepseek-ai/dsh-client-ui-primitives
|
|
6
|
+
and placeholder copy from @deepseek-ai/dsh-client-ui-conversation:
|
|
7
|
+
Copyright (c) 2026 DeepSeek
|
|
8
|
+
|
|
9
|
+
Header action glyphs (generic open, terminal prompt, browser globe) from
|
|
10
|
+
@deepseek-ai/dsh-client-ui-primitives and
|
|
11
|
+
@deepseek-ai/dsh-client-ui-sidebar-terminal:
|
|
12
|
+
Copyright (c) 2026 DeepSeek
|
|
13
|
+
|
|
14
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
15
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
16
|
+
in the Software without restriction, including without limitation the rights
|
|
17
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
18
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
19
|
+
furnished to do so, subject to the following conditions:
|
|
20
|
+
|
|
21
|
+
The above copyright notice and this permission notice shall be included in all
|
|
22
|
+
copies or substantial portions of the Software.
|
|
23
|
+
|
|
24
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
25
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
26
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
27
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
28
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
29
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
30
|
+
SOFTWARE.
|
|
31
|
+
|
|
32
|
+
Effort panel styling, magnetic spring motion and pixel-field animation
|
|
33
|
+
adapted from zanwei/claude-model-selector:
|
|
34
|
+
MIT License
|
|
35
|
+
|
|
36
|
+
Copyright (c) 2026 Zanwei Guo
|
|
37
|
+
|
|
38
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
39
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
40
|
+
in the Software without restriction, including without limitation the rights
|
|
41
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
42
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
43
|
+
furnished to do so, subject to the following conditions:
|
|
44
|
+
|
|
45
|
+
The above copyright notice and this permission notice shall be included in all
|
|
46
|
+
copies or substantial portions of the Software.
|
|
47
|
+
|
|
48
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
49
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
50
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
51
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
52
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
53
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
54
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# 🐳 DSH Claude Desktop Theme — Claude 风格桌面主题
|
|
4
|
+
|
|
5
|
+
### 为 DeepSeek Harness(DSH)Desktop 换上 Claude Code Desktop 外观
|
|
6
|
+
|
|
7
|
+
**A Claude Code Desktop-style theme plugin for DeepSeek Harness (DSH) Desktop on macOS and Windows.**
|
|
8
|
+
|
|
9
|
+
Light and dark themes, a compact sidebar, model and reasoning-effort pickers, Markdown styling, and an interactive pixel whale with three random click reactions.
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<img src="https://img.shields.io/badge/License-MIT-3DA639?style=for-the-badge&logo=opensourceinitiative&logoColor=white" alt="License Badge"/>
|
|
13
|
+
<img src="https://img.shields.io/badge/DSH-0.2.0--rc.2-4D6BFE?style=for-the-badge" alt="DSH Badge"/>
|
|
14
|
+
<img src="https://img.shields.io/badge/Platform-macOS%20%7C%20Windows-0078D4?style=for-the-badge" alt="Platform Badge"/>
|
|
15
|
+
<img src="https://img.shields.io/badge/TypeScript-7.0-3178C6?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript Badge"/>
|
|
16
|
+
<img src="https://img.shields.io/badge/Node.js-%E2%89%A522.18-339933?style=for-the-badge&logo=nodedotjs&logoColor=white" alt="Node Badge"/>
|
|
17
|
+
<img src="https://img.shields.io/badge/Themes-Light%20%2F%20Dark-111827?style=for-the-badge" alt="Themes Badge"/>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
`dsh-claude-desktop-theme`是面向 macOS 与 Windows 的 **DSH Claude 风格主题 / 界面美化插件**。CCD 指 Claude Code Desktop;紧凑侧栏、统一的新会话页与聊天页、独立的模型与推理强度(effort)选择器,跟随宿主的浅色 / 深色主题,首次安装后自动开启。
|
|
23
|
+
|
|
24
|
+
[安装指南](https://github.com/zkforge/dsh-claude-desktop-theme/blob/main/install.md) · [架构说明](https://github.com/zkforge/dsh-claude-desktop-theme/blob/main/ARCHITECTURE.md) · [设计规范](https://github.com/zkforge/dsh-claude-desktop-theme/blob/main/DESIGN.md) · [问题反馈](https://github.com/zkforge/dsh-claude-desktop-theme/issues)
|
|
25
|
+
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
## Quick install / 快速安装
|
|
29
|
+
|
|
30
|
+
In DSH Desktop, open the plugin page and add `dsh-claude-desktop-theme`, or run:
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
dsh plugin --profile desktop add dsh-claude-desktop-theme
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Requires DSH Desktop **0.2.0-rc.2**. Reload DSH after installation. See the [installation guide](https://github.com/zkforge/dsh-claude-desktop-theme/blob/main/install.md) for CLI setup and platform-specific steps.
|
|
37
|
+
|
|
38
|
+
## 🌟 核心特性
|
|
39
|
+
|
|
40
|
+
<div align="center">
|
|
41
|
+
|
|
42
|
+
<table>
|
|
43
|
+
<tr>
|
|
44
|
+
<td width="25%" align="center">
|
|
45
|
+
<b>🧩 紧凑侧栏</b><br/>
|
|
46
|
+
导航、工作区与会话列表
|
|
47
|
+
</td>
|
|
48
|
+
<td width="25%" align="center">
|
|
49
|
+
<b>💬 统一会话页</b><br/>
|
|
50
|
+
新会话页与聊天页同一套布局
|
|
51
|
+
</td>
|
|
52
|
+
<td width="25%" align="center">
|
|
53
|
+
<b>🎛️ 模型与 effort</b><br/>
|
|
54
|
+
独立选择器,支持搜索与滑块
|
|
55
|
+
</td>
|
|
56
|
+
<td width="25%" align="center">
|
|
57
|
+
<b>🐳 像素小鲸鱼</b><br/>
|
|
58
|
+
待机眨眼,点击随机回应
|
|
59
|
+
</td>
|
|
60
|
+
</tr>
|
|
61
|
+
</table>
|
|
62
|
+
|
|
63
|
+
</div>
|
|
64
|
+
|
|
65
|
+
- **紧凑侧栏**:工作区导航与会话列表,新会话条目在第一次发送后出现。
|
|
66
|
+
- **统一会话页**:新会话页、输入卡片与聊天布局共用一套样式,正文边缘随滚动渐隐。
|
|
67
|
+
- **模型与 effort**:两个独立选择器,支持搜索、滑块和键盘操作。
|
|
68
|
+
- **会话顶栏**:项目文件夹、终端、浏览器三个右侧栏入口;展开侧栏收进会话 ⋯ 菜单第一项。
|
|
69
|
+
- **输入框与状态栏**:聚焦时加深输入边框;细线发送 / 停止按钮、模型、effort、权限与语音控件统一尺寸和间距,权限始终显示文字,上下文圆环位于行末。
|
|
70
|
+
- **统一菜单**:工作区、会话、权限与模型等选单共用紧凑行高、圆角和悬停反馈,浅色与深色模式保持一致。
|
|
71
|
+
- **Markdown 排版**:链接、行内代码、表格与代码块按 CCD 风格重绘。
|
|
72
|
+
- **像素小鲸鱼**:停在新会话页的输入卡旁,待机时眨眼与摆尾;点击随机喷一口水、轻弹眨眼或摆尾回应。
|
|
73
|
+
- **主题跟随**:跟随 DSH 的浅色、深色和系统主题,支持自定义背景色与字体。
|
|
74
|
+
- **用量统计卡片**:Overview/Models 视图、时间范围、贡献热力图与模型图表,默认关闭。
|
|
75
|
+
|
|
76
|
+
## 🐳 与小鲸鱼互动
|
|
77
|
+
|
|
78
|
+
小鲸鱼以 **32 × 24 像素**的造型停在新会话输入框右上方,配色跟随浅色 / 深色主题。待机时偶尔眨眼、轻轻摆尾;点击鲸鱼,或用 Tab 聚焦后按 **Enter / Space**,会等概率播放一次回应:
|
|
79
|
+
|
|
80
|
+
| 动作 | 动效 | 时长 |
|
|
81
|
+
| --- | --- | --- |
|
|
82
|
+
| 喷一口水 | 身体轻晃、闭眼,从头顶喷出水柱,水滴向两侧散开落下 | 约 1.05 秒 |
|
|
83
|
+
| 轻弹眨眼 | 蓄力、向上轻跳、落地回弹并眨眼 | 约 0.68 秒 |
|
|
84
|
+
| 摆尾回应 | 身体左右轻晃,尾巴与胸鳍摆动并眨眼 | 约 0.90 秒 |
|
|
85
|
+
|
|
86
|
+
动作结束后回到待机,再接受下一次点击。透明点击区域扩到 44 × 44 像素,向上延伸,避免遮挡下方输入框。打开模型或 effort 选单时,小鲸鱼仍在原位,选单显示在它上方;输入框上方出现额外内容、发送回显或进入聊天页时,它会收起。
|
|
87
|
+
|
|
88
|
+
系统开启「减少动态效果」时,待机动画关闭,点击仅短暂闭眼约 0.2 秒。窗口进入后台时暂停待机动画并取消正在播放的回应;回到前台后恢复。可在插件设置的模块开关中关闭「输入框小鲸鱼」。
|
|
89
|
+
|
|
90
|
+
## 📦 0.2.0 更新与旧包迁移
|
|
91
|
+
|
|
92
|
+
从 **0.2.0** 起,npm 包名与 GitHub 仓库名统一为 **`dsh-claude-desktop-theme`**,旧包名为 `dsh-ccd-style`。本次增加鲸鱼点击动效、项目文件夹入口,统一菜单与状态栏样式,并完善输入框聚焦和按钮反馈。
|
|
93
|
+
|
|
94
|
+
已安装旧包的用户请先记录自定义颜色、字体与模块开关,再移除旧包、安装新包,避免同时启用两套主题:
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
dsh plugin --profile desktop remove dsh-ccd-style
|
|
98
|
+
dsh plugin --profile desktop add dsh-claude-desktop-theme
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
安装后重载 DSH,并核对设置。包名迁移不会自动复制旧包的自定义配置;同名包的后续升级继续沿用已保存的配置。完整步骤见 [安装指南](https://github.com/zkforge/dsh-claude-desktop-theme/blob/main/install.md#从旧包名迁移)。
|
|
102
|
+
|
|
103
|
+
## 🖼️ 界面预览
|
|
104
|
+
|
|
105
|
+
截图为 macOS 版本,使用默认配色与 Geist 字体,统计卡片已开启。静态截图展示整体布局,小鲸鱼交互及本次细节调整以以上说明为准。
|
|
106
|
+
|
|
107
|
+
<div align="center">
|
|
108
|
+
|
|
109
|
+
| | 浅色 | 深色 |
|
|
110
|
+
| --- | --- | --- |
|
|
111
|
+
| 新会话页 |  |  |
|
|
112
|
+
| 聊天页 |  |  |
|
|
113
|
+
| 插件设置 |  |  |
|
|
114
|
+
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
## 🚀 安装
|
|
118
|
+
|
|
119
|
+
[npm 包](https://www.npmjs.com/package/dsh-claude-desktop-theme)已发布,可通过官方插件页或终端安装。
|
|
120
|
+
|
|
121
|
+
<div align="center">
|
|
122
|
+
|
|
123
|
+
| 入口 | 安装方式 |
|
|
124
|
+
| --- | --- |
|
|
125
|
+
| 官方插件页 | 「插件 → 添加插件」输入 `dsh-claude-desktop-theme` |
|
|
126
|
+
| 终端 | `dsh plugin --profile desktop add dsh-claude-desktop-theme` |
|
|
127
|
+
| 插件市场 | 待目录收录后可搜索安装;当前请使用上面两个入口 |
|
|
128
|
+
|
|
129
|
+
</div>
|
|
130
|
+
|
|
131
|
+
首次安装后插件自动开启,升级沿用已保存的配置。
|
|
132
|
+
|
|
133
|
+
终端命令需先注册 `dsh`;应用内添加插件无需注册 CLI。安装后重载 DSH,具体步骤、应用内置 CLI 路径与源码安装见 [安装指南](https://github.com/zkforge/dsh-claude-desktop-theme/blob/main/install.md)。
|
|
134
|
+
|
|
135
|
+
## ⚙️ 配置
|
|
136
|
+
|
|
137
|
+
打开「插件 → dsh-claude-desktop-theme → ui-skin-ccd-style」,调整总开关、模块、主题、颜色和字体。改动即时生效。
|
|
138
|
+
|
|
139
|
+
<div align="center">
|
|
140
|
+
|
|
141
|
+
| 分组 | 可调项 |
|
|
142
|
+
| --- | --- |
|
|
143
|
+
| 模块 | 窗口与分栏骨架、侧栏、新建页、聊天页、输入框小鲸鱼、统计卡片 |
|
|
144
|
+
| 外观 | 主题(浅色 / 深色 / 跟随系统)、会话背景色、侧栏背景色 |
|
|
145
|
+
| 字体 | 界面字体、代码与等宽字体 |
|
|
146
|
+
|
|
147
|
+
</div>
|
|
148
|
+
|
|
149
|
+
> [!NOTE]
|
|
150
|
+
> 自定义背景色只作用于浅色模式,深色模式使用内置深色调色板。界面默认使用 Geist,未安装时回退系统字体;仓库的 `assets/fonts/` 提供本机安装用字体与 OFL 许可,字体不包含在 npm 包中。
|
|
151
|
+
|
|
152
|
+
## 🛠️ 环境要求
|
|
153
|
+
|
|
154
|
+
<div align="center">
|
|
155
|
+
|
|
156
|
+
| 项目 | 要求 |
|
|
157
|
+
| --- | --- |
|
|
158
|
+
| 宿主 | DSH `0.2.0-rc.2` |
|
|
159
|
+
| 平台 | macOS(Apple 芯片)、Windows 10 及以上(64 位) |
|
|
160
|
+
| 主题 | 浅色、深色与跟随系统 |
|
|
161
|
+
| 开发环境 | Node.js ≥ 22.18.0 |
|
|
162
|
+
|
|
163
|
+
</div>
|
|
164
|
+
|
|
165
|
+
## 🧑💻 开发
|
|
166
|
+
|
|
167
|
+
```sh
|
|
168
|
+
npm ci --cache .cache/npm
|
|
169
|
+
npm run check
|
|
170
|
+
npm run pack:local --cache .cache/npm
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
`npm run check` 依次执行类型检查、模块边界与文档链接检查、测试、构建和包内容校验。
|
|
174
|
+
|
|
175
|
+
<details>
|
|
176
|
+
<summary><b>全部脚本</b></summary>
|
|
177
|
+
|
|
178
|
+
| 脚本 | 作用 |
|
|
179
|
+
| --- | --- |
|
|
180
|
+
| `npm run typecheck` | TypeScript 类型检查 |
|
|
181
|
+
| `npm run check:architecture` | 模块边界、颜色归属与本地文档链接 |
|
|
182
|
+
| `npm test` | 配置、生命周期、布局适配与统计行为测试 |
|
|
183
|
+
| `npm run build` | 构建 Host 与 Client 产物 |
|
|
184
|
+
| `npm run check:package` | 校验 npm 安装包内容 |
|
|
185
|
+
| `npm run check` | 依次执行以上全部 |
|
|
186
|
+
| `npm run dev` | 客户端增量构建 |
|
|
187
|
+
| `npm run pack:local` | 生成用于本地安装的 tarball |
|
|
188
|
+
|
|
189
|
+
</details>
|
|
190
|
+
|
|
191
|
+
代码结构见 [ARCHITECTURE.md](https://github.com/zkforge/dsh-claude-desktop-theme/blob/main/ARCHITECTURE.md)。
|
|
192
|
+
|
|
193
|
+
## 📮 反馈与许可
|
|
194
|
+
|
|
195
|
+
通过 [Issue](https://github.com/zkforge/dsh-claude-desktop-theme/issues) 反馈问题,附上 DSH 版本、窗口尺寸和复现步骤。
|
|
196
|
+
|
|
197
|
+
[MIT](./LICENSE) © 2026 zkforge。
|