All plugins

DSH / BUNDLE / CLIENT-UI

dsh-plugin-branch-origin

v0.1.2WindFromKadath / dsh-plugin-branch-origin34093423c5

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

dsh-plugin-branch-origin

分支联系:给 DSH 里分叉出来的会话标上它来自哪个对话 —— 标题带上「⤷ 来源:<源会话标题>」,侧栏行另有一个不受改名影响的来源徽标。零依赖、无构建链。

README / EN

Package documentation

Registry summary

分支联系:给 DSH 里分叉出来的会话标上它来自哪个对话 —— 标题带上「⤷ 来源:<源会话标题>」,侧栏行另有一个不受改名影响的来源徽标。零依赖、无构建链。

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **The origin in the title does not survive a rename**: that is the inherent cost of writing a label into the title. **The sidebar badge does survive** (D009); both channels are on by default. - **The title copy is a snapshot**: it records the source conversation's title at fork time; renaming the **source** conversation does not update it. The badge shows the **live** name. - **Only new forks are labeled**: forks that existed before the plugin was loaded are not back-filled (no startup scan). - **Labeling window**: for roughly 4.6 seconds after a fork (`settleMs 600` + `graceMs 4000`) the title keeps converging. A manual rename inside that window is **not** overwritten (the title is no longer in inherited form), but a title set to exactly `<source title> (N)` by someone else can still be marked. - **The title gets pinned**: this uses `sessionTitle.rename()`, i.e. `source: { kind: 'user' }`. That is harmless for fork children — the first-prompt title provider already skips sessions with a parent — but do not use this plugin to name **non-fork** sessions. - **`maxTitleBytes` truncates**: DSH defaults to 80 bytes, so a long source title is truncated at the tail by the official `rename`. Truncation keeps the head, so the `⤷ 来源:` prefix survives. - **The client half has been machine-checked in a real browser** (headless Chrome + CDP, 9 checks pass: sidebar row, badge, tooltip, hover section, text colors, zero console errors) — see [.verify/REPORT.md](.verify/REPORT.md) §7.3. - **Hover-section text colors are pinned to the official hover card**: that card is a dark menu material whose own CSS hard-codes its text colors as `#fff` / `#cfd3d6` / `#adb2b8` and **does not use theme tokens**. This plugin's hover section therefore uses those same fixed colors. (v0.1.1 used `--dsw-alias-label-primary`, which resolves to the light-theme near-black inside that card and matched the card background, making the text invisible; fixed in v0.1.2.) If DSH changes the card palette, this must follow — the A7/A8 GUI assertions will flag it. - **Only measured on DSH 0.2.0-rc.2 / Windows**: the host contracts and client seats were verified against that version; a version change requires re-running the checks above. - **Not done**: no fork creation, no subagent moving, no tree drawing, no parent-pointer changes, no sidecar files, no model-visible tools, no `single` slot, no overriding official rows.