dsh-claude-style 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/CHANGELOG.md +74 -59
- package/README.en.md +3 -2
- package/README.md +12 -4
- package/docs/STYLE.md +8 -5
- package/lib/client.js +1012 -119
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,59 +1,74 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## [0.2.
|
|
4
|
-
|
|
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
|
-
### Changed
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.2.4] - 2026-09-19
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- **深色模式输入框焦点由"加深"改为"提亮"**:近黑画布上黑边毫无辨识度,深色焦点描边与 1px 晕边从纯黑改为亮象牙(`#faf9f5`,描边 45% / 晕边 18%),输入框聚焦时明显亮起,底栏托盘与键盘 `:focus-visible` 外框同步改为亮象牙;暗色投影保留作真实阴影深度。
|
|
7
|
+
- **权限弹层列表间距加宽**:Read / Edit / Auto 预设行为两行行(标签 + 说明),原先 2px 的行间距糊成整块;行间距加宽 4px 至 6px,弹层不再拥挤。
|
|
8
|
+
- **会话统计并入输入框工具栏同一行**:轮次/速率与 token/缓存两组统计 pill 原先在输入框下方独占一行,现移入工具栏行、居于左侧控件与右侧模型/状态组之间(行布局 space-between 自然居中),输入框区域由三行压为两行;宿主把 pill 放回原位时每轮同步自动归位,窄屏(≤820px)仍整体隐藏;host 全宽行依赖的 width/padding/margin 在行内规则中全部重置。
|
|
9
|
+
- **统计 pill 改为悬停出现**:两组统计平时隐藏(保留占位、无重排),鼠标移入对话窗口(composer)时淡入;pill 位于卡片内,悬停即保持可见可点。
|
|
10
|
+
- **附件轨与输入框之间的分界线消除**:有图片时卡片 8px flex 间隙会把画布透成一条接缝线;以负外边距闭合间隙并把 8px 移入输入框顶部内边距——文字与图片的距离、卡片总高均不变;附件态聚焦环改由附件轨独自承载,接缝不再出现第二条线。
|
|
11
|
+
- **非对话页隐藏整个底部输入区**:宿主把 composer 挂在会话根下、轨迹/上下文页同样渲染(还为其预留了底部空间);现在仅对话页签激活时显示,其余页签隐藏整个 seat(宿主 `--dsh-composer-height` 随之归零,轨迹 ledger 的底部留白一起收起)。页签检测限定在会话根的 tablist(对话视图 order 0 恒为首个 tab,与语言无关)。
|
|
12
|
+
- **模型选择控件按 Claude 效果重构**:触发器去掉数据库图标、只保留模型名(+ 推理等级)与箭头,整体单一 hover 背景(不再是多块背景矩形叠加);弹层不再两段 drilling,一级直接列出 DeepSeek 官方服务模型(名 + 描述 + 勾选),其下分界线、推理等级行(如有)与 More models 行;后两者唤出二级弹层并排在一级旁侧(视口不够自动翻到左侧)。整弹层改为悬停即开(与账户控件一致,带 180ms 跨窗宽容),列表字体/行高/间距/圆角/悬停与权限弹层完全一致。数据与提交直连宿主 `ctx.modelDirectories` 的每会话 ModelDirectory(与宿主菜单、`/model` 命令同源),选中态、目录与错误实时同步;宿主原座椅节点标记隐藏,React 换节点后自动重标记。
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- **修复权限切换在 dsh 0.2+ 上完全失效**:当前会话选中态已移出 Session Controller(`sessions.list` 快照不再有 `current` 字段,改由 `uiSession` 服务以主视图绑定投影),`currentSession` 恒返回 null,点击权限菜单任意选项都静默无效、按钮标签永远停留在 `Accept edits`,而原生触发器被皮肤隐藏,GUI 内没有任何可用的切换入口。改为优先从 `uiSession` 主视图绑定读取当前会话 id,旧版宿主回退到 `list.current`;同时兼容 `permissions` 投影在 0.2+ 直接返回裸值(旧版包一层 `{ currentValue }`)的差异。
|
|
16
|
+
- **亮色用户消息气泡由蓝改灰**:宿主亮色气泡底色 token(`--dsw-specific-bubble`)是 DeepSeek 蓝(`deepseek-50`),皮肤此前未覆盖,故亮色下用户消息呈蓝色;现改取皮肤的按钮悬停灰(`--dsh-claude-hover-bg`,亮色 `rgba(0,0,0,0.08)`)。深色气泡宿主本就是中性灰,保持不变。
|
|
17
|
+
- **修复模型选择弹层永远停在「正在加载模型…」**:根因是把 store 的方法调在了实例上——宿主持有的每会话 `ModelDirectory` 实例只有 `load()` / `select()` 等,其响应式状态挂在它的 `.store`(快照 store)字段上(宿主给自家菜单注入的就是 `directory.store`)。皮肤却调用 `modelDir.subscribe()` / `modelDir.getSnapshot()`,前者抛 TypeError 被 catch 吞掉后还把刚取到的 directory 置回 null,后者恒失败 → 快照永远是 null → 触发器回落「选择模型」、弹层渲染 loading 行。现全部改走 `modelDir.store`;`load()`/`select()` 的异步 rejection 也按宿主做法补 `.catch()`。另外会话 id 读取改走 context.js 共享的 `currentSessionId()`(`uiSession` 投影优先、旧 `list.current` 回退),与权限切换同源、对新旧宿主都成立。
|
|
18
|
+
- **深色强调色回到陶烬橙**:皮肤的深色 token 块声明在 `body[data-dsh-claude-style]` 上,与宿主的 `body[data-ds-dark-theme]` 同为 (0,1,1) 权重;宿主主题样式表若排在皮肤之后,其蓝色强调(`--dsw-alias-state-business-primary`、`--dsw-alias-button-info-fill`、`--dsw-alias-link` 与品牌 "new color")就会盖掉暖色盘。现把深色盘限定到 `[data-ds-dark-theme]`((0,2,1),与样式表顺序无关),并补上此前缺失的 `--dsw-alias-link` 与品牌 "new color" 两个强调 token;亮色盘补齐原先从深色基块继承的四个 token,外观不变。
|
|
19
|
+
|
|
20
|
+
## [0.2.3] - 2026-09-19
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
- 修复账户抽屉弹层在后台持续刷新时 hover / 点击失效的问题:弹层打开期间镜像内容保持静止,点击目标改为在点击瞬间实时解析。
|
|
24
|
+
|
|
25
|
+
## [0.2.2] - 2026-09-19
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
- **对话内输入框重设计**:在已有对话中,输入框压缩为紧凑的单行卡片,随内容自然向下撑高(支持平滑滚动);右侧内置回车符号(`↵`)发送按钮,回车直接发送、Shift+Enter 换行,支持中文等 IME 正常选词;权限控制组件、指令 / 附件按钮与模型选择器合并到输入框下方同一行,自适应排列不重叠,权限弹出菜单支持 `Read only` / `Accept edits` / `Full access` 快捷切换与勾选;有附件时附件轨与输入框平滑连接为一体化卡片并撑高文本区,无附件时附件轨完全隐藏;宽度自适应,杜绝 Windows 系统及缩放比例下的异常横向滚动条;对话内占位符为 `Type / for commands`,点击卡片空白处即可聚焦。新会话页保持经典双层分段设计。
|
|
29
|
+
- **输入框焦点样式**:获得焦点时描边转为与输入框自身阴影一致的中性色细线(亮色为暖黑,暗色为纯黑),外扩 1px 同色晕边并加深投影,形成发光感;底栏托盘同步跟随,整体轮廓一体。深浅主题分别调校。
|
|
30
|
+
- **分时段首页欢迎语**:新会话页欢迎语随本地时间自动轮换——6–8 点 `Good morning, {用户名}!`(用户名取工作区路径,失败回退为 `User`)、8–9 点 `Happy {星期几}.`、9–12 点 `What are you working on?`、12–14 点 `What’s on the agenda today?`、14–18 点 `Coffee and Claude time?`、18–24 点 `Evening, how are things?`、0–6 点 `You are here!`;应用保持打开跨过整点时每 60 秒自动刷新手写欢迎语。
|
|
31
|
+
- **模型思考状态重塑**:收录 Claude Code 的 185 种思考动词(如 `Smooshing...`、`Boogieing...`、`Clauding...`、`Noodling...`),每轮思考随机抽取一个动词稳定展示;扫光从 DeepSeek 蓝渐变换为陶土橙与蜜桃暖色高光。
|
|
32
|
+
- **工作区运行中状态重塑**:会话运行时,侧栏会话状态加载动画从 DeepSeek 方形蓝色 LED 矩阵替换为 Windows 11 Fluent 风格的圆形圆弧旋转,深浅主题自适应。
|
|
33
|
+
- **可切换品牌标识**:设置页新增「Claude Style」分区,用分段控件在 Claude(默认,官方星芒)与 Anthropic(`A\` + ANTHROPIC 字标)两套品牌标识间切换,新会话页品牌标识随之切换并保持陶烬橙填充;选择保存在本地,重启应用后保持。
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
- **源码拆分与构建化**:`lib/client.js` 改为构建产物(勿手改),源码拆分至 `src/`(五个 JS 片段 + `src/styles/` 六个纯 CSS 文件);`npm run build` 内联拼装并做语法与令牌自检,发布前自动构建。新增 `scripts/probe.cjs` 无头浏览器回归探针,断言输入框吸底、单行起步、随内容增长等关键不变量(`npm run probe -- --token <launch-token>`)。
|
|
37
|
+
- **Anthropic 字体入仓库**:`fonts/` 提供 Anthropic Sans Web Text / Serif Web Text / Mono Variable 三个字体文件,随 Git 仓库分发、**不随 npm 包分发**(`files` 白名单排除);安装到系统后皮肤字体栈即可生效——版权归 Anthropic,仅供个人使用,不适用 MIT 许可(见 LICENSE 字体声明)。
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
- 修复对话内输入框的多处布局问题:偏离底部不随消息流吸附、被固定为单行无法随内容增高、以及含图片附件时附件区出现双层边框。
|
|
41
|
+
- 修复上下文用量弹层被误压缩导致排版错乱的问题。
|
|
42
|
+
- 修复账户抽屉多项问题:侧栏底部非按钮控件未收纳进抽屉、插件条目被折叠成一项致按钮显示不全、条目图标与文本错位、条目随宿主重排后顺序错乱或点击错位、以及余额 / 配额等富控件型条目不显示或其内嵌按钮点击位置不符。
|
|
43
|
+
- 修复 dsh-agy-link 的 run_code 工具卡片头部与代码预览排版异常的问题。
|
|
44
|
+
|
|
45
|
+
## [0.2.1] - 2026-09-19
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
- 账户抽屉支持悬停展开与延迟关闭,移入弹层不打断浏览。
|
|
49
|
+
|
|
50
|
+
### Changed
|
|
51
|
+
- 权限控制器首段从 Plan 改名为 Read,与它映射的只读预设(read-only)名称一致。
|
|
52
|
+
- 新会话按钮改为与会话行同高的窄条:左对齐加号图标、常驻悬停底色。
|
|
53
|
+
- 会话行标题默认为次级灰,悬停或选中时回到主文字色。
|
|
54
|
+
- 账户底栏改为贯通侧栏的全宽分割线布局。
|
|
55
|
+
|
|
56
|
+
### Fixed
|
|
57
|
+
- 补齐 LICENSE 版权署名;修正 README 中无效的手工 patch 配置示例。
|
|
58
|
+
|
|
59
|
+
## [0.2.0] - 2026-09-19
|
|
60
|
+
|
|
61
|
+
### Added
|
|
62
|
+
- **Claude Code Desktop Theme**: 重构,从配色皮肤升级为完整的 Claude Code Desktop 视觉与交互复刻主题。
|
|
63
|
+
- **Plan / Edit / Auto 分段权限控制**:行内三段式控制器,支持快捷切换会话权限(Plan 只读、Edit 写入、Auto 完全权限并带安全确认)。
|
|
64
|
+
- **侧栏账户抽屉**:侧栏底部集成账户按钮与弹出菜单,支持一键打开设置(`Ctrl+,`)与管理插件。
|
|
65
|
+
- **视觉与文案重塑**:专属问候语、输入框引导文案与品牌星芒标识。
|
|
66
|
+
|
|
67
|
+
### Changed
|
|
68
|
+
- 项目重命名为 `dsh-claude-style`,与上游 `claude-style-skin` 区分。
|
|
69
|
+
- 优化亮色画布色值(`#FCFCFB`)与侧栏色值(`#FBFBF9`)。
|
|
70
|
+
|
|
71
|
+
## [0.1.0] - 2026-08-22
|
|
72
|
+
|
|
73
|
+
### Added
|
|
74
|
+
- 初始版本:暖调象牙白/暖黑双画布与陶烬橙强调色。
|
package/README.en.md
CHANGED
|
@@ -39,12 +39,13 @@ Install: double-click the `.ttf` on Windows → *Install*; on macOS import via *
|
|
|
39
39
|
|
|
40
40
|
## Install
|
|
41
41
|
|
|
42
|
-
> Tested on dsh 0.1.5-rc.2
|
|
42
|
+
> Tested on dsh 0.1.5-rc.2
|
|
43
43
|
|
|
44
44
|
1. Install via terminal
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
|
-
dsh plugin --profile web add
|
|
47
|
+
dsh plugin --profile web add dsh-claude-style # npm package (recommended)
|
|
48
|
+
dsh plugin --profile web add Nwflower/dsh-claude-style # GitHub source
|
|
48
49
|
```
|
|
49
50
|
|
|
50
51
|
2. Install via [Plugin Marketplace](https://github.com/dsh-market/dsh-market)
|
package/README.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
<div align="center">
|
|
2
1
|
# DSH Claude Style
|
|
3
2
|
|
|
4
3
|
**为 DeepSeek Harness (DSH) Web 客户端复刻 Claude Code Desktop 视觉与交互体验的主题插件 —— 暖调象牙画布、陶烬橙强调色,以及在 DSH 上重筑的 Claude Code 交互模型。**
|
|
5
4
|
|
|
5
|
+
<div align="center">
|
|
6
|
+
|
|
6
7
|
> **咖啡与 Claude 的下午茶时光。**
|
|
7
8
|
|
|
8
9
|
[](README.en.md) [](README.md)
|
|
@@ -39,12 +40,13 @@
|
|
|
39
40
|
|
|
40
41
|
## 安装
|
|
41
42
|
|
|
42
|
-
> 已在 dsh 0.1.5-rc.2 上测试
|
|
43
|
+
> 已在 dsh 0.1.5-rc.2 上测试
|
|
43
44
|
|
|
44
45
|
1. 通过终端安装
|
|
45
46
|
|
|
46
47
|
```bash
|
|
47
|
-
dsh plugin --profile web add
|
|
48
|
+
dsh plugin --profile web add dsh-claude-style # npm 包(推荐)
|
|
49
|
+
dsh plugin --profile web add Nwflower/dsh-claude-style # GitHub 源
|
|
48
50
|
```
|
|
49
51
|
|
|
50
52
|
2. 通过[插件市场](https://github.com/dsh-market/dsh-market)安装
|
|
@@ -100,4 +102,10 @@ dsh plugin --profile web remove dsh-claude-style # 卸载
|
|
|
100
102
|
|
|
101
103
|
## Star History
|
|
102
104
|
|
|
103
|
-
|
|
105
|
+
<a href="https://www.star-history.com/?type=date&repos=Nwflower%2Fdsh-claude-style">
|
|
106
|
+
<picture>
|
|
107
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=Nwflower/dsh-claude-style&type=date&theme=dark&legend=top-left" />
|
|
108
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=Nwflower/dsh-claude-style&type=date&legend=top-left" />
|
|
109
|
+
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=Nwflower/dsh-claude-style&type=date&legend=top-left" />
|
|
110
|
+
</picture>
|
|
111
|
+
</a>
|
package/docs/STYLE.md
CHANGED
|
@@ -33,10 +33,12 @@ Rules:
|
|
|
33
33
|
- Borders: 1px warm hairline.
|
|
34
34
|
- Spacing: 4 px rhythm.
|
|
35
35
|
- Focus: the composer field lights up — its hairline takes the input box's own
|
|
36
|
-
shadow colour (espresso `#141413` in light
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
shadow colour (espresso `#141413` in light) with a 1px halo in the same tone
|
|
37
|
+
and a deeper drop shadow. Dark inverts the face: on the near-black canvas a
|
|
38
|
+
black edge carries no cue, so the hairline and halo become bright ivory —
|
|
39
|
+
the field visibly lights up instead of deepening. The footer tray below
|
|
40
|
+
follows the same hairline so the two tiers stay one outline. Accent is never
|
|
41
|
+
used for focus strokes.
|
|
40
42
|
|
|
41
43
|
## Implementation notes
|
|
42
44
|
|
|
@@ -51,7 +53,8 @@ assembles the bundle:
|
|
|
51
53
|
|
|
52
54
|
| Source | Zone | Content |
|
|
53
55
|
|---|---|---|
|
|
54
|
-
| `src/constants.js` | 1 | constants
|
|
56
|
+
| `src/constants.js` | 1 | constants & spinner verbs (evaluated at build time to fill `%%TOKEN%%` placeholders) |
|
|
57
|
+
| `src/assets/*.svg` | — | brand marks, inlined as CSS `url()` data URIs at build time (the loader exposes no asset URLs) |
|
|
55
58
|
| `src/styles/tokens.css` | 2.1 | design tokens (dark base + ivory light) |
|
|
56
59
|
| `src/styles/typography.css` | 2.2 | serif display / sans UI / mono code, editorial markdown |
|
|
57
60
|
| `src/styles/chrome.css` | 2.3 | canvas, hairlines, clay accent, chrome details |
|