Skip to content

Releases: rans725/dsh-glass-ranswork

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 24 Oct 17:29

Full Changelog: v1.1.0...v1.1.1

v1.1.0 — 发布到 npm,插件市场可推送更新

Choose a tag to compare

@rans725 rans725 released this 22 Oct 16:11

主要变化:现在可以从 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_TOKEN secret,未配则跳过),并创建 Release。

兼容性

功能代码与 v1.0.3 完全一致(client.js 哈希未变,8d3c88ec7518c006)。本版只改分发方式与文档。回归测试全绿。

v1.0.3 · 更新检查改查 GitHub Releases

Choose a tag to compare

@rans725 rans725 released this 20 Oct 11:29

自定义主题 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 再装一次(或删掉那一条)。

验证

  1. 设置 → 自定义主题,顶部显示 v1.0.3;

  2. 打开 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 不再是空串 —— 这是这一版修好的核心。

  3. 想验证「有新版本」真的会亮:随便打一个更高的 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 行 id glass-theme。
  • 已装在 npm 上的旧副本不受影响(本来也没有)。

完整更新日志

见 README · 更新日志。

Full Changelog: v1.0.2...v1.0.3

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 20 Oct 03:24

Full Changelog: v1.0.1...v1.0.2

自定义主题 v1.0.1

Choose a tag to compare

@rans725 rans725 released this 19 Oct 10:49
29012cd

自定义主题 v1.0.1
发送框(composer)相关的四处修复。它们的根因是同一件事:backdrop-filter 不只是「给元素加个模糊」,它还会改变元素的层叠与包含块语义 —— 这些副作用在宿主把 Tooltip、弹层渲染在同一个 DOM 子树里时就会暴露出来。

修复

  1. 输入法有字时,鼠标移到发送箭头,发送框会闪一下

backdrop-filter 会让元素成为 position: fixed 后代的包含块 (Filter Effects 2 §2.1)。宿主的 Tooltip 气泡正是 position: fixed + 视口坐标,而且默认不 portal —— 于是被祖先的模糊层带偏;并且气泡每次 插入 / 重定位 / 入场动画都会让整块毛玻璃重新采样。 现在模糊一律挂在 ::before 伪元素上(伪元素没有后代,不会成为包含块)。

只在「输入框有字」时出现,是因为发送按钮在空草稿时是 disabled, 而 Tooltip 的 disabled 跟着它走 —— 禁用状态下气泡根本不渲染。

  1. 发送框颜色和背景图对不上(比周围更艳)

backdrop-filter 是逐层叠加的:内层滤镜吃到的是祖先已经滤过的像素。 列 200% × 内层 200%,实际饱和度是 400% 以上,而框外的正文只有 200%。 现在饱和度只由最外层(三列 / 浮层)负责,内层只做模糊。 实测框内与框外的色差从 Δ=31 降到 Δ=3。

  1. 发送框左右和下方多出一圈毛玻璃

模糊原先挂在整列宽的 composerSeat 上,而卡片受 --dsh-composer-side-clearance(默认 16px)与底部 4px 内边距约束, 比它所在的容器窄一圈 —— 于是那一圈留白也被糊了。 现在模糊只挂在卡片自身,形状随 border-radius 走,不再外溢。

  1. 「发送框 / 任务模糊」滑块拖动无反应

上一版把卡片规则拆出来单独声明时,漏了伪元素骨架(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

Choose a tag to compare

@rans725 rans725 released this 17 Oct 13:12
002b5b1

自定义主题 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。