Skip to content

Releases: PolinniZhong/dsh-session-workbench

v1.0.3 — DSH 0.1.7-rc.2 compatibility fix

Choose a tag to compare

@PolinniZhong PolinniZhong released this 28 Sep 07:31

DSH 0.1.7-rc.2 compatibility fix. No feature changes — the feature baseline is unchanged from 1.0.2 (session search → snippet → locate → recall + conversation-view tab bar show/hide + drag reorder).

Compatibility

  • Plugin settings API re-model — @deepseek-ai/dsh-settings 0.1.7 removed the settingsNamespace named export and SettingsService.register/get. This release adds Config (schemastery, field group keeps the legacy session-kb namespace, marked volatile) and an adapter over settings.describe/update, so the existing routes and settings readers keep working unchanged.
  • Self-drawn settings page — settings.configure({ auto: false }, ctx.fiber), so the host no longer generates a duplicate automatic form.
  • Archive storages path fix — since 0.1.7, settings.documentPath points at the profile patch (<dshHome>/profiles/<name>/cordis.patch.yml) instead of <dshHome>/settings.yaml; storages/workspace.json is now probed across candidates, so archive filtering no longer reads the wrong path.
  • client inject cleanup — removed @deepseek-ai/dsh-client-runtime, which no longer exists in 0.1.7; dropped the now-unused @deepseek-ai/dsh-settings dependency.
  • Session open / locate — uses ctx.uiWorkspace.openSession (falls back to ctx.sessions.open on ≤0.1.6), fixing open/locate, which called a method that no longer exists.
  • Recall insert — 0.1.7's conversation is a session-scoped service (official form: actx.get("conversation")); the input-reference span still goes through the official slash/input-insert-reference event.
  • Older hosts — ≤0.1.6 keeps using the legacy namespace-registration path.

Install

dsh plugin add dsh-session-workbench

v1.0.2 — 会话视图装饰不再误伤设置弹层内同数量 tab 条

Choose a tag to compare

@PolinniZhong PolinniZhong released this 09 Sep 02:17

Fixed

  • 作用域限定会话视图标签条 — applyViewConfig 原遍历全文档所有 [role="tablist"],凡 tab 数量等于会话视图数即按位置映射绑定 data-view-id 并应用「隐藏/排序」;设置弹层内其它插件页面若有同数量 tab 条(如 dsh-personal-center 的 4 个 tab 对 4 个会话视图),会被当作会话视图条、按位置绑到已隐藏视图的 tab 被 display:none 隐藏。现新增 isConversationViewTablist 守卫:跳过位于覆盖层/对话框内的 tablist;右键菜单取标签条同样改为取「会话工作区内第一个合格 tablist」,不再取全文档第一个。
  • 守卫改为类名无关的祖先判定 — 覆盖层根类随 dsh 壳改版更名(.dsh-tu-settingsRoot → .dshp-settings-sidebar),固定类名名单会失效导致误伤复发;现改为「任一祖先类名含 settings 即视为设置弹层内容」的判定,配合 [role=dialog] / [aria-modal=true],不依赖具体类名。

v1.0.1 — DSH 0.1.1-rc.2 compatibility fix

Choose a tag to compare

@PolinniZhong PolinniZhong released this 28 Sep 07:53

Compatibility fix — DSH 0.1.1-rc.2 client module re-organization. No new features, behaviour unchanged.

Fixed

  • DSH 0.1.1-rc.2 compatibility — removed @deepseek-ai/dsh-client-ui-slots from dsh.client.inject: the module no longer ships separately in rc.2 (its API merged into dsh-client-ui-conversation, and ctx.slots is now provided by dsh-client-runtime). The stale inject made the client bundle fail to ready (HARNESS_NOT_READY: ... (0/2 ready)) and blocked the app from starting; inject is now [dsh-client-runtime, dsh-client-locale, dsh-client-ui-conversation].

Install

dsh plugin add dsh-session-workbench

v1.0.0 — 更名合并首发:会话库 + 会话视图(一个插件三入口)

Choose a tag to compare

@PolinniZhong PolinniZhong released this 28 Sep 07:53

Rename + merged first release. dsh-session-kb became dsh-session-workbench — one plugin, three entry points (sidebar Session KB / Settings Session KB / Settings Conversation views). The version jumps 0.3.0 → 1.0.0 to mark the shape change (merge), not a feature increment.

Added

  • Conversation views (Settings) — a new Settings → Conversation views section: it enumerates the mounted conversation.view entries, each with a show/hide toggle and a ⋮⋮ handle for drag-to-reorder (HTML5 DnD; hidden views cannot be dragged and sort after the visible ones, in the order they were hidden).
  • Conversation views (tab-bar panel) — right-click / double-click the session tab bar to open the same panel: toggles + drag reorder, same interaction as Settings. The dragged row becomes a translucent ghost and the drop target gets a dashed brand-colour outline (pointer + transform, no jitter).
  • Package name / display name / description unified to "Session Workbench / 会话工作台", carrying both the session library and conversation views keyword sets.

Changed

  • Package dsh-session-kb → dsh-session-workbench; cordis plugin row session-kb → session-workbench.
  • View hide/reorder happens at the DOM layer (no changes to the other view plugins' source): enumerate via ctx.slots.entries('conversation.view'), visual ordering via style.order, hiding via display:none, replayed by a MutationObserver.
  • All existing Session-KB features (search / snippet hits / locate / recall / archives) unchanged; regression passed.

Fixed

  • Direct tab-bar dragging is unreliable (React owns the tablist, so DOM reordering gets reverted) — dropped in favour of the panel + Settings.

Install

dsh plugin add dsh-session-workbench

Videos

Drag-to-reorder in Settings and from the tab-bar panel — see the two attached .mp4 files.

v0.3.0 — v1.2 same-session hits + composite locate anchors

Choose a tag to compare

@PolinniZhong PolinniZhong released this 25 Aug 23:02

v1.2 — same-session hits + more reliable locate

What's new

  • Same-session multi-hits — expanding a fragment card now shows a "More hits in this session" fold with the other matches (first 5 by default, "Load more" via pagination), each with keyword highlighting — no more hunting for the rest of a session's matches;
  • Composite locate anchors — Locate now matches the hit sentence plus the preceding event text (within the previous 1–3 DOM rows), so repeated wording lands on the right occurrence instead of the earliest one;
  • Index-building notice — when a search exceeds ~2.5s (first index build), the loading state explains that the history index is being built, instead of an open-ended "Loading…".

Fixed

  • Keyword highlighting was silently broken in expandable context / same-session hits / titles (<mark> escaped as text) — now rendered safely via dangerouslySetInnerHTML;
  • Same-session cache was keyed by session only (switching search terms could show stale hits) — now bound to sessionId:query;
  • searchEvents endpoint now uses a 30s TTL cache like search;
  • README install example now uses an absolute index path — the platform does not expand ~ (writing ~/.dsh/... silently puts the index in the dependency tree and makes searches take minutes).

npm: dsh-session-kb@0.3.0 · GitHub: PolinniZhong/dsh-session-kb

v0.2.0 — v1.1 snippet-level retrieval

Choose a tag to compare

@PolinniZhong PolinniZhong released this 24 Aug 01:47

v1.1 — snippet-level retrieval

Search results are now fragment cards: the matched sentence highlighted with its surrounding context. Click Locate to open the old session, page the window back, and scroll to the exact message with a flash highlight.

What's new

  • Fragment cards — per-session best-hit snippet + lazy-loaded context window (so you see the sentence, not just which session)
  • Locate — open + loadOlder page-back + best-effort text match scroll & highlight; degrades to a non-blocking toast when the hit is out of range or unmatched
  • Sort — relevance (default) or latest-first
  • Performance — persistent FTS index (built once on startup), host 30s search cache, client-local recent list & titles (the 27s / 34s stalls are gone)
  • Removed dead host endpoints (/session-kb/sessions, /session-kb/session/:id)

Screenshots

Fragment search

Locate

Install

dsh plugin --profile web add dsh-session-kb

npm: dsh-session-kb@0.2.0 · GitHub: PolinniZhong/dsh-session-kb