Repository navigation
Releases
Releases · a903067276-rgb/dsh-hud
v1.9.3
Fix
- Input model selector: removed the plugin-side width cap. The
max-widthpatch we added on 2026-08-21 to work around an upstream responsive bug is no longer needed — the input bar now lays out correctly with long model names, so the cap is gone and the selector renders at its natural width. - Git status now refreshes inside worktrees / submodules. Those checkouts store
.gitas a file (gitdir: <path>) instead of a directory. Our HEAD watcher resolvedjoin(dir, '.git', 'HEAD'), which failed withENOTDIRand was silently swallowed — so switching branches in a worktree never triggered a HUD refresh. We now read thegitdir:pointer and watch the realHEAD.
Compatibility matrix
dsh.compatibility.dshReleasesnow also records"0.2.1-rc.1": "compatible"and"0.2.1-rc.2": "compatible".
Version compatibility
- DSH 0.1.7 and later, including 0.2.x — this release (
v1.9.3): peer range^0.1.7-rc.1 || ^0.2.0-rc.1. - DSH 0.1.5 and older — install
v1.4.1: that line keeps the old behavior and uses no 0.1.7-only API. - Maintenance policy: this plugin keeps evolving with the latest DSH releases; compatibility with older DSH versions is best-effort only and not guaranteed going forward.
中文说明
- 输入区模型选择器:移除插件侧的宽度上限。2026-08-21 加的那个
max-width补丁是为了绕过官方响应式 bug,官方已修复 —— 现在长模型名也能正常单行显示,补丁已删除。 - Git worktree / submodule 下也能自动刷新了。这类工作区分支把
.git存成文件(内容gitdir: <path>),我们原来监听join(dir,'.git','HEAD')会ENOTDIR且被静默吞掉,导致 worktree 里切分支 HUD 不刷新。现在先解析gitdir:指针,再监听真实HEAD。 - 兼容矩阵补录
"0.2.1-rc.1"/"0.2.1-rc.2"= compatible。
版本兼容
- DSH 0.1.7 及以后(含 0.2.x)—— 本版(
v1.9.3):peer 范围^0.1.7-rc.1 || ^0.2.0-rc.1。 - DSH 0.1.5 及更早 —— 装
v1.4.1:那条线保留旧行为,且不使用任何 0.1.7 才有的 API。 - 维护策略:本插件将持续跟随 DSH 最新版本演进;对旧版 DSH 的兼容仅是尽力而为、不保证长期有效。
HUD v1.9.2 — 父行 = 整组开关(状态合并)
Fix
- The group parent row and the group's expanded state are now one single state: its arrow, its own file section and the list of sub-repos open and close together. Previously they were two independent states, so the row could look collapsed while the sub-repos were still listed, and an expanded group could not be collapsed with one click.
- Your manual choice is still remembered (localStorage) — if you had expanded a group before, one click on the parent row now collapses it back to the single
✓ N reposline.
中文说明
- 整组父行与整组展开状态合并为同一个状态:父行箭头、它自己的文件区、子仓库列表三者同开同合。此前是两套状态,会出现箭头看着是收起的、子仓库却还列着,而且展开后点一下收不回去。
- 手动选择照旧记住(localStorage):你此前展开过的那一组,现在点一下父行就能收回一行
✓ N 仓。
HUD v1.9.1 — 修:整组展开后收不回去
Fix
- The parent row is now a real group toggle: clicking it while collapsed expands the whole group, and clicking it again collapses everything back to the single
✓ N reposline. Previously only the expand direction was wired, so an expanded group could not be collapsed again.
中文说明
- 父行改成真正的整组开关:收起态点开 = 展开整组;展开态再点 = 连子仓库一起收回一行。此前只接了展开这一半,导致展开后收不回去。
HUD v1.9.0 — 整组折叠 + 按需刷新
Features
- Group folding in the repo tree. Sub-repos under the same workspace / watched repo now form one group: when everything is clean only the parent row is shown (with
✓ N repos) and no sub-folder names are listed at all; when something is dirty only the dirty sub-repos are listed and the rest collapse into a single▸ N more clean reposrow. Clicking the parent row expands the whole group, and your manual toggles are still remembered (localStorage). - Refresh on demand. File changes now go through a cheap fingerprint (one shell call returning each repo's change count / branch / ahead-behind / HEAD): a full refresh runs only when the fingerprint changed, or — while something is dirty — at most once every 5 seconds so
+/-details stay fresh. A clean multi-repo workspace now costs one shell call per change instead of one shell call per repo.
Version compatibility
- DSH 0.1.7 and later (including 0.2.0-rc.2) — this release (
v1.9.0): peer range^0.1.7-rc.1 || ^0.2.0-rc.1;dsh.compatibility.dshReleasesmarks0.1.7-rc.1/0.1.7-rc.2/0.2.0-rc.1/0.2.0-rc.2ascompatible. - DSH 0.1.5 and older — previous tag
v1.4.1(dsh plugin add github:a903067276-rgb/dsh-hud#v1.4.1): keeps the old behavior and uses no 0.1.7-only API. - Compatibility with older DSH versions is best-effort only; this plugin tracks the latest DSH releases.
中文说明
- 文件树整组折叠。 同一"工作区 / 关注仓库"下的子仓库现在算一组:全干净时只留父仓库一行(右侧
✓ N 仓),子文件夹名字一个都不列;有改动时只列有改动的子仓库,其余收成一行「▸ 另外 N 个干净仓库」。点父行可展开整组,手动开关照旧记住(localStorage)。 - 刷新按需升级。 文件变化先走"轻量指纹"(一次 shell 拿回各仓库的改动数 / 分支 / 领先落后 / HEAD):只有指纹变了才拉全量;有脏仓库时最多每 5 秒补一次全量(保证
+/-明细新鲜)。干净的多仓工作区现在每次变化只花 1 次 shell(此前是每个仓库 1 次)。
版本兼容
- DSH 0.1.7 及以后(含 0.2.0-rc.2)—— 装本版(
v1.9.0):peer 范围^0.1.7-rc.1 || ^0.2.0-rc.1;矩阵中0.1.7-rc.1/0.1.7-rc.2/0.2.0-rc.1/0.2.0-rc.2均为compatible。 - DSH 0.1.5 及更早 —— 装上一版 tag
v1.4.1:保持旧行为,不含 0.1.7 专用 API。 - 旧版 DSH 兼容为 best-effort(尽力而为、不保证);本插件跟随 DSH 最新版本演进。
v1.8.1
Fix
- DSH 0.2 support. Since 0.2 the host gates profile bundles on peer compatibility: a plugin whose declared peer range misses the running host is skipped entirely (
skipping profile bundle), which silently removes its tools and routes. The@deepseek-ai/dshpeer is now^0.1.7-rc.1 || ^0.2.0-rc.1, anddsh.compatibility.dshReleasesdeclares"0.2.0-rc.1": "compatible"after verification on a real 0.2.0-rc.1 host and a shadow instance. - Removed a dead
settings.plugin.itemclient registration (no shipped host declares that slot — the live entries are thesettings.sectionpage and the Plugins page'splugins.bundle.config), together with the component that only it used. - Removed the long-dead
apiProxylookup (the host removedapiProxyback in 0.1.2); the panel's model field staysnulland renders as—.
Version compatibility
- DSH 0.1.7 and later (including 0.2.0-rc.1) — this release (
v1.8.1): peer range^0.1.7-rc.1 || ^0.2.0-rc.1;dsh.compatibility.dshReleasesmarks0.1.7-rc.1/0.1.7-rc.2/0.2.0-rc.1ascompatible. - DSH 0.1.5 and older — previous tag
v1.4.1(dsh plugin add github:a903067276-rgb/hud-simple#v1.4.1): keeps the old behavior and uses no 0.1.7-only API. - Compatibility with older DSH versions is best-effort only; this plugin tracks the latest DSH releases.
中文说明
- 兼容 DSH 0.2。 0.2 起宿主按 peer 范围门禁 profile bundle:范围不覆盖当前运行时的插件会被整包跳过(日志
skipping profile bundle),插件工具与路由会一起静默消失。现将@deepseek-ai/dshpeer 改为^0.1.7-rc.1 || ^0.2.0-rc.1,并在dsh.compatibility.dshReleases声明"0.2.0-rc.1": "compatible"(已在 0.2.0-rc.1 真机与影子实例上验证)。 - 删掉无效的
settings.plugin.item客户端注册(官方两版都没有这个插槽;真正生效的是settings.section页面与插件页的plugins.bundle.config)及其专属组件。 - 删掉 0.1.2 起就被官方移除的
apiProxy死路径(面板的模型字段保持null,显示—)。
版本兼容
- DSH 0.1.7 及以后(含 0.2.0-rc.1)—— 装本版(
v1.8.1):peer 范围^0.1.7-rc.1 || ^0.2.0-rc.1;矩阵中0.1.7-rc.1/0.1.7-rc.2/0.2.0-rc.1均为compatible。 - DSH 0.1.5 及更早 —— 装上一版 tag
v1.4.1:保持旧行为,不含 0.1.7 专用 API。 - 旧版 DSH 兼容为 best-effort(尽力而为、不保证);本插件跟随 DSH 最新版本演进。
v1.8.0 — 设置页可改(提交条数 / 余额三档 / 预设)
把之前只在插件 Config 里、设置页看不到的选项做成了卡片:提交记录条数、余额模式(关/官方/自定义)、余额预设与自定义字段。保存即时生效、不用重启。
v1.7.0 — 余额三档可选 + 提交记录可配 + 按改动自动折叠
- 余额三档:balanceMode = off / official / custom(balanceUrl/Header/TokenEnv/Path/Currency),另有 balancePreset 预设 kimi / siliconflow / openrouter / zai / one-api / deepseek 一键带好地址与路径
- one-api 系 quota 单位换算 balanceScale、OpenRouter 两字段相减 balanceSubtractPath、DMXAPI 第二个头 balanceExtraHeader
- 安全闸:自定义地址必须 https(本机除外)、不跟随 302、key 只走请求头、200 但解析不到时提示一次
- 提交记录由 commitCount 配(默认 10,1~50),默认收起
- 折叠按改动走:干净仓库收一行(带 ↑↓),有改动自动展开到文件层,手动选择记住
HUD v1.6.1 — 点进插件就能看到设置
DSH 0.1.7+.
Fixed
- The settings card is now also rendered on the package page (one click into the plugin), not only on the component row page: registered through the keyed slot (key = package name).
中文
- 设置卡现在点进插件的第一级(包详情页)就能看到,不必再钻到组件行:走 keyed 槽 (键 = 包名)。原来只挂了组件行那级,观感像点进去没有详细设置。
HUD v1.6.0 — 设置卡进官方插件区
DSH 0.1.7+. On DSH ≤ 0.1.5 install the previous tag.
Added
- The full settings card now also renders inside the official Plugins page: Plugins → HUD → component row → Configure. Registered through the keyed
plugins.row.configslot (keydsh-hud#<entry>), reusing the same card component as the Settings page (inCard).
中文
- 完整设置卡现同时在官方插件区渲染:插件 → HUD → 组件行 → Configure;走 keyed 槽
plugins.row.config(键 = 包名#条目id),与设置页共用同一组件。
v1.5.2 — 图标优化
图标重画:小尺寸可读性 + 与同类插件区分(详见提交信息)。DSH 0.1.7+;≤0.1.5 请装旧 tag。