Repository navigation
Releases: rans725/dsh-glass-ranswork
Release list
v1.1.1
Full Changelog: v1.1.0...v1.1.1
v1.1.0 — 发布到 npm,插件市场可推送更新
主要变化:现在可以从 npm 安装
pnpm add dsh-glass-ranswork 现在可用。装 npm 的用户,插件市场能感知新版本并推送更新提醒。
之前的 codeload / Release URL 安装方式仍然可用,但永远收不到更新推送 —— 市场对 URL 安装没有 registry 身份可比,只能如实报「无更新」(dshmarket #768)。
老用户必须重装一次
之前用 URL 装的,lockfile 里记的还是 URL,改 npm 后仍然收不到推送:
pnpm remove dsh-glass-ranswork && pnpm add dsh-glass-ranswork其他变化
- 修了一个静默失效的兜底源:更新检查的第二源原本是
github.com/.../releases/latest/download/version.json,实测在受限网络下 21 秒超时(http=000),等于兜底形同虚设。现改为registry.npmjs.org的dist-tags.latest,直连稳定。 version.json新增npm字段。- CI:打 tag 时自动发布到 npm(需配
NPM_TOKENsecret,未配则跳过),并创建 Release。
兼容性
功能代码与 v1.0.3 完全一致(client.js 哈希未变,8d3c88ec7518c006)。本版只改分发方式与文档。回归测试全绿。
v1.0.3 · 更新检查改查 GitHub Releases
自定义主题 v1.0.3
发布日期:2026-10-20
装这个版本:
pnpm add https://codeload.github.com/rans725/dsh-glass-ranswork/tar.gz/refs/tags/v1.0.3本包不发 npm。
pnpm add dsh-glass-ranswork/npm view dsh-glass-ranswork
一律 404,那是预期行为。安装只有三条路:codeload 直链、本页的.tgz资产、
本地解压目录。
本版改了什么
只有一个主题:「有新版本」提示换了数据源,从 npm 改成 GitHub Releases。
v1.0.2 那版让设置页顶部去问 npm registry,但本包从来没发到 npm 上,
registry 永远 404,所以那个提示在事实上永远不会出现。这一版把它修好了。
1. 检查源:npm registry → GitHub Releases
index.js 里原来的 UPDATE_REGISTRIES(registry.npmjs.org +
registry.npmmirror.com)换成 UPDATE_SOURCES:
| 顺序 | 地址 | 用途 |
|---|---|---|
| 1 | api.github.com/repos/rans725/dsh-glass-ranswork/releases/latest 的 tag_name |
主路径 |
| 2 | github.com/rans725/dsh-glass-ranswork/releases/latest/download/version.json |
api.github.com 不通时兜底(不占 API 限速) |
也就是说:你打一个 tag,用户下次打开设置页就能看到「有新版本 v1.0.4」
—— 不需要任何发布动作,不需要 npm。
2. 缓存、退避、超时都没变
- 成功 → 6 小时内不再问(匿名 GitHub API 限速 60 次/小时/IP,缓存不能省);
- 失败 → 10 分钟后重试,期间不重问;
- 并发的设置页请求共用同一次网络往返;
- 单次 2.5 秒超时,失败静默 —— 断网时设置页只显示版本号,不弹错误。
3. 请求头带上 user-agent
GitHub API 不带 UA 会返回 403。现在发的是
dsh-glass-ranswork/<当前版本>。
4. 文档:删掉 npm 那条路
- README 的「快速开始」「安装」不再列 npm 安装方式,改为 codeload 固定 tag 直链;
- 「升级」一节删掉
pnpm update dsh-glass-ranswork,改成「顶部那行提示 + 换 tag 号」; - 「发布(维护者)」删掉 npm token / Trusted Publishing 那一大段,只留打 tag。
5. 发布流水线:去掉 npm 步骤
.github/workflows/release.yml:
- 删掉
npm publish步骤和NPM_TOKEN依赖,id-token: write一并去掉
(不再需要 OIDC);那条「NPM_TOKEN 未配置」的 warning 也没了,日志不再有噪音; - 新增
version.json与package.json的一致性校验(防止兜底源读到旧版本号); - Release 资产从 1 个变成 2 个:
dsh-glass-ranswork-1.0.3.tgz+version.json。
仓库根新增 version.json:
{
"version": "1.0.3",
"released": "2026-10-20",
"url": "https://github.com/rans725/dsh-glass-ranswork/releases/tag/v1.0.3",
"install": "https://codeload.github.com/rans725/dsh-glass-ranswork/tar.gz/refs/tags/v1.0.3"
}升级
从 1.0.2 升上来,只需要重启 DSH(宿主半侧的 index.js 变了):
pnpm add https://codeload.github.com/rans725/dsh-glass-ranswork/tar.gz/refs/tags/v1.0.3然后重启 DSH → 设置 → 自定义主题,顶部应该显示 v1.0.3。
如果版本没变,看 profile 的
pnpm-lock.yaml—— pnpm 把旧 spec 的
integrity 钉住了,需要换 tag URL 再装一次(或删掉那一条)。
验证
-
设置 → 自定义主题,顶部显示 v1.0.3;
-
打开 DevTools → Network,
/glass-theme/version返回:{"version":"1.0.3","latest":"1.0.3","updateAvailable":false,"url":"https://github.com/rans725/dsh-glass-ranswork/releases/tag/v1.0.3","checkedAt":1792494708741}latest不再是空串 —— 这是这一版修好的核心。 -
想验证「有新版本」真的会亮:随便打一个更高的 tag(比如
v9.9.9),
等 6 小时缓存过期(或重启 DSH)后打开设置页,应该出现
「有新版本 v9.9.9」的链接。验完把那个 tag / Release 删掉。
兼容性
- 与 v1.0.1 / v1.0.2 的设置完全兼容(
glass-theme.json结构没变)。 - 内部标识没变:设置文件
glass-theme.json、壁纸glass-theme-bg.*、
路由/glass-theme/*、镜像键dsh-glass-theme:settings、bundle 行 idglass-theme。 - 已装在 npm 上的旧副本不受影响(本来也没有)。
完整更新日志
Full Changelog: v1.0.2...v1.0.3
v1.0.2
自定义主题 v1.0.1
自定义主题 v1.0.1
发送框(composer)相关的四处修复。它们的根因是同一件事:backdrop-filter 不只是「给元素加个模糊」,它还会改变元素的层叠与包含块语义 —— 这些副作用在宿主把 Tooltip、弹层渲染在同一个 DOM 子树里时就会暴露出来。
修复
- 输入法有字时,鼠标移到发送箭头,发送框会闪一下
backdrop-filter 会让元素成为 position: fixed 后代的包含块 (Filter Effects 2 §2.1)。宿主的 Tooltip 气泡正是 position: fixed + 视口坐标,而且默认不 portal —— 于是被祖先的模糊层带偏;并且气泡每次 插入 / 重定位 / 入场动画都会让整块毛玻璃重新采样。 现在模糊一律挂在 ::before 伪元素上(伪元素没有后代,不会成为包含块)。
只在「输入框有字」时出现,是因为发送按钮在空草稿时是 disabled, 而 Tooltip 的 disabled 跟着它走 —— 禁用状态下气泡根本不渲染。
- 发送框颜色和背景图对不上(比周围更艳)
backdrop-filter 是逐层叠加的:内层滤镜吃到的是祖先已经滤过的像素。 列 200% × 内层 200%,实际饱和度是 400% 以上,而框外的正文只有 200%。 现在饱和度只由最外层(三列 / 浮层)负责,内层只做模糊。 实测框内与框外的色差从 Δ=31 降到 Δ=3。
- 发送框左右和下方多出一圈毛玻璃
模糊原先挂在整列宽的 composerSeat 上,而卡片受 --dsh-composer-side-clearance(默认 16px)与底部 4px 内边距约束, 比它所在的容器窄一圈 —— 于是那一圈留白也被糊了。 现在模糊只挂在卡片自身,形状随 border-radius 走,不再外溢。
- 「发送框 / 任务模糊」滑块拖动无反应
上一版把卡片规则拆出来单独声明时,漏了伪元素骨架(content 等)。 没有 content 的 ::before 不会生成 —— 滑块的值一直在被正确写入, 但没有任何伪元素消费它。 已补回骨架;同时调到 0 现在是真正关闭(backdrop-filter: none), 而不是留下一个仍然会建合成层、仍然会把 fixed 浮层带偏的 blur(0px)。
安装(不需要 Git)
DSH → 设置 → 插件 → 安装插件,粘贴:
代码块
https://github.com/rans725/dsh-glass-ranswork/archive/refs/heads/main.tar.gz
固定版本:
代码块
https://github.com/rans725/dsh-glass-ranswork/releases/download/v1.0.1/dsh-glass-ranswork-1.0.1.tgz
从 v1.0.0 升级:在插件管理器里重装一次即可(同一个安装入口,填同一个地址)。 装完重启 DSH(宿主半侧要重新加载),然后刷新页面。 已有设置与壁纸不受影响 —— 它们存在 $DSH_HOME/glass-theme.json 与 glass-theme-bg.,卸载/重装都不会删。
兼容性
在 DSH 0.2.0-rc.2(Windows 桌面版)上开发与验证;
只使用公开客户端服务(slots / locale / theme)与宿主 webServer, 没有私有 API、没有原生依赖;
大版本升级后若主题 token 改名,退化结果是「某块颜色 / 模糊不生效」, 不会崩,也不会改坏 DSH 本体。
验证方式
四个修复都有可复跑的探针(真 Chrome,headless),不是「看起来好了」:
闪烁:同一页面只换 CSS,改前气泡 y=174、改后 y=102(贴住按钮);
配色:用真实壁纸量框内 vs 框外 RGB,Δ 31 → 3;
外圈:同页三态对照,留白细节量 std 当前 3.5 / 旧行为 1.5 / 摘掉后 3.5;
滑块:0 / 12 / 40 三档,卡片内细节 std 4.7 / 3.7 / 3.3, 且 0 时 computed 为 none。
完整使用说明与设置项列表见
自定义主题 v1.0.0
自定义主题 v1.0.0
给 DeepSeek Harness Web 界面换上「半透明毛玻璃 + 自定义背景图」的主题插件。
零依赖、无构建,装上即用,所有设置与壁纸都只存在本机。
亮点
- 玻璃拟态:半透明表面 +
backdrop-filter模糊;表面 / 信息面板 / 文件预览
三档不透明度独立可调。 - 自定义背景图:填充 / 适应 / 拉伸 / 平铺 / 居中 五种摆放,外加自定义裁剪框,
和桌面壁纸设置一样。 - 文字保护:壁纸上的文字自动加一圈光晕、次要文字加深一档,不加任何底色。
- 跟随图片明暗:按壁纸(裁剪后)的平均亮度自动切浅色 / 深色主题,
删图或关开关时还原你原来的选择。 - 本地存储:壁纸写
$DSH_HOME/glass-theme-bg.<ext>,设置写
glass-theme.json,不上传任何服务器。
安装(不需要 Git)
DSH → 设置 → 插件 → 安装插件,粘贴:
https://github.com/rans725/dsh-glass-ranswork/archive/refs/heads/main.tar.gz
固定版本:
https://github.com/rans725/dsh-glass-ranswork/releases/download/v1.0.0/dsh-glass-ranswork-1.0.0.tgz
装完重启 DSH,然后到 设置 → 自定义主题。
github:rans725/dsh-glass-ranswork这种写法需要系统装有 git;
Windows 未安装时会报git ls-remote failed,请用上面的 tar.gz 地址。
兼容性
- 在 DSH 0.2.0-rc.2(Windows 桌面版)上开发与验证;
- 只使用公开客户端服务(
slots/locale/theme)与宿主webServer,
没有私有 API、没有原生依赖; - DSH 大版本升级后若主题 token 改名,退化结果是「某块颜色 / 模糊不生效」,
不会崩,也不会改坏 DSH 本体。
已知边界
- 右上角窗口按钮的字形、应用菜单由 Electron / Windows 绘制,CSS 只能改它们
下面那层底色; - 壁纸模式下如果把表面不透明度压到极低,建议同时调高「背景蒙层」或开启
「文字保护」,可读性最好。
完整使用说明与设置项列表见
README。