dsh-claude-style 0.5.0 → 0.5.3
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 +733 -199
- package/README.en.md +47 -29
- package/README.md +30 -13
- package/docs/STYLE.md +21 -3
- package/docs/architecture.md +37 -1
- package/lib/client.js +4368 -1476
- package/lib/index.js +126 -12
- package/lib/model-descriptions.json +50 -46
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,259 +1,793 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
All notable changes to `dsh-claude-style` are documented here, newest first.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [0.5.3] - 2026-09-23
|
|
8
|
+
|
|
9
|
+
[中文](#cn-0.5.3) | [English](#en-0.5.3)
|
|
10
|
+
|
|
11
|
+
<h3 id="cn-0.5.3">新增功能</h3>
|
|
12
|
+
|
|
13
|
+
- **账号区改为在宿主账号弹层里追加插件自己的行**:宿主自带的账号行就是入口(不再隐藏、不再由插件代为接管),弹层里依次是账号头部、其它插件的页脚条目与宿主自己的设置 / 意见反馈 / 退出登录;宿主没有账号区的环境(Web、0.1.5)先由插件自建账号区,再追加同样的行。宿主行的文案、顺序与点击行为保持原样。
|
|
14
|
+
|
|
15
|
+
### 体验优化
|
|
16
|
+
|
|
17
|
+
- **账号弹层外观统一**:卡片改用纯白背景(暗色保持原样)、宽度与侧栏一致,并去掉底部的横向滚动条;宿主账号菜单套用插件的行、图标、分隔线与悬停底色。
|
|
18
|
+
- **桌面 Windows 标题栏模式下对话 / 轨迹控件居中常显**:控件移到标题栏那一行(与新会话按钮同一行)并保持可见,点击不再被标题栏的拖拽区域吞掉。
|
|
19
|
+
|
|
20
|
+
### 问题修复
|
|
21
|
+
|
|
22
|
+
- 修复 **关闭插件或关掉「折叠侧栏设置区」后,桌面端自带的账号区没有还原**:交出页脚时摘掉插件打在宿主账号行上的标记,宿主行恢复自带的外观与点击。
|
|
23
|
+
- 修复 **Ctrl+, 无法打开设置**:该组合键重新由插件接管(宿主文案一直宣传它,宿主自身没有绑定)。
|
|
24
|
+
- 修复 **收起侧栏后新会话按钮在顶栏出现横贯的悬停底色**:收起状态交由宿主自己的图标控件承载,插件不再绘制悬停底色。
|
|
25
|
+
|
|
26
|
+
### 移除
|
|
27
|
+
|
|
28
|
+
- **移除设置行的 Ctrl+, 提示文案**:设置行保留,点击仍可打开设置。
|
|
29
|
+
|
|
30
|
+
<h3 id="en-0.5.3">New Features</h3>
|
|
31
|
+
|
|
32
|
+
- **The account area now appends the plugin's own rows into the host's account popover**: the host's own account row is the entry (it is no longer hidden or taken over), and the popover lists the account header, the other plugins' footer entries and the host's own Settings / Feedback / Sign out; on a host without an account area (Web, 0.1.5) the plugin builds one first and appends the same rows. The host's own rows keep their copy, order and click behavior.
|
|
33
|
+
|
|
34
|
+
### Improvements
|
|
35
|
+
|
|
36
|
+
- **One look for the account popover**: the card now uses a pure white background (dark keeps its own), spans the sidebar's width, and no longer draws a horizontal scrollbar at its foot; the host's account menu takes the plugin's row, icon, separator and hover treatment.
|
|
37
|
+
- **Centred, always-visible Conversation / Trajectory control in the desktop Windows titlebar**: the control moves onto the titlebar row (the same row as the New session button), stays visible, and its clicks are no longer swallowed by the titlebar's drag region.
|
|
38
|
+
|
|
39
|
+
### Bug Fixes
|
|
40
|
+
|
|
41
|
+
- Fix **the desktop's own account area not coming back after the plugin is disabled or "Collapse the sidebar settings area" is turned off**: handing the footer back drops the plugin's marker from the host's account row, which returns to its shipped look and click behavior.
|
|
42
|
+
- Fix **Ctrl+, no longer opening settings**: the key combination is handled by the plugin again (the host's copy advertises it, while the host itself binds nothing).
|
|
43
|
+
- Fix **a full-width hover plate on the New session button in the titlebar once the sidebar is collapsed**: the collapsed state is carried by the host's own icon control, and the plugin no longer paints a hover plate there.
|
|
44
|
+
|
|
45
|
+
### Removals
|
|
46
|
+
|
|
47
|
+
- **Remove the settings row's Ctrl+, hint text**: the row stays and a click still opens settings.
|
|
48
|
+
|
|
49
|
+
**Full Changelog**: [v0.5.2...v0.5.3](https://github.com/Nwflower/dsh-claude-style/compare/v0.5.2...v0.5.3)
|
|
50
|
+
|
|
51
|
+
## [0.5.2] - 2026-09-23
|
|
52
|
+
|
|
53
|
+
[中文](#cn-0.5.2) | [English](#en-0.5.2)
|
|
54
|
+
|
|
55
|
+
<h3 id="cn-0.5.2">新增功能</h3>
|
|
56
|
+
|
|
57
|
+
- **冒烟测试新增 `desktop` 桌面端页脚用例**:覆盖 0.1.7 桌面端页脚接管、抽屉镜像与账号资料首帧读取。
|
|
58
|
+
|
|
59
|
+
### 问题修复
|
|
60
|
+
|
|
61
|
+
- 修复 **切到插件页后档位触发器浮在页面上**:座位消失时隐藏触发器并归还预留边距。
|
|
62
|
+
- 修复 **窗口宽度变化时档位触发器慢半拍**:随 resize 与卡片尺寸变化和 CSS 同帧重定位。
|
|
63
|
+
- 修复 **按住滑块拖出卡片边界时卡片提前收起**:悬停关闭改看物理按住,松开按键才收起。
|
|
64
|
+
- 修复 **模型名、档位与后续控件间距忽大忽小**:统一到该行自身的 12px 节奏。
|
|
65
|
+
- 修复 **桌面端 Ctrl+, 弹出账号菜单而非设置**:快捷键与抽屉设置行共用入口,改为驱动宿主菜单。
|
|
66
|
+
- 修复 **账号抽屉的登出图标跑到左上角**:图标位自己作定位参照,按宿主尺寸绘制。
|
|
67
|
+
- 修复 **登录时账号资料请求被中止**:等服务就绪并订阅账号状态流,只在首帧、登录与登出读取。
|
|
68
|
+
- 修复 **桌面端从抽屉打不开设置**:设置行只认宿主设置按钮,桌面端让位给镜像的宿主设置行。
|
|
69
|
+
- 修复 **宿主账号行叠在皮肤账号行上**:选择器穿过插槽锚点整行隐藏。
|
|
70
|
+
|
|
71
|
+
### 其他变更
|
|
72
|
+
|
|
73
|
+
- **内部结构拆分,行为无变化**:超限碎片按 D13 约定拆开,调度器改由 `entry.js` 的 FEATURES 表统一安装与 pass 序。
|
|
74
|
+
|
|
75
|
+
<h3 id="en-0.5.2">New Features</h3>
|
|
76
|
+
|
|
77
|
+
- **New `desktop` footer smoke-test case**: covers 0.1.7 desktop footer takeover, drawer mirroring and the first account-profile read.
|
|
78
|
+
|
|
79
|
+
### Bug Fixes
|
|
80
|
+
|
|
81
|
+
- Fix **the effort trigger lingering on the plugins page**: hide it with its seat and give the reserved margin back.
|
|
82
|
+
- Fix **the effort trigger lagging on window resize**: reposition it in the same frame as CSS on resize and card-size changes.
|
|
83
|
+
- Fix **the card closing while the slider is still held**: hover-close now tracks the physical press and closes only on release.
|
|
84
|
+
- Fix **uneven spacing between model, effort and later controls**: unify them on the row's own 12px rhythm.
|
|
85
|
+
- Fix **Ctrl+, opening the account menu instead of settings on desktop**: the shortcut and drawer row now share one entry that drives the host menu.
|
|
86
|
+
- Fix **the sign-out icon landing in the drawer's top-left corner**: the icon slot is now the positioning context and draws at the host's size.
|
|
87
|
+
- Fix **the account profile request being aborted at sign-in**: wait for the service and subscribe to the account state stream, reading only on first frame, sign-in and sign-out.
|
|
88
|
+
- Fix **settings not opening from the drawer on desktop**: the settings row accepts only the host settings button and yields to the mirrored host row on desktop.
|
|
89
|
+
- Fix **the host account row stacking over the skin's row**: the selector now reaches through the slot anchor and hides the whole row.
|
|
90
|
+
|
|
91
|
+
### Chores
|
|
92
|
+
|
|
93
|
+
- **Internal restructuring, no behavior change**: oversized fragments were split per D13, and the scheduler now installs and orders passes from a FEATURES table in `entry.js`.
|
|
94
|
+
|
|
95
|
+
**Full Changelog**: [v0.5.1...v0.5.2](https://github.com/Nwflower/dsh-claude-style/compare/v0.5.1...v0.5.2)
|
|
96
|
+
|
|
97
|
+
## [0.5.1] - 2026-09-23
|
|
98
|
+
|
|
99
|
+
[中文](#cn-0.5.1) | [English](#en-0.5.1)
|
|
100
|
+
|
|
101
|
+
<h3 id="cn-0.5.1">新增功能</h3>
|
|
102
|
+
|
|
103
|
+
- **冒烟测试 `npm run smoke`**:零依赖检查宿主路由栅栏与浏览器半边的启动、空闲、teardown 不变量。
|
|
104
|
+
- **账号行显示真实头像与昵称**:桌面端登录后取官方资料,正圆头像与昵称以 60 秒轮询保持新鲜。
|
|
105
|
+
- **账号抽屉接管宿主账号菜单**:动态镜像宿主菜单条目并直连官方行为。
|
|
106
|
+
|
|
107
|
+
### 体验优化
|
|
108
|
+
|
|
109
|
+
- **档位名换档改成交换动画**:旧名向上模糊淡出、新名自下模糊淡入,拖动中也逐档滚动。
|
|
110
|
+
- **档位两端文案随语境本地化**:中文显示「更快 / 更强」,英文仍是 `Faster` / `Smarter`。
|
|
111
|
+
- **最高档的点阵动画改为纯哈希粒子**:无排序方向,羽流形状由逐块静态透明度承担。
|
|
112
|
+
- **座位里模型与档位两枚触发器靠拢**:名字与档位之间只剩 4px。
|
|
113
|
+
- **推理等级拆成独立触发器与弹层**:新碎片 `effort-picker.js` 只向 `ui.model` 要座位、档位与提交。
|
|
114
|
+
- **推条手感三处打磨**:圆角收小、按住放大 10%、档位点加阻尼。
|
|
115
|
+
- **推理推条换脸成 Claude Desktop 同款**:填充段 + 档位刻点 + 胶囊旋钮,最高档触发点阵动画。
|
|
116
|
+
- **输入框底部阴影改由座位自绘横条与渐变**:座位高度即横条高度,不再逐态重写卡片阴影。
|
|
117
|
+
- **模型介绍文案整体校订一轮**:修中英语义冲突与生硬措辞,统一单位与术语。
|
|
118
|
+
|
|
119
|
+
### 问题修复
|
|
120
|
+
|
|
121
|
+
- 修复 **0.1.7 设置页选项能显示但存不进去**:命名空间改从 `configForms` 已服务的名单挑选,失败回落自建路由。
|
|
122
|
+
- 修复 **斜杠命令 / @ 提及菜单打开时回车直接发送**:删除皮肤对回车的拦截,交给宿主处理。
|
|
123
|
+
- 修复 **关掉插件或热重载后皮肤又画了回来**:teardown 取消排队中的那一帧,之后的 `schedule()` 一律不生效。
|
|
124
|
+
- 修复 **一个特性出错导致整张皮半挂**:teardown 最先注册,每个特性单独安装与同步、失败即退役。
|
|
125
|
+
- 修复 **调度器空闲时仍每帧跑 pass**:账号行按需重建、排序只挪错位项,空闲 pass 降为 0。
|
|
126
|
+
- 修复 **非桌面端把「在应用中打开」菜单收进抽屉**:改按账号标签匹配触发器。
|
|
127
|
+
- 修复 **「设置」行变成账号名并弹出账号菜单**:只接受带 `aria-haspopup="dialog"` 的按钮。
|
|
128
|
+
- 修复 **图标型登出按钮没被排除**:同时读 `aria-label` / `title` / 类名,并跳过宿主账号区。
|
|
129
|
+
- 修复 **设置存储误报不可用**:读路径不再做可用性判定,仅写入失败才提示。
|
|
130
|
+
- 修复 **松开推条后旋钮弹回原档位再跳回**:等待回声期间不跟随滞后快照,超时或换梯后恢复。
|
|
131
|
+
- 修复 **松手瞬间档位名连跳两下**:footer 只换推条以外的节点,且先提交再只画一次。
|
|
132
|
+
- 修复 **拖动时滑块冲出终点线并与填充脱开**:位移改用独立 `translate` 属性,填充右端改为直角。
|
|
133
|
+
- 修复 **点击两档之间可能让档位选择器崩溃**:目录未 settle 期间不摘触发器也不关卡片。
|
|
134
|
+
- 修复 **点击滑槽其他位置时滑块瞬移**:把按下与拖动拆成两个状态,按下时仍有过渡动画。
|
|
135
|
+
|
|
136
|
+
### 安全
|
|
137
|
+
|
|
138
|
+
- **用户名、昵称、头像与插件条目不再拼进 HTML**:一律以文本写入,头像改用真正的 `<img>`。
|
|
139
|
+
- **设置与用户名路由不再对任何人敞开**:先过宿主请求栅栏,并限制内容类型、体积与数组长度。
|
|
140
|
+
|
|
141
|
+
<h3 id="en-0.5.1">New Features</h3>
|
|
142
|
+
|
|
143
|
+
- **Smoke test `npm run smoke`**: a dependency-free check of the host route fence and the browser half's boot, idle and teardown invariants.
|
|
144
|
+
- **The account row shows the real avatar and nickname**: on desktop sign-in it reads the official profile and keeps the round avatar and nickname fresh by polling every 60s.
|
|
145
|
+
- **The account drawer takes over the host account menu**: it mirrors the host menu's entries and drives the official actions directly.
|
|
146
|
+
|
|
147
|
+
### Improvements
|
|
148
|
+
|
|
149
|
+
- **Effort-name changes now swap**: the old name blurs upward while the new one blurs in from below, scrolling step by step while dragging.
|
|
150
|
+
- **Effort end labels are localized**: Chinese now shows localized labels, English stays `Faster` / `Smarter`.
|
|
151
|
+
- **The apex dot animation is now pure hashed particles**: no ordering or direction, with the plume shape carried by per-block static opacity.
|
|
152
|
+
- **The model and effort triggers in the seat move closer**: only 4px is left between the model name and the effort name.
|
|
153
|
+
- **Reasoning effort splits into its own trigger and popover**: the new `effort-picker.js` asks `ui.model` only for the seat, effort and commit.
|
|
154
|
+
- **Three slider feel tweaks**: smaller corners, a 10% scale-up while held, and damping around each step.
|
|
155
|
+
- **The effort slider is restyled to match Claude Desktop**: fill, step ticks and a capsule knob, with the apex step triggering the dot animation.
|
|
156
|
+
- **The composer's bottom shadow now comes from the seat's own bar and gradient**: the seat height is the bar height, no per-state card shadows.
|
|
157
|
+
- **The model descriptions got a full copy-editing pass**: fixing CN/EN conflicts and awkward wording, unifying units and terms.
|
|
158
|
+
|
|
159
|
+
### Bug Fixes
|
|
160
|
+
|
|
161
|
+
- Fix **settings showing but not saving on 0.1.7**: the namespace is now picked from the namespaces `configForms` serves, falling back to the plugin route.
|
|
162
|
+
- Fix **Enter sending half-typed text while the slash or @ menu is open**: the skin's Enter interception is removed and the host handles it.
|
|
163
|
+
- Fix **the skin repainting itself after disable or hot reload**: teardown cancels the queued frame and later `schedule()` calls no longer take effect.
|
|
164
|
+
- Fix **one failing feature leaving the whole skin half-mounted**: teardown registers first, and each feature installs and syncs alone, retiring on failure.
|
|
165
|
+
- Fix **the scheduler running a pass every frame while idle**: the account row rebuilds only on change and sorting moves only misplaced entries, so idle passes drop to 0.
|
|
166
|
+
- Fix **the "Open in app" menu being pulled into the drawer on non-desktop**: triggers are now matched by the account label.
|
|
167
|
+
- Fix **the settings row turning into the account name and opening the account menu**: it now accepts only buttons with `aria-haspopup="dialog"`.
|
|
168
|
+
- Fix **icon-only sign-out buttons not being excluded**: it now reads `aria-label` / `title` / class names and skips the host account area.
|
|
169
|
+
- Fix **settings storage falsely reporting unavailable**: the read path no longer judges availability, only a failed write warns.
|
|
170
|
+
- Fix **the knob snapping back to the old step after release**: it no longer follows the lagging snapshot while waiting for the echo, resuming on echo, ladder change or timeout.
|
|
171
|
+
- Fix **the effort name jumping twice on release**: the footer now replaces only non-slider nodes, and commit happens before a single paint.
|
|
172
|
+
- Fix **the knob overshooting the track end and detaching from the fill while dragging**: position now uses the standalone `translate` property and the fill's right end is square.
|
|
173
|
+
- Fix **clicking between two steps sometimes crashing the effort picker**: while the catalog has not settled it no longer removes the trigger or closes the card.
|
|
174
|
+
- Fix **the knob teleporting when clicking elsewhere on the track**: press and drag are split into two states, so a press still animates.
|
|
175
|
+
|
|
176
|
+
### Security
|
|
177
|
+
|
|
178
|
+
- **Usernames, nicknames, avatars and plugin entries are no longer spliced into HTML**: all are written as text and the avatar uses a real `<img>`.
|
|
179
|
+
- **The settings and username routes are no longer open to anyone**: they pass the host request fence and cap content type, body size and array length.
|
|
180
|
+
|
|
181
|
+
**Full Changelog**: [v0.5.0...v0.5.1](https://github.com/Nwflower/dsh-claude-style/compare/v0.5.0...v0.5.1)
|
|
182
|
+
|
|
3
183
|
## [0.5.0] - 2026-09-22
|
|
4
184
|
|
|
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
|
-
- **composer 获焦时 `ui.heroMenu.close
|
|
31
|
-
-
|
|
32
|
-
- **composer
|
|
33
|
-
-
|
|
34
|
-
- **
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
185
|
+
[中文](#cn-0.5.0) | [English](#en-0.5.0)
|
|
186
|
+
|
|
187
|
+
<h3 id="cn-0.5.0">新增功能</h3>
|
|
188
|
+
|
|
189
|
+
- **插件页有了自己的图标**:`package.json` 填陶烬橙星芒的相对路径,构建期复制到 `lib/`。
|
|
190
|
+
- **插件卡片有了本地化的标题与描述**:`locale/*.json` 提供 `meta.title` 与描述,`exports` 用通配避免降级。
|
|
191
|
+
- **侧栏「工作区」改成进行中 / 已归档分段控件**:驱动宿主筛选并从树里读回选中态,归档行挂删除按钮。
|
|
192
|
+
|
|
193
|
+
### 体验优化
|
|
194
|
+
|
|
195
|
+
- **推理等级改成一级弹层底部的推条**:无极滑动、松手对齐最近档位,键盘可用,二级弹层只剩「更多模型」。
|
|
196
|
+
- **`model-picker.js` 拆出两块回到停止线内**:推条与文案解析各成新碎片,二级档位状态一并删除。
|
|
197
|
+
- **推条的滑槽与旋钮几乎等高**:滑槽从 6px 细线改为 14px 圆角槽,对齐 Claude 真机比例。
|
|
198
|
+
- **弹层悬停时间统一**:停留 50ms 打开、离开 100ms 关闭,统计卡片仍 300ms 打开。
|
|
199
|
+
- **「更多模型」二级弹层收口**:底对齐、不重复供应商、没得列就整行去掉,不支持思考时不画推条。
|
|
200
|
+
|
|
201
|
+
### 问题修复
|
|
202
|
+
|
|
203
|
+
- 修复 **真圆被画成鹅卵石**:给六处真圆与滑槽补上 `corner-shape: round`。
|
|
204
|
+
- 修复 **全屏面板下顶栏标签与后台任务数浮在面板之上**:该行 `z-index` 从 100 降到 9。
|
|
205
|
+
- 修复 **热重载后模型选择器失去点击效果**:弹层节点重建判据改为「为空或已脱离文档」,并重置渲染签名。
|
|
206
|
+
- 修复 **热重链后宿主半边资产路由整代失联**:改为无条件经 `ctx.inject(['webServer'])` 注册路由。
|
|
207
|
+
- 修复 **推条拖动掉帧、不跟手**:拖动位移并入每帧一次 rAF,并对同值写入加护栏。
|
|
208
|
+
- 修复 **二级弹层悬停打开后不随指针移开收起**:一级弹层委托 `mouseover`,指针离开入口即收起。
|
|
209
|
+
- 修复 **切换档位后模型选择器一段时间不可用**:只在解析不出席位且无分组时才显示加载行。
|
|
210
|
+
- 修复 **composer 获焦时 `ui.heroMenu.close` 抛错**:调用前补存在性护栏。
|
|
211
|
+
- 修复 **0.1.7 上上下文标记被落在第二层**:新增 `mergeContextMeterIntoRow()` 归位到模型触发器右侧。
|
|
212
|
+
- 修复 **composer 底行三种控件字型不一**:统一为同一字体、13px、500 字重、20px 行高。
|
|
213
|
+
- 修复 **统计句盒子横跨半个行**:改用 `flex: 0 1 auto` 与自动外边距,盒子贴合文字。
|
|
214
|
+
- 修复 **0.1.7 上设置静默失效**:宿主半边导出 `Config`,设置按宿主世代分流到官方表单或旧注册制。
|
|
215
|
+
- 修复 **统计卡片内容缺块、关不掉、易误触发**:只认真实点击,悬停需停留 300ms,并按世代清扫遗留卡片。
|
|
216
|
+
- 修复 **软链安装下 schemastery 解析不到**:改按 harness 自己的解析基准取 schemastery。
|
|
217
|
+
- 修复 **0.1.7 上输入框的「+」失去皮肤样式与位置**:标签列表补子串匹配,恢复 24px 与顺序。
|
|
218
|
+
- 修复 **侧栏两行形状不一致**:统一度量、静止透明 / hover 才铺底色,图标盒统一为 20px。
|
|
219
|
+
- 修复 **侧栏两行图标 hover 转 90°**:加 `transition: transform .25s`,指针离开自动转回。
|
|
220
|
+
|
|
221
|
+
### 移除
|
|
222
|
+
|
|
223
|
+
- **模型行的厂商字体整块移除**:字体资产、子集化脚本、令牌与 `@font-face` 一并删除。
|
|
224
|
+
|
|
225
|
+
<h3 id="en-0.5.0">New Features</h3>
|
|
226
|
+
|
|
227
|
+
- **The plugins page gets its own icon**: `package.json` points at the clay starburst's relative path, copied into `lib/` at build time.
|
|
228
|
+
- **The plugin card gets localized title and description**: `locale/*.json` supplies `meta.title` and description, exported via a wildcard to avoid a downgrade.
|
|
229
|
+
- **The sidebar "Workspaces" title becomes an Active / Archived segmented control**: it drives the host filter and reads selection back from the tree, with a delete button on archived rows.
|
|
230
|
+
|
|
231
|
+
### Improvements
|
|
232
|
+
|
|
233
|
+
- **Reasoning effort becomes a slider at the bottom of the first-level popover**: it slides freely and snaps on release, is keyboard-accessible, and the submenu holds only "More models".
|
|
234
|
+
- **`model-picker.js` splits into two fragments and returns under the stop line**: the slider and copy lookup become new fragments, and the submenu effort state is removed.
|
|
235
|
+
- **The slider track and knob are now nearly the same height**: the track goes from a 6px line to a 14px rounded groove, matching Claude's real proportions.
|
|
236
|
+
- **Popover hover timing is unified**: 50ms dwell to open and 100ms to close, while the stats card keeps its 300ms open dwell.
|
|
237
|
+
- **The "More models" submenu is tightened up**: bottom-aligned, no repeated providers, hidden when empty, and no slider when the model lacks reasoning.
|
|
238
|
+
|
|
239
|
+
### Bug Fixes
|
|
240
|
+
|
|
241
|
+
- Fix **circles rendering as pebbles**: six true circles and the slider track now declare `corner-shape: round`.
|
|
242
|
+
- Fix **the header preset label and background-task count floating above a fullscreen panel**: that row's `z-index` drops from 100 to 9.
|
|
243
|
+
- Fix **the model picker losing its click effect after hot reload**: popover nodes now rebuild when null or detached, and the render signature is reset.
|
|
244
|
+
- Fix **host-side asset routes losing a whole generation after a hot re-chain**: routes now always register through `ctx.inject(['webServer'])`.
|
|
245
|
+
- Fix **the effort slider dropping frames and lagging while dragging**: moves are batched into one rAF per frame and same-value writes are guarded.
|
|
246
|
+
- Fix **the submenu staying open after the pointer moves away**: the first-level popover delegates `mouseover` and closes it once the pointer leaves the entry.
|
|
247
|
+
- Fix **the model picker being unusable for a while after an effort change**: the loading row shows only when no seat and no groups can be resolved.
|
|
248
|
+
- Fix **`ui.heroMenu.close` throwing on every composer focus**: an existence guard now precedes the call.
|
|
249
|
+
- Fix **the context meter dropping to a second layer on 0.1.7**: a new `mergeContextMeterIntoRow()` returns it to the model trigger's right.
|
|
250
|
+
- Fix **the composer's bottom-row controls using different type**: they now share one font at 13px / 500 / 20px line height.
|
|
251
|
+
- Fix **the stats sentence box spanning half the row**: `flex: 0 1 auto` with auto margins now shrink-wraps it to the text.
|
|
252
|
+
- Fix **settings silently failing on 0.1.7**: the host half exports `Config` and splits settings by host generation between the official form and the old registry.
|
|
253
|
+
- Fix **the stats card missing content, refusing to close and misfiring**: it now accepts only trusted clicks, needs a 300ms dwell, and sweeps stale cards per generation.
|
|
254
|
+
- Fix **schemastery not resolving under a symlinked install**: it is now resolved from the harness's own resolution base.
|
|
255
|
+
- Fix **the composer "+" losing its skin styling and position on 0.1.7**: substring label matches restore its 24px size and order.
|
|
256
|
+
- Fix **the sidebar's two rows not matching**: shared metrics, transparent until hover, and a uniform 20px icon box.
|
|
257
|
+
- Fix **the sidebar rows' icons rotating 90° on hover**: add `transition: transform .25s` so they turn back on pointer leave.
|
|
258
|
+
|
|
259
|
+
### Removals
|
|
260
|
+
|
|
261
|
+
- **The model row's vendor font is removed entirely**: the font asset, subsetting script, token and `@font-face` are all deleted.
|
|
262
|
+
|
|
263
|
+
**Full Changelog**: [v0.4.0...v0.5.0](https://github.com/Nwflower/dsh-claude-style/compare/v0.4.0...v0.5.0)
|
|
42
264
|
|
|
43
265
|
## [0.4.0] - 2026-09-21
|
|
44
266
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
-
|
|
48
|
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
267
|
+
[中文](#cn-0.4.0) | [English](#en-0.4.0)
|
|
268
|
+
|
|
269
|
+
<h3 id="cn-0.4.0">新增功能</h3>
|
|
270
|
+
|
|
271
|
+
- **快捷供应商多选弹层**:设置页新增多选弹层,勾选者的模型直接列进一级弹层,按供应商分组、组名领在分隔线前。
|
|
272
|
+
- **当前模型行**:供应商改由自己的分隔线承载,席位不在已列供应商时在列表末尾补一行;二级弹层高度随内容自适应。
|
|
273
|
+
- **重做模型选择器开关**:设置页新增开关(默认开),关掉后交回宿主自己的模型菜单,只影响弹层。
|
|
274
|
+
- **首页目录与预设弹层**:改用皮肤弹层样式,触发器展开时给卡片打标记并重绘。
|
|
275
|
+
- **Popovers 规范**:`docs/STYLE.md` 新增「多选一弹层」的卡片、行、分隔与页脚度量表及类名匹配纪律。
|
|
276
|
+
- **hero 弹层位置**:改从触发器旁边弹出、底边对齐并向上生长,视口不够时翻到左侧,滚动缩放时重算。
|
|
277
|
+
- **首页弹层纳入自动弹出**:悬停触发器即展开、移开即收起,与对话框重绘门控一致。
|
|
278
|
+
- **快捷供应商清单**:官方服务始终不列入,残留的已下线供应商带「已移除」标记,取消勾选即从存储清除。
|
|
279
|
+
- **焦点收起弹层**:`focusin` 落进对话卡片时关闭权限、模型、会话统计、账户抽屉、hero 菜单与快捷供应商弹层。
|
|
280
|
+
|
|
281
|
+
### 体验优化
|
|
282
|
+
|
|
283
|
+
- **一级弹层滚动区**:只滚动模型列表,分隔线与「推理程度 / 更多模型」钉在卡片底部,高度随内容自适应。
|
|
284
|
+
- **自动弹出三档**:关闭 / 仅账号区 / 全部(默认全部),旧布尔值读取时归一。
|
|
285
|
+
- **弹层度量统一**:账户抽屉、会话统计与权限弹层对齐规范的行高、圆角、间距、最小宽度与 `z-index`。
|
|
286
|
+
|
|
287
|
+
### 问题修复
|
|
288
|
+
|
|
289
|
+
- 修复 **热重载重复渲染**:账户区与模型席位改为 DOM 幂等,更新前清扫上一代同名节点。
|
|
290
|
+
|
|
291
|
+
### 其他变更
|
|
292
|
+
|
|
293
|
+
- **清理开发期痕迹**:删除未调用的 `applyBrand`、未用参数与过时注释,行为无变化。
|
|
294
|
+
|
|
295
|
+
<h3 id="en-0.4.0">New Features</h3>
|
|
296
|
+
|
|
297
|
+
- **Quick-provider multi-select popover**: pick providers in settings and their models list directly in the first-level popover, grouped with the provider name leading each divider.
|
|
298
|
+
- **The current-model row**: the provider now rides its own divider; a seat outside the listed providers gets one appended at the end.
|
|
299
|
+
- **Redo model picker toggle**: a new setting (on by default) hands the model seat and both popovers back to the host's own menu.
|
|
300
|
+
- **Hero directory and preset popovers**: restyled to the skin's popover language via a marker set when the trigger reports `aria-expanded="true"`.
|
|
301
|
+
- **Popover spec**: `docs/STYLE.md` gained card, row, divider and footer metrics plus the class-name matching rules.
|
|
302
|
+
- **Hero popover placement**: it now opens beside the trigger, growing upward, flipping left when space is short, and repositions on scroll or zoom.
|
|
303
|
+
- **Hero popovers follow auto-popover**: hovering the trigger opens them and leaving closes them, gated like the composer restyle.
|
|
304
|
+
- **Quick-provider list**: official services never appear, and a removed provider stays flagged until unchecked and cleared from storage.
|
|
305
|
+
- **Focus closes popovers**: a `focusin` inside the chat card dismisses the permission, model, stats, account, hero-menu and quick-provider popovers.
|
|
306
|
+
|
|
307
|
+
### Improvements
|
|
308
|
+
|
|
309
|
+
- **First-level popover scroll region**: only the model list scrolls while the divider, reasoning effort and "More models" stay pinned at the card bottom.
|
|
310
|
+
- **Auto-popover has three levels**: Off / Account area only / All (default All), with old booleans normalized on read.
|
|
311
|
+
- **Popover metrics unified**: the account drawer, session stats and permission popover now share the spec's row height, radius, spacing, min width and `z-index`.
|
|
52
312
|
|
|
53
|
-
|
|
54
|
-
- **设置里的「快捷供应商」清单排除官方服务,已下线的供应商也能清掉**:官方服务**始终**列在一级弹层最前面,不在多选清单里——它出现在清单里只会让人以为它能被「取消」,读取时也会把存储里残留的官方 id 归一掉(宿主与浏览器半边各一次)。反过来,一个曾经勾选、后来从目录消失的供应商 id 会带着「已移除」的弱化标记留在清单里——它还是「勾选」状态,取消勾选即从存储清除,否则那种残留 id 会永远隐形地躺在存储里、既看不见也删不掉。
|
|
55
|
-
- **对话框获得焦点时收起对话区的弹层**:`focusin` 一旦落在对话卡片里,权限、模型(两级)、会话统计、账户抽屉、首页 hero 菜单与设置里的快捷供应商弹层全部关闭——一个弹层悬在刚点进来的输入区上方会很碍事,而焦点的语义正好是「用户开始在这里干活」。注册在调度器的 document 级监听器上,随其它监听器一起装卸。
|
|
313
|
+
### Bug Fixes
|
|
56
314
|
|
|
57
|
-
|
|
58
|
-
- **一级弹层的滚动区只剩模型列表,分隔线与「推理程度 / 更多模型」钉在滚动区外**:此前整个一级弹层共用一个滚动容器,模型很多时「推理程度」「更多模型」两行会跟着滚出视野——现在弹层拆成上下两段:模型列表在上段滚动,分隔线、推理程度、更多模型在下段**不进滚动区**,始终停在卡片底部。一级弹层的高度也改成随内容自适应(只受视口约束,与二级弹层同一上限),短列表不再撑出一张空高卡片。
|
|
59
|
-
- **「自动弹出弹层」从开关改成三档(关闭 / 仅账号区 / 全部,默认全部)**:原来只有开与关,也没说清范围;现在三档把它写明——「仅账号区」只让侧栏账户弹层悬停展开,「全部」再加上权限、模型、会话统计与首页的目录/预设。旧的布尔值在读取时归一到新档位(`true` → 全部,`false` → 关闭),浏览器半边与宿主半边各做一次归一,宿主写路径的白名单也接受新的字符串值。
|
|
60
|
-
- **四处弹层的度量统一到规范**:账户抽屉与会话统计此前是 8px 行圆角、2px / 4px 卡片间距、8px 内边距、260px 最小宽度、z-index 1000 / 100000,权限弹层是 220px 最小宽度——现在全部对齐「Popovers · 多选一弹层」:6px 内边距、6px 间距、`min-height: 32px` 的行、`2px 7px` 行内边距、6px 行圆角、248px 最小宽度、z-index 99999。顺带修掉权限弹层把行高写死成 `height: 32px` 而内容本就是两行的隐患(改 `min-height`),并给会话统计补上缺失的 `transform-origin`。
|
|
61
|
-
- **清掉一批开发期痕迹,行为无变化**:删除从未被调用的 `applyBrand`(它连同注释一直被打进 bundle)、`modelBrand` 一个未使用的参数、`model-brand.js` 开头讲文件来历的注释,以及架构文档里指向某次提交与某个已删除计划文档的引用;`docs/STYLE.md` 中与 `AGENTS.md` 重复的模型文案规则与选择器纪律改为指向后者,并修掉那里一处断了主语的句子、README 里过期的锁定标数量与 Star History 图。
|
|
315
|
+
- Fix **Duplicate renders on HMR**: the account area and model seat are now DOM-idempotent, sweeping the previous generation's nodes before updating.
|
|
62
316
|
|
|
63
|
-
###
|
|
64
|
-
|
|
317
|
+
### Chores
|
|
318
|
+
|
|
319
|
+
- **Dev leftovers removed**: deleted the unused `applyBrand`, an unused parameter and stale comments, with no behavior change.
|
|
320
|
+
|
|
321
|
+
**Full Changelog**: [v0.3.2...v0.4.0](https://github.com/Nwflower/dsh-claude-style/compare/v0.3.2...v0.4.0)
|
|
65
322
|
|
|
66
323
|
## [0.3.2] - 2026-09-21
|
|
67
324
|
|
|
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
|
-
-
|
|
325
|
+
[中文](#cn-0.3.2) | [English](#en-0.3.2)
|
|
326
|
+
|
|
327
|
+
<h3 id="cn-0.3.2">新增功能</h3>
|
|
328
|
+
|
|
329
|
+
- **会话统计跟随自动弹出**:与账户、模型、权限三个弹层对齐,关闭开关后悬停不再弹出。
|
|
330
|
+
- **更多模型弹层收紧**:列间距、分组间距与分组标题上边距各收到 4px。
|
|
331
|
+
- **锁定标不再回退**:没有规则命中的模型不画标,未用到的品牌一并删除。
|
|
332
|
+
- **新增 `longcat` 品牌**:补 `mimo` → `xiaomimimo` 规则,OpenCode 的 MiMo 与 LongCat 现在命中。
|
|
333
|
+
- **OpenAI 标不可见**:vendoring 清掉本地资产里带 `fill` 的内联 style,再补 `currentColor`。
|
|
334
|
+
- **更多模型排序**:行内边距收到 3px,同供应商模型按 id 升序排列。
|
|
335
|
+
- **锁定标多处修正**:Meta 漂移、混元高光与 `hy-mt2` 解析,新增 Gemma / Nano Banana 两个品牌。
|
|
336
|
+
- **厂商锁定标合成**:按 Lobe 的合成比例生成 `combine/<厂商>.svg`,图标与字标合为一件图形,自建字标与供应商图标删除。
|
|
337
|
+
- **Claude 行锁定标**:改画 Claude 自己的字标,`anthropic` 仍作 `anthropic` 路由兜底。
|
|
338
|
+
- **新增家族规则**:`gemma` 与 `nano-?banana` 各补一条官网口径文案,不再掉到档位规则。
|
|
339
|
+
- **Fable 与 Mythos 规则**:两条各用官网定位句,不再掉到兜底文案。
|
|
340
|
+
|
|
341
|
+
### 问题修复
|
|
342
|
+
|
|
343
|
+
- 修复 **过时模型说法**:修正 DeepSeek 下线版本、Grok 4.5、文心 5.0 与 `kimi-for-coding` 的过时文案。
|
|
344
|
+
- 修复 **插件加载即崩**:清掉对已删除 `WORDMARK_SVGS` 的加载期引用,并补一条加载校验脚本。
|
|
345
|
+
- 修复 **锁定标占位不显示**:把根的绘制属性重新包一层 `<g>`,并去掉会变提示的 `<title>`。
|
|
346
|
+
- 修复 **当前模型行丢供应商**:格式定为 `模型 (供应商)`,描述只在第一级显示,一级那行补上描述。
|
|
347
|
+
- 修复 **冷启动后选择器空等**:会话一解析出来就预热模型目录,把等待挪进启动过程。
|
|
348
|
+
- 修复 **Grok 行显示 xAI 标识**:`brands.models` 改指 Grok 自己的标记,provider 分组标题仍用 xAI。
|
|
349
|
+
- 修复 **当前模型行显示 id 串**:改用与其他行同一套外显名与厂商标记逻辑,无名字才退回 id。
|
|
350
|
+
|
|
351
|
+
### 其他变更
|
|
352
|
+
|
|
353
|
+
- **抽出 `model-brand.js`**:把品牌判定整块搬进新碎片,`model-picker.js` 回落到停止线以内。
|
|
354
|
+
- **字标扫描改预置数组**:加载时构建词表,并新增 `scripts/probe-timing.cjs` 分项计时。
|
|
355
|
+
- **模型简介按官网重写**:19 条精确条目与 54 条家族规则逐条对齐官网,家族文案不写最高级与版本数字。
|
|
356
|
+
- **文案改按线映射**:DeepSeek 删除旧版精确条目,改为 Flash / Pro / 其余三条线级文案。
|
|
357
|
+
- **去掉档位前缀**:不再用「旗舰档:」等自家定位话术,改用厂商自己的定位句。
|
|
358
|
+
- **描述不再重复模型名**:共 50 条去掉「X 系列:」式开头。
|
|
359
|
+
- **规格条目补用途**:10 条只剩参数与价格的条目按「面向…的…」形状并回官网用途句。
|
|
360
|
+
|
|
361
|
+
<h3 id="en-0.3.2">New Features</h3>
|
|
362
|
+
|
|
363
|
+
- **Session stats follow auto-popover**: it now matches the account, model and permission popovers, so with the setting off hover no longer opens it.
|
|
364
|
+
- **More-models popover tightened**: column, group and group-title spacing all reduced to 4px.
|
|
365
|
+
- **No lockup fallback**: a model with no matching rule draws no mark, and unused brands are dropped.
|
|
366
|
+
- **New `longcat` brand**: plus a `mimo` → `xiaomimimo` rule, so OpenCode's MiMo and LongCat now resolve.
|
|
367
|
+
- **Invisible OpenAI mark**: vendoring now strips inline `fill` styles from local assets and adds `currentColor`.
|
|
368
|
+
- **More-models ordering**: row padding reduced to 3px and each provider's models sort by id.
|
|
369
|
+
- **Multiple lockup fixes**: Meta drift, Hunyuan highlight and `hy-mt2` lookup, plus the Gemma and Nano Banana brands.
|
|
370
|
+
- **Combined vendor lockups**: `combine/<vendor>.svg` is generated from Lobe's own ratios, merging icon and wordmark; hand-built wordmarks and provider icons are gone.
|
|
371
|
+
- **Claude row lockup**: it now draws Claude's own wordmark, with `anthropic` kept as the fallback for the `anthropic` route.
|
|
372
|
+
- **New family rules**: `gemma` and `nano-?banana` each get an official one-liner instead of falling through to tier rules.
|
|
373
|
+
- **Fable and Mythos rules**: each uses its official positioning line instead of the generic fallback.
|
|
374
|
+
|
|
375
|
+
### Bug Fixes
|
|
376
|
+
|
|
377
|
+
- Fix **Stale model claims corrected**: retired DeepSeek versions move to line mapping, and Grok 4.5, ERNIE 5.0 and `kimi-for-coding` follow official naming.
|
|
378
|
+
- Fix **the plugin crashing on load**: the load-time reference to the removed `WORDMARK_SVGS` is gone, with a load-check script added to catch it.
|
|
379
|
+
- Fix **lockups reserving space but not showing**: root paint attributes are re-wrapped in a `<g>` and the tooltip-making `<title>` is dropped.
|
|
380
|
+
- Fix **the current-model row losing its provider**: the label is now `model (provider)`, descriptions show only at the first level, and that row gained one.
|
|
381
|
+
- Fix **the model picker waiting seconds after a cold start**: the catalog is warmed as soon as a session resolves, folding the wait into startup.
|
|
382
|
+
- Fix **the Grok row showing xAI's mark**: `brands.models` now points at Grok's own, while provider group headers still use xAI.
|
|
383
|
+
- Fix **the current-model row showing an id string**: it now uses the same display-name and brand logic as other rows, falling back to the id only when unnamed.
|
|
384
|
+
|
|
385
|
+
### Chores
|
|
386
|
+
|
|
387
|
+
- **`model-brand.js` extracted**: the whole brand-resolution block moved into a new fragment, bringing `model-picker.js` back under the size limit.
|
|
388
|
+
- **Wordmark scan prebuilt into an array**: the word list is built at load time, plus a new `scripts/probe-timing.cjs` for per-stage timings.
|
|
389
|
+
- **Model blurbs rewritten from vendor sites**: 19 exact entries and 54 family rules now match official pages, with no superlatives or version numbers in family copy.
|
|
390
|
+
- **Copy mapped by line, not version**: DeepSeek's old exact entries are gone, replaced by Flash, Pro and a shared line-level blurb.
|
|
391
|
+
- **Tier prefixes removed**: our own "flagship tier:" framing is gone in favour of vendor positioning.
|
|
392
|
+
- **Blurbs no longer repeat the model name**: 50 entries dropped the "X series:" prefix.
|
|
393
|
+
- **Spec-only blurbs gained a purpose**: 10 entries that had only specs now lead with the official use case.
|
|
394
|
+
|
|
395
|
+
**Full Changelog**: [v0.3.1...v0.3.2](https://github.com/Nwflower/dsh-claude-style/compare/v0.3.1...v0.3.2)
|
|
99
396
|
|
|
100
397
|
## [0.3.1] - 2026-09-21
|
|
101
398
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
-
|
|
399
|
+
[中文](#cn-0.3.1) | [English](#en-0.3.1)
|
|
400
|
+
|
|
401
|
+
<h3 id="cn-0.3.1">新增功能</h3>
|
|
402
|
+
|
|
403
|
+
- **声明最低运行时**:`package.json` 新增最低宿主版本,仓库根新增 `screenshots.json` 供商店取图。
|
|
404
|
+
- **Gemini 行改用 Google Sans Flex**:子集随包分发,家族名改为 `Google Sans Flex Picker`,按 `data-brand` 挂载。
|
|
405
|
+
|
|
406
|
+
### 问题修复
|
|
407
|
+
|
|
408
|
+
- 修复 **贴图时 hint 发黑跑位**:给 hero 兜底节点补上宿主的定位与墨色,hint 回到输入框首行。
|
|
409
|
+
- 修复 **聚焦底纹盖住输入框**:底纹从 rail 移到卡片,与 hero 卡片同一位置。
|
|
410
|
+
- 修复 **封号彩蛋语言选不动**:`banLocale` 走浏览器本地兜底,宿主不认该键时先本地保存渲染,待其重启后补写。
|
|
411
|
+
|
|
412
|
+
### 其他变更
|
|
413
|
+
|
|
414
|
+
- **亮暗切换先色后样**:翻转瞬间抑制过渡并取消进行中的绘制动画,约 0.3s 后恢复。
|
|
415
|
+
- **composer 形态改属性**:由 JS 写 `data-composer-variant`,CSS 直接读,降低流式重算开销。
|
|
416
|
+
- **设置页 Tab 图标**:用 CSS 蒙版把通用齿轮换成 Claude 星芒,亮暗各自取色。
|
|
417
|
+
- **亮色背景层级调优**:一级 `#FCFCFB`、二级 `#FBFBF9`、三级 `#F9F9F6`,设置面板对齐画布。
|
|
418
|
+
- **去 AI 化与精简**:清理临时调试日志与历史规划文档,移除残留编号与重复注释,精简 README。
|
|
419
|
+
|
|
420
|
+
<h3 id="en-0.3.1">New Features</h3>
|
|
421
|
+
|
|
422
|
+
- **Minimum runtime declared**: `package.json` gained `engines.dsh: ">=0.1.5-rc.2"`, and a root `screenshots.json` feeds store screenshots.
|
|
423
|
+
- **Gemini row set in Google Sans Flex**: a subset ships with the package under the family name `Google Sans Flex Picker`, mounted by `data-brand`.
|
|
424
|
+
|
|
425
|
+
### Bug Fixes
|
|
105
426
|
|
|
106
|
-
|
|
107
|
-
-
|
|
108
|
-
- **
|
|
109
|
-
- **设置页 Claude Style 导航 Tab 图标替换为 Claude 标识**:设置弹窗内「Claude Style」Tab 默认由宿主回退为通用的齿轮图标(`IconSettingsOutline16`)。现通过 CSS 蒙版与调度器轻量属性标记,将其替换为黑色的 Claude 经典星芒图标(亮色模式下为纯正墨黑,暗色模式下随文字主色白亮),与左侧导航栏其他选项的视觉语汇保持一致。
|
|
110
|
-
- **亮色模式背景层级色调调优**:为解决浅色界面在纯白控件反衬下局部偏黄的问题,将亮色模式的背景层级收敛至更清爽中性的象牙白阶梯:一级层级(`--dsw-alias-bg-layer-1`)对齐主画布采用 `#FCFCFB`,二级层级(`--dsw-alias-bg-layer-2`)调整为 `#FBFBF9`,三级层级(`--dsw-alias-bg-layer-3`)调整为 `#F9F9F6`;设置弹窗面板亦对齐主画布底色(`#FCFCFB`),保持整体视觉明净统一。
|
|
111
|
-
- **去 AI 化与精简**:清理 `.debug/` 临时调试日志与历史规划文档;移除 `src/overrides/` 拆分残留的旧章节编号与重复注释;精简 README 冗余功能表格并修正更新日志中对内部开发路径的提及。
|
|
427
|
+
- Fix **the hint turning dark and escaping the box on image-only drafts**: the hero fallback node gets the host's positioning and ink, returning the hint to the first line.
|
|
428
|
+
- Fix **the focus underlay painting over the inline input**: the underlay moves from the rail to the card, matching the hero card.
|
|
429
|
+
- Fix **the ban-page language refusing to change**: `banLocale` falls back to `localStorage`, renders locally, and is written back once the host half restarts.
|
|
112
430
|
|
|
113
|
-
###
|
|
114
|
-
|
|
115
|
-
- **
|
|
116
|
-
-
|
|
431
|
+
### Chores
|
|
432
|
+
|
|
433
|
+
- **Theme-flip colour-before-style**: transitions are suppressed during the flip and running paint animations cancelled, restoring after about 0.3s.
|
|
434
|
+
- **Composer variant via attribute**: JS writes `data-composer-variant` for CSS to read, cutting restyle cost during streaming.
|
|
435
|
+
- **Settings tab icon**: a CSS mask swaps the generic gear for Claude's starburst, coloured per theme.
|
|
436
|
+
- **Light-theme layer tones tuned**: layers are `#FCFCFB`, `#FBFBF9` and `#F9F9F6`, with the settings panel matching the canvas.
|
|
437
|
+
- **AI-tells and cruft removed**: temporary debug logs and old planning docs are gone, along with stale numbering and duplicated comments.
|
|
438
|
+
|
|
439
|
+
**Full Changelog**: [v0.3.0...v0.3.1](https://github.com/Nwflower/dsh-claude-style/compare/v0.3.0...v0.3.1)
|
|
117
440
|
|
|
118
441
|
## [0.3.0] - 2026-09-20
|
|
119
442
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
443
|
+
[中文](#cn-0.3.0) | [English](#en-0.3.0)
|
|
444
|
+
|
|
445
|
+
<h3 id="cn-0.3.0">新增功能</h3>
|
|
446
|
+
|
|
447
|
+
- **Claude 封号页彩蛋**:账户弹层顶部用户名横条可点开完整复刻页,全为明确退出动作,品牌偏好同样生效。
|
|
448
|
+
- **封号彩蛋语言设置**:可选中/英(默认英文),改动立刻重建页面并切换时间戳制式。
|
|
449
|
+
|
|
450
|
+
### 问题修复
|
|
451
|
+
|
|
452
|
+
- 修复 **回退引用块材质**:引用块恢复中性灰文字、灰底灰条,块内链接与代码各自保持材质。
|
|
453
|
+
- 修复 **文件引用颜色不一致**:文件引用改用链接色与同款下划线,代码片本身不动。
|
|
454
|
+
- 修复 **Markdown 表格左侧空隙**:删掉全局表格覆盖,首末单元格恢复内边距,窄表不再被拉满。
|
|
455
|
+
|
|
456
|
+
### 其他变更
|
|
457
|
+
|
|
458
|
+
- **封号页锁改手绘**:按参考图墨迹逐锚点描摹成三条贝塞尔路径,映射到 24 单位格。
|
|
459
|
+
- **修掉 `banSvg` 重复属性**:粗细改为形参只发一条属性,覆盖不再静默失效。
|
|
460
|
+
- **点击展开弹层不再即关**:改由点击别处或移出整个底栏关闭,悬停展开保持原逻辑。
|
|
461
|
+
- **账号横线移出 hover 区**:横线改为账号行的兄弟节点,hover 底板只覆盖账号名那行。
|
|
462
|
+
- **封号页排版**:内容列改为水平居中,页头整体下移 30px。
|
|
463
|
+
- **行内代码片收紧**:自带 `line-height: 1.2`,行盒收到 18px,上下不再虚胖。
|
|
464
|
+
|
|
465
|
+
<h3 id="en-0.3.0">New Features</h3>
|
|
466
|
+
|
|
467
|
+
- **Claude account-hold page easter egg**: the username strip opens a full replica with explicit exits, honouring the brand preference.
|
|
468
|
+
- **Ban-page language setting**: Chinese or English (default English), rebuilding the open page and timestamp format on change.
|
|
123
469
|
|
|
124
|
-
###
|
|
125
|
-
- **封号页的锁改为手绘描摹**:那页顶部的锁此前是 `rect` + `circle` 拼出来的标准图标,跟参考草图的手绘气质不搭。现在整把锁按参考图(89×92px)的墨迹中心线逐锚点描摹成三条三次贝塞尔路径——方框的每条「直」边都带一点自己的倾斜与漂移(顶边右低、底边微垂、左边下行时外移、右边绕过锁孔处外鼓再收回),四角用一小段斜线收口,锁梁里外两拱不同心、两条腿停在方框顶边上而不穿过它,锁孔的头部比正圆扁、腰身偏右、底座比头更宽。手绘感来自锚点本身,不是滤镜也不是随机抖动,所以缩放到任何尺寸都成立;锚点数值整体映射到图标集统一的 24 单位格(墨迹 15.3×20 单位居中),图标框 58px → 75px(墨迹 47.5px → 62.8px,约 +32%),描边 0.5 单位。选这两个数是量出来的:参考页里「锁的墨迹高 ÷ 标题墨迹高」是 3.08,改完是 2.70(此前 2.05);参考页的「线宽 ÷ 锁高」是 0.025,改完实测 0.0250(此前 0.075,粗了近三倍)。
|
|
126
|
-
- **修掉 `banSvg` 的重复属性**:图标助手此前把 `stroke-width` 追加在 `<svg>` 已有的一条之后,形成重复属性——HTML 解析器只认第一条,于是覆盖静默失效,锁实际按图标集的 1.6 画(在 58px 框里近 3.9px),这正是它看起来「线条太粗」的原因。现在粗细是 `banSvg(body, strokeWidth)` 的形参,只发一条属性,杜绝属性覆盖失效。
|
|
127
|
-
- **点击展开的账户弹层不再被鼠标移出关掉**:此前点账户按钮展开弹层后,指针一离开按钮(弹层挂在按钮下方,指针必须离开)就被 `mouseleave` 关掉,等于点开即关、弹层里的条目够不着;现在点击展开的弹层改为由「点击别处」或「移出整个底栏」关闭,悬停展开仍按原来的延迟关闭逻辑。
|
|
128
|
-
- **账户弹层:账号名下的横线移出 hover 区**:弹层顶部原来是「整块(含横线)在 hover 时整体铺底」,指针扫过横线也会亮;现在横线是账号行的兄弟节点、归弹层所有(左右通栏到弹层内边距边缘),hover 底板只覆盖账号名那一行。
|
|
129
|
-
- **封号页排版**:内容列由靠左改为水平居中;页头(左上角品牌标 + 右上角 Sign out 与窗口控制)整体下移 30px。
|
|
130
|
-
- **行内代码片收紧**:行内代码(`` `npm run build` ``)的圆角矩形此前继承正文行高(15px 代码字号配 23px 行盒),上下各空出约 5px 底纹,显得虚胖。现在代码片自带 `line-height: 1.2`,行盒收到 18px、整片高度 27px → 22px,1px 内边距成为唯一的可见内缩;再小就开始切字形下伸部。底纹、描边、圆角、字号不变,正文段落/表格/标题的行距不受影响。
|
|
470
|
+
### Bug Fixes
|
|
131
471
|
|
|
132
|
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
|
|
472
|
+
- Fix **the blockquote material rolled back**: quotes return to neutral grey text, background and bar, leaving inner links and code untouched.
|
|
473
|
+
- Fix **file mentions not matching hyperlinks**: they take the link colour and underline, while the code chip stays unchanged.
|
|
474
|
+
- Fix **the left gap in Markdown tables**: global table overrides are gone, first and last cells regain padding, and narrow tables are no longer stretched.
|
|
475
|
+
|
|
476
|
+
### Chores
|
|
477
|
+
|
|
478
|
+
- **Ban-page lock redrawn by hand**: three Bézier paths traced from the reference ink and mapped to the 24-unit grid.
|
|
479
|
+
- **`banSvg` duplicate attribute fixed**: stroke width is now a parameter emitted once, so the override no longer silently fails.
|
|
480
|
+
- **Click-opened account popover no longer closes on mouse-out**: it closes on an outside click or leaving the footer, while hover keeps its old delay.
|
|
481
|
+
- **Account divider out of the hover area**: it is now a sibling of the account row, so the hover surface covers only the name.
|
|
482
|
+
- **Ban-page layout**: the content column is centred and the header drops 30px.
|
|
483
|
+
- **Inline code chips tightened**: they carry `line-height: 1.2` and an 18px line box, removing the extra padding.
|
|
484
|
+
|
|
485
|
+
**Full Changelog**: [v0.2.7...v0.3.0](https://github.com/Nwflower/dsh-claude-style/compare/v0.2.7...v0.3.0)
|
|
136
486
|
|
|
137
487
|
## [0.2.7] - 2026-09-20
|
|
138
488
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
152
|
-
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
-
|
|
489
|
+
[中文](#cn-0.2.7) | [English](#en-0.2.7)
|
|
490
|
+
|
|
491
|
+
<h3 id="cn-0.2.7">新增功能</h3>
|
|
492
|
+
|
|
493
|
+
- **模型选择器厂商标识**:模型行显示所属厂商标识,`brands.providers` / `brands.models` 驱动,构建期校验。
|
|
494
|
+
|
|
495
|
+
### 其他变更
|
|
496
|
+
|
|
497
|
+
- **引用块改用链接材质**:引用共用链接蓝文字与下划线,底纹与竖条取淡色。
|
|
498
|
+
- **文本选区实色两态**:聚焦蓝底白字、失焦灰底黑字,由 `selection.js` 镜像焦点态。
|
|
499
|
+
- **接入 cc-switch 图标**:引入 107 个供应商图标并新增宿主路由,选择器优先用它们、缺失回退 Lobe。
|
|
500
|
+
- **供应商标签推挤 sticky**:滚动时上一个标签被下一个 section 推上去。
|
|
501
|
+
- **附件轨接缝优化**:移除 focus 时 1px 内圈阴影,消除图片区与文字区分界。
|
|
502
|
+
- **更多模型子弹层**:提高弹层高度,供应商标签改为 sticky 顶部条。
|
|
503
|
+
- **provider 标签强化**:分组标题改为黑底白字圆角矩形,暗色反相。
|
|
504
|
+
- **模型触发器 hover 去重**:删掉 trailing 下的额外 hover 规则,只留一层背景。
|
|
505
|
+
- **标题中文回退黑体**:SERIF 栈移除 CJK 衬线回退,西文仍用 Anthropic Serif。
|
|
506
|
+
- **统计弹层合并**:两个宿主弹层合并为一个自定义弹层,上下两区块各 2×2 网格。
|
|
507
|
+
- **统计区交互**:弹层改为 hover 打开,控件仅在指针位于对话窗口内时显示,统计行居中。
|
|
508
|
+
- **输入区统计合并**:会话与 token 统计并成一条居中紧凑文本,隐藏宿主图标与标签。
|
|
509
|
+
- **补充当前非官方模型**:非官方选中模型在官方与更多模型之间单独一行显示,触发器去掉箭头。
|
|
510
|
+
|
|
511
|
+
<h3 id="en-0.2.7">New Features</h3>
|
|
512
|
+
|
|
513
|
+
- **Vendor marks in the model picker**: rows show the model's vendor via `brands.providers` / `brands.models`, validated at build time.
|
|
514
|
+
|
|
515
|
+
### Chores
|
|
516
|
+
|
|
517
|
+
- **Blockquotes use the link material**: quotes share the link blue, underline, tinted background and bar.
|
|
518
|
+
- **Text selection in two solid states**: blue-on-white focused, grey-on-black blurred, mirrored by `selection.js`.
|
|
519
|
+
- **cc-switch provider icons wired in**: 107 icons plus a host route, preferred over Lobe with a fallback.
|
|
520
|
+
- **Provider labels as push-sticky**: each scrolling section pushes the previous label up.
|
|
521
|
+
- **Attachment rail seam fixed**: the 1px focus inset shadow is gone, removing the divider between image and text.
|
|
522
|
+
- **More-models submenu**: taller popover with provider labels as sticky headers.
|
|
523
|
+
- **Provider labels strengthened**: group headers become rounded black-on-white blocks, inverted in dark mode.
|
|
524
|
+
- **Model trigger hover de-duplicated**: the extra trailing hover rule is gone, leaving one background.
|
|
525
|
+
- **Heading CJK fallback to sans**: the serif stack drops its CJK fallback while Latin keeps Anthropic Serif.
|
|
526
|
+
- **Stats popovers merged**: the host's two become one custom popover with two 2×2 blocks.
|
|
527
|
+
- **Stats interaction**: the popover opens on hover, controls show only inside the chat window, and the row centres.
|
|
528
|
+
- **Composer stats merged**: session and token stats become one centred compact line, hiding host icons and labels.
|
|
529
|
+
- **Current non-official model added**: it gets its own row between official and more models, and the trigger loses its arrow.
|
|
530
|
+
|
|
531
|
+
**Full Changelog**: [v0.2.6...v0.2.7](https://github.com/Nwflower/dsh-claude-style/compare/v0.2.6...v0.2.7)
|
|
156
532
|
|
|
157
533
|
## [0.2.6] - 2026-09-20
|
|
158
534
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
-
|
|
535
|
+
[中文](#cn-0.2.6) | [English](#en-0.2.6)
|
|
536
|
+
|
|
537
|
+
<h3 id="cn-0.2.6">新增功能</h3>
|
|
538
|
+
|
|
539
|
+
- **JetBrains Mono 免安装**:宿主半边新增字体路由,以 `@font-face` 注册为 webfont,缺失时回退系统字体栈。
|
|
540
|
+
- **Anthropic 字体可选免安装**:两个字体文件放进插件 `fonts/` 即以 webfont 提供,缺失时 404 回退。
|
|
541
|
+
|
|
542
|
+
### 其他变更
|
|
543
|
+
|
|
544
|
+
- **代码块与表格对齐 Claude**:行内代码与代码块字号 -1px,边框移到外层容器,表格字号与圆角上调。
|
|
545
|
+
- **自定义用户名**:设置页新增输入框,输入停顿后自动保存,宿主未重载时本地兜底。
|
|
546
|
+
- **链接与行内代码对齐 Claude**:链接下划线静止 60%、hover 100% 并加粗到 1.5px,代码改用 JetBrains Mono。
|
|
547
|
+
- **代码字体换 JetBrains Mono**:改用 JetBrains Mono Variable(含 Italic),随插件分发并保留 SIL OFL。
|
|
548
|
+
- **权限弹层 hover 打开**:悬停分段按钮即打开、移入取消关闭、移出延迟关闭,`autoPopover` 关闭时仍可点击。
|
|
549
|
+
|
|
550
|
+
<h3 id="en-0.2.6">New Features</h3>
|
|
162
551
|
|
|
163
|
-
|
|
164
|
-
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
-
|
|
552
|
+
- **JetBrains Mono without installing**: a host `/dsh-claude-style/fonts/*` route plus `@font-face`, falling back to the system stack when absent.
|
|
553
|
+
- **Optional Anthropic fonts without installing**: dropping the two files into the plugin's `fonts/` serves them as webfonts, with a 404 fallback.
|
|
554
|
+
|
|
555
|
+
### Chores
|
|
556
|
+
|
|
557
|
+
- **Code blocks and tables aligned to Claude**: code shrinks 1px, borders move to the outer container, and tables gain a size and radius.
|
|
558
|
+
- **Custom username**: a settings field autosaves after a pause, with a local fallback until the host half reloads.
|
|
559
|
+
- **Links and inline code aligned to Claude**: link underlines go from 60% to 100% on hover and thicken to 1.5px, and code moves to JetBrains Mono.
|
|
560
|
+
- **Code font switched to JetBrains Mono**: the variable font with italics ships with the plugin under SIL OFL.
|
|
561
|
+
- **Permission popover opens on hover**: hovering opens it, moving in cancels closing and leaving delays it; clicking still works with `autoPopover` off.
|
|
562
|
+
|
|
563
|
+
**Full Changelog**: [v0.2.5...v0.2.6](https://github.com/Nwflower/dsh-claude-style/compare/v0.2.5...v0.2.6)
|
|
169
564
|
|
|
170
565
|
## [0.2.5] - 2026-09-20
|
|
171
566
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
567
|
+
[中文](#cn-0.2.5) | [English](#en-0.2.5)
|
|
568
|
+
|
|
569
|
+
<h3 id="cn-0.2.5">新增功能</h3>
|
|
570
|
+
|
|
571
|
+
- **模型文案改为运行时读取的数据文件**:文案表迁出 bundle,宿主按请求读取、浏览器半边按需缓存。
|
|
572
|
+
- **补充新模型线文案**:为榜单上未收录的模型线补写家族规则,未收录的仍回退目录文本。
|
|
175
573
|
|
|
176
|
-
###
|
|
177
|
-
- **模型文案的两处误判**:其一,参数量档位规则 `\d+b` 未锚定,把 MoE 命名里的激活参数当成总参——`qwen3.8-2.4t-a95b`(2.4T 总参)与 `k2-horizon-375b-a23b` 都被读成「小尺寸稠密模型」;现拆出 `a\d+b` 激活参数规则并让稠密规则要求数字前有分隔符。其二,provider 兜底对多产品线厂商过于宽松,`north-mini-code` 被按 provider 名匹配成 Cohere Command;现补 `north` 家族规则。另补 `gpt-oss` 开源权重系列规则,并去掉家族规则里的最高级表述(见上)。
|
|
574
|
+
### 体验优化
|
|
178
575
|
|
|
179
|
-
|
|
180
|
-
- **源码按特性级分片重构**:`src/overrides.js` 拆为 `overrides/*.js`(copy / permissions / model-picker / account-footer / scheduler + 共享 popover-utils),`src/context.js` 拆为 `context/*.js`(host / prefs / model-copy / i18n),CSS 按 composer 与 components 拆为独立文件;build.mjs 改为清单驱动并新增碎片守门(禁 import/export、强制 4 空格缩进)。调度器不再读取特性闭包变量,改为通过 `ui` 句柄注册表调用各特性的 sync/close/owns/reposition/invalidateCopy 等接口;`settings.js` 不再重复调用 `loadPrefs()`。构建产物 `lib/client.js` 仍为单文件,不引入新依赖。
|
|
181
|
-
- **模型文案跟随全局语言、单行显示**:描述按 shell 自身的 `locale` 服务取当前语言(`zh` / `en`),每行只渲染一条,不再中英两行叠加;并订阅 locale 变更,切换语言时已渲染的弹层即时重绘。选择器自身的 UI 文案(触发按钮 aria、加载中、空目录、推理等级、More models)走同一路径,bundle 内只保留取不到文档时的中性英文兜底。
|
|
576
|
+
- **模型文案跟随全局语言、单行显示**:按 shell locale 取语言,每行只渲染一条,切换语言即时重绘。
|
|
182
577
|
|
|
183
|
-
###
|
|
184
|
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
578
|
+
### 问题修复
|
|
579
|
+
|
|
580
|
+
- 修复 **模型文案的两处误判**:锚定激活参数与稠密规则,并补 `north`、`gpt-oss` 规则。
|
|
581
|
+
- 修复 **塌缩态底栏插件控件压住 Claude 标**:塌缩时隐藏设置区内的按钮与触发器行。
|
|
582
|
+
- 修复 **塌缩态账户弹层被侧栏容器裁掉**:弹层改 `position: fixed`,坐标由脚本解析。
|
|
583
|
+
- 修复 **设置页文字整页消失**:折叠拆开,设置区不再继承零字号,文本恢复自然行高。
|
|
584
|
+
|
|
585
|
+
### 其他变更
|
|
586
|
+
|
|
587
|
+
- **源码按特性级分片重构**:`overrides`、`context` 与 CSS 拆成独立文件,调度器改走 `ui` 句柄。
|
|
588
|
+
|
|
589
|
+
<h3 id="en-0.2.5">New Features</h3>
|
|
590
|
+
|
|
591
|
+
- **Model copy is now a runtime data file**: the table left the bundle, is served by the host on request and cached on demand.
|
|
592
|
+
- **Copy for newly added model lines**: family rules added for the leaderboard's missing lines; unknown lines fall back to catalog text.
|
|
593
|
+
|
|
594
|
+
### Improvements
|
|
595
|
+
|
|
596
|
+
- **Model copy follows the global language, one line per row**: the shell locale picks the language and a switch redraws instantly.
|
|
597
|
+
|
|
598
|
+
### Bug Fixes
|
|
599
|
+
|
|
600
|
+
- Fix **two model-copy misreads**: anchor the active-parameter and dense rules, and add `north` / `gpt-oss` rules.
|
|
601
|
+
- Fix **a collapsed-sidebar plugin control covering the Claude mark**: hide the settings-area buttons and trigger row while collapsed.
|
|
602
|
+
- Fix **the collapsed-sidebar account popover being clipped by the sidebar**: it is now `position: fixed` with script-resolved coordinates.
|
|
603
|
+
- Fix **the whole settings page's text disappearing**: the collapse is split so the settings area no longer inherits zero font size.
|
|
604
|
+
|
|
605
|
+
### Chores
|
|
606
|
+
|
|
607
|
+
- **Source split into per-feature files**: `overrides`, `context` and CSS became separate files and the scheduler now uses the `ui` handle.
|
|
608
|
+
|
|
609
|
+
**Full Changelog**: [v0.2.4...v0.2.5](https://github.com/Nwflower/dsh-claude-style/compare/v0.2.4...v0.2.5)
|
|
187
610
|
|
|
188
611
|
## [0.2.4] - 2026-09-19
|
|
189
612
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
-
|
|
193
|
-
|
|
194
|
-
-
|
|
195
|
-
-
|
|
196
|
-
-
|
|
197
|
-
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
613
|
+
[中文](#cn-0.2.4) | [English](#en-0.2.4)
|
|
614
|
+
|
|
615
|
+
<h3 id="cn-0.2.4">体验优化</h3>
|
|
616
|
+
|
|
617
|
+
- **深色输入框焦点由「加深」改为「提亮」**:焦点描边与晕边改用亮象牙,聚焦时明显亮起。
|
|
618
|
+
- **权限弹层列表间距加宽**:行间距由 2px 加宽到 6px,预设说明不再糊成整块。
|
|
619
|
+
- **会话统计并入输入框工具栏同一行**:两组 pill 移入工具栏、居中排列,输入区由三行压为两行。
|
|
620
|
+
- **统计 pill 改为悬停出现**:平时隐藏但保留占位,指针移入对话窗口时淡入。
|
|
621
|
+
- **消除附件轨与输入框之间的分界线**:以负外边距闭合间隙,卡片总高不变。
|
|
622
|
+
- **非对话页隐藏整个底部输入区**:仅对话页签激活时显示,宿主底部留白随之归零。
|
|
623
|
+
- **模型选择控件按 Claude 效果重构**:触发器只留模型名,弹层一级直列官方模型、二级旁侧展开,悬停即开。
|
|
624
|
+
|
|
625
|
+
### 问题修复
|
|
626
|
+
|
|
627
|
+
- 修复 **权限切换在 dsh 0.2+ 上完全失效**:当前会话改从 `uiSession` 主视图读取,兼容裸值投影。
|
|
628
|
+
- 修复 **亮色用户消息气泡由蓝改灰**:气泡底色改用皮肤的悬停灰,深色保持不变。
|
|
629
|
+
- 修复 **模型选择弹层永远停在「正在加载模型…」**:改走 `modelDir.store` 读写快照,并补上 rejection 处理。
|
|
630
|
+
- 修复 **深色强调色回到陶烬橙**:深色盘限定到 `[data-ds-dark-theme]`,不再被宿主蓝色盖掉。
|
|
631
|
+
|
|
632
|
+
<h3 id="en-0.2.4">Improvements</h3>
|
|
633
|
+
|
|
634
|
+
- **Dark-mode input focus now brightens instead of deepening**: the focus outline and halo use bright ivory and light up clearly.
|
|
635
|
+
- **Wider rows in the permissions popover**: row spacing grew from 2px to 6px so the preset descriptions no longer blur together.
|
|
636
|
+
- **Session stats merged into the composer toolbar row**: both pills moved into the toolbar, centered, cutting the composer to two rows.
|
|
637
|
+
- **Stats pills appear on hover**: hidden by default with their space reserved, they fade in when the pointer enters the conversation.
|
|
638
|
+
- **The seam between the attachment rail and the input is gone**: a negative margin closes the gap without changing the card height.
|
|
639
|
+
- **Composer hidden off the conversation page**: it shows only on the active conversation tab, and the host's reserved bottom space goes.
|
|
640
|
+
- **Model picker matches Claude**: the trigger keeps the model name, the first level lists official models and the second opens beside it.
|
|
641
|
+
|
|
642
|
+
### Bug Fixes
|
|
643
|
+
|
|
644
|
+
- Fix **permission switching broken on dsh 0.2+**: read the current session from the `uiSession` binding, tolerating bare-value projections.
|
|
645
|
+
- Fix **the light-mode user bubble being blue**: its fill now uses the skin's hover grey; dark mode is unchanged.
|
|
646
|
+
- Fix **the model popover stuck on "Loading models…"**: state now goes through `modelDir.store`, with rejection handling added.
|
|
647
|
+
- Fix **the dark accent returning to clay orange**: scope the dark palette to `[data-ds-dark-theme]` so the host's blue no longer wins.
|
|
648
|
+
|
|
649
|
+
**Full Changelog**: [v0.2.3...v0.2.4](https://github.com/Nwflower/dsh-claude-style/compare/v0.2.3...v0.2.4)
|
|
204
650
|
|
|
205
651
|
## [0.2.3] - 2026-09-19
|
|
206
652
|
|
|
207
|
-
|
|
208
|
-
|
|
653
|
+
[中文](#cn-0.2.3) | [English](#en-0.2.3)
|
|
654
|
+
|
|
655
|
+
<h3 id="cn-0.2.3">问题修复</h3>
|
|
656
|
+
|
|
657
|
+
- 修复 **账户抽屉弹层刷新时 hover / 点击失效**:弹层打开期间镜像内容保持静止,点击目标在点击瞬间解析。
|
|
658
|
+
|
|
659
|
+
<h3 id="en-0.2.3">Bug Fixes</h3>
|
|
660
|
+
|
|
661
|
+
- Fix **account drawer popover losing hover / click**: mirrored content stays still while open and click targets resolve on click.
|
|
662
|
+
|
|
663
|
+
**Full Changelog**: [v0.2.2...v0.2.3](https://github.com/Nwflower/dsh-claude-style/compare/v0.2.2...v0.2.3)
|
|
209
664
|
|
|
210
665
|
## [0.2.2] - 2026-09-19
|
|
211
666
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
-
|
|
215
|
-
|
|
216
|
-
-
|
|
217
|
-
-
|
|
218
|
-
-
|
|
667
|
+
[中文](#cn-0.2.2) | [English](#en-0.2.2)
|
|
668
|
+
|
|
669
|
+
<h3 id="cn-0.2.2">新增功能</h3>
|
|
670
|
+
|
|
671
|
+
- **对话内输入框重设计**:压缩为单行卡片、随内容增高,权限、附件与模型选择合并到下方同一行。
|
|
672
|
+
- **输入框焦点样式**:聚焦时描边转为中性色细线,外扩 1px 同色晕边并加深投影。
|
|
673
|
+
- **分时段首页欢迎语**:欢迎语随本地时间自动轮换,跨过整点时每 60 秒刷新。
|
|
674
|
+
- **模型思考状态重塑**:收录 Claude Code 的 185 种思考动词,扫光改为陶土橙与蜜桃暖色。
|
|
675
|
+
- **工作区运行中状态重塑**:侧栏加载动画改为 Windows 11 Fluent 风格的圆形圆弧旋转。
|
|
676
|
+
- **可切换品牌标识**:设置页新增 Claude Style 分区,在 Claude 与 Anthropic 两套标识间切换并本地保存。
|
|
677
|
+
|
|
678
|
+
### 问题修复
|
|
679
|
+
|
|
680
|
+
- 修复 **对话内输入框的多处布局问题**:吸附底部、随内容增高,附件区不再出现双层边框。
|
|
681
|
+
- 修复 **上下文用量弹层被误压缩**:弹层不再被挤扁,排版恢复正常。
|
|
682
|
+
- 修复 **账户抽屉多项问题**:非按钮控件与富控件条目正常收纳,图标、顺序与点击位置对齐。
|
|
683
|
+
- 修复 **`dsh-agy-link` 的 run_code 工具卡片排版异常**:卡片头部与代码预览恢复正常。
|
|
684
|
+
|
|
685
|
+
### 其他变更
|
|
686
|
+
|
|
687
|
+
- **源码拆分与构建化**:`lib/client.js` 改为构建产物,源码拆到 `src/`,新增无头回归探针。
|
|
688
|
+
- **Anthropic 字体入仓库**:`fonts/` 提供三个字体文件,随 Git 分发但不随 npm 包分发。
|
|
219
689
|
|
|
220
|
-
|
|
221
|
-
- **源码拆分与构建化**:`lib/client.js` 改为构建产物(勿手改),源码拆分至 `src/`(五个 JS 片段 + `src/styles/` 六个纯 CSS 文件);`npm run build` 内联拼装并做语法与令牌自检,发布前自动构建。新增 `scripts/probe.cjs` 无头浏览器回归探针,断言输入框吸底、单行起步、随内容增长等关键不变量(`npm run probe -- --token <launch-token>`)。
|
|
222
|
-
- **Anthropic 字体入仓库**:`fonts/` 提供 Anthropic Sans Web Text / Serif Web Text / Mono Variable 三个字体文件,随 Git 仓库分发、**不随 npm 包分发**(`files` 白名单排除);安装到系统后皮肤字体栈即可生效——版权归 Anthropic,仅供个人使用,不适用 MIT 许可(见 LICENSE 字体声明)。
|
|
690
|
+
<h3 id="en-0.2.2">New Features</h3>
|
|
223
691
|
|
|
224
|
-
|
|
225
|
-
-
|
|
226
|
-
-
|
|
227
|
-
-
|
|
228
|
-
-
|
|
692
|
+
- **In-conversation composer redesigned**: a single-line card that grows with content, permissions, attachments and the model picker below.
|
|
693
|
+
- **Composer focus styling**: on focus the outline becomes a neutral hairline with a 1px same-color halo and a deeper shadow.
|
|
694
|
+
- **Time-of-day home greetings**: the greeting rotates with local time and refreshes every 60 seconds across an hour boundary.
|
|
695
|
+
- **Thinking status reshaped**: 185 Claude Code thinking verbs are included and the sweep turns clay-orange and peach.
|
|
696
|
+
- **Running-session status reshaped**: the sidebar loading animation became a Windows 11 Fluent-style circular arc spinner.
|
|
697
|
+
- **Switchable brand marks**: a Claude Style section switches between the Claude and Anthropic marks and saves the choice locally.
|
|
698
|
+
|
|
699
|
+
### Bug Fixes
|
|
700
|
+
|
|
701
|
+
- Fix **several composer layout issues**: it sticks to the bottom, grows with content, and the attachment area loses its double border.
|
|
702
|
+
- Fix **the context-usage popover being wrongly compressed**: it is no longer squeezed and lays out correctly again.
|
|
703
|
+
- Fix **several account drawer issues**: non-button and rich controls are collected properly, and icons, order and click targets line up.
|
|
704
|
+
- Fix **broken `dsh-agy-link` run_code tool card layout**: the card header and code preview render correctly again.
|
|
705
|
+
|
|
706
|
+
### Chores
|
|
707
|
+
|
|
708
|
+
- **Source split and a build step**: `lib/client.js` became a build artifact, source moved to `src/`, and a headless probe was added.
|
|
709
|
+
- **Anthropic fonts added to the repo**: `fonts/` ships three font files with Git but not with the npm package.
|
|
710
|
+
|
|
711
|
+
**Full Changelog**: [v0.2.1...v0.2.2](https://github.com/Nwflower/dsh-claude-style/compare/v0.2.1...v0.2.2)
|
|
229
712
|
|
|
230
713
|
## [0.2.1] - 2026-09-19
|
|
231
714
|
|
|
232
|
-
|
|
233
|
-
|
|
715
|
+
[中文](#cn-0.2.1) | [English](#en-0.2.1)
|
|
716
|
+
|
|
717
|
+
<h3 id="cn-0.2.1">新增功能</h3>
|
|
718
|
+
|
|
719
|
+
- **账户抽屉悬停展开**:支持悬停展开与延迟关闭,移入弹层不打断浏览。
|
|
720
|
+
|
|
721
|
+
### 体验优化
|
|
722
|
+
|
|
723
|
+
- **权限控制器首段由 Plan 改名为 Read**:与它映射的只读预设名称一致。
|
|
724
|
+
- **新会话按钮改为与会话行同高的窄条**:左对齐加号图标、常驻悬停底色。
|
|
725
|
+
- **会话行标题默认为次级灰**:悬停或选中时回到主文字色。
|
|
726
|
+
- **账户底栏改为全宽分割线布局**:分割线贯通侧栏。
|
|
727
|
+
|
|
728
|
+
### 问题修复
|
|
234
729
|
|
|
235
|
-
|
|
236
|
-
- 权限控制器首段从 Plan 改名为 Read,与它映射的只读预设(read-only)名称一致。
|
|
237
|
-
- 新会话按钮改为与会话行同高的窄条:左对齐加号图标、常驻悬停底色。
|
|
238
|
-
- 会话行标题默认为次级灰,悬停或选中时回到主文字色。
|
|
239
|
-
- 账户底栏改为贯通侧栏的全宽分割线布局。
|
|
730
|
+
- 修复 **LICENSE 版权署名缺失与 README 无效示例**:补齐署名并修正 patch 配置示例。
|
|
240
731
|
|
|
241
|
-
|
|
242
|
-
|
|
732
|
+
<h3 id="en-0.2.1">New Features</h3>
|
|
733
|
+
|
|
734
|
+
- **Account drawer hover opening**: it opens on hover and closes after a delay, and moving into the popover does not interrupt browsing.
|
|
735
|
+
|
|
736
|
+
### Improvements
|
|
737
|
+
|
|
738
|
+
- **The permissions control's first segment renamed from Plan to Read**: it now matches the read-only preset it maps to.
|
|
739
|
+
- **The new-session button became a narrow bar matching the session-row height**: a left-aligned plus icon with a persistent hover fill.
|
|
740
|
+
- **Session row titles default to secondary grey**: they return to the primary text color on hover or selection.
|
|
741
|
+
- **The account footer became a full-width divider layout**: the divider spans the sidebar.
|
|
742
|
+
|
|
743
|
+
### Bug Fixes
|
|
744
|
+
|
|
745
|
+
- Fix **the missing LICENSE attribution and an invalid README example**: attribution added and the manual patch sample corrected.
|
|
746
|
+
|
|
747
|
+
**Full Changelog**: [v0.2.0...v0.2.1](https://github.com/Nwflower/dsh-claude-style/compare/v0.2.0...v0.2.1)
|
|
243
748
|
|
|
244
749
|
## [0.2.0] - 2026-09-19
|
|
245
750
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
-
|
|
249
|
-
|
|
751
|
+
[中文](#cn-0.2.0) | [English](#en-0.2.0)
|
|
752
|
+
|
|
753
|
+
<h3 id="cn-0.2.0">新增功能</h3>
|
|
754
|
+
|
|
755
|
+
- **Claude Code Desktop Theme**:从配色皮肤升级为完整的 Claude Code Desktop 视觉与交互复刻主题。
|
|
756
|
+
- **Plan / Edit / Auto 分段权限控制**:行内三段式控制器,支持快捷切换会话权限。
|
|
757
|
+
- **侧栏账户抽屉**:侧栏底部集成账户按钮与弹出菜单,可打开设置与管理插件。
|
|
250
758
|
- **视觉与文案重塑**:专属问候语、输入框引导文案与品牌星芒标识。
|
|
251
759
|
|
|
252
|
-
###
|
|
253
|
-
|
|
254
|
-
-
|
|
760
|
+
### 体验优化
|
|
761
|
+
|
|
762
|
+
- **优化亮色画布与侧栏色值**:画布取 `#FCFCFB`,侧栏取 `#FBFBF9`。
|
|
763
|
+
|
|
764
|
+
### 其他变更
|
|
765
|
+
|
|
766
|
+
- **项目重命名为 `dsh-claude-style`**:与上游 `claude-style-skin` 区分。
|
|
767
|
+
|
|
768
|
+
<h3 id="en-0.2.0">New Features</h3>
|
|
769
|
+
|
|
770
|
+
- **Claude Code Desktop Theme**: upgraded from a color skin into a full Claude Code Desktop visual and interaction replica.
|
|
771
|
+
- **Plan / Edit / Auto segmented permission control**: an inline three-segment controller for quick session permission switching.
|
|
772
|
+
- **Sidebar account drawer**: an account button and popup menu at the sidebar bottom, opening settings and plugin management.
|
|
773
|
+
- **Visual and copy refresh**: dedicated greetings, composer placeholder copy and the brand star mark.
|
|
774
|
+
|
|
775
|
+
### Improvements
|
|
776
|
+
|
|
777
|
+
- **Light canvas and sidebar colors tuned**: the canvas uses `#FCFCFB` and the sidebar `#FBFBF9`.
|
|
778
|
+
|
|
779
|
+
### Chores
|
|
780
|
+
|
|
781
|
+
- **Project renamed to `dsh-claude-style`**: to distinguish it from the upstream `claude-style-skin`.
|
|
255
782
|
|
|
256
783
|
## [0.1.0] - 2026-08-22
|
|
257
784
|
|
|
258
|
-
|
|
259
|
-
|
|
785
|
+
[中文](#cn-0.1.0) | [English](#en-0.1.0)
|
|
786
|
+
|
|
787
|
+
<h3 id="cn-0.1.0">新增功能</h3>
|
|
788
|
+
|
|
789
|
+
- **初始版本**:暖调象牙白 / 暖黑双画布与陶烬橙强调色。
|
|
790
|
+
|
|
791
|
+
<h3 id="en-0.1.0">New Features</h3>
|
|
792
|
+
|
|
793
|
+
- **Initial release**: warm ivory / warm black dual canvas with a clay-orange accent.
|