dsh-session-workbench

DSH PLUGIN记忆与知识

仓库 PolinniZhong/dsh-session-workbench · npm dsh-session-workbench

记忆与知识 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH plugin 会话工作台:提供会话库全文搜索与召回、片段定位,以及会话视图标签栏的显示/隐藏与拖拽排序,全程本地运行。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 50 复刻 0 · 未关闭 issue 1
最近更新 2026-09-28 创建于 2026-08-21
README 11.8 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add [email protected]
兼容 DSH 版本0.2.0-rc.2 等 9 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-session-workbench可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-session-workbench:为 DeepSeek Harness 打造的历史会话搜索与工作台

  • 会话全文搜索
  • 片段定位跳转
  • 引用召回
  • 标签栏显示/隐藏
  • 拖拽排序

适用场景

记忆联网搜索

上游标签

conversation-viewdeepseek-harnessdsh-pluginknowledge-baserecallsession-searchsession-workbenchshow-hidetab-managementview-hideview-managementview-reorder

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方PolinniZhong仓库 dsh-session-workbench · 默认分支 main
分类记忆与知识memory
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue50 / 0 / 1收录时的数值,非实时
创建 / 更新2026-08-21 · 2026-09-28最后推送 2026-09-28
本站收录2026-09-01首次进入本站目录的时间

README 全文

11.8 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-session-workbench — Session Workbench for DeepSeek Harness

> Search every past session and recall the ones you need as @references; manage the conversation-view tab bar (show/hide + reorder). One plugin, three entry points.

English · 中文 · Privacy · Docs


What it is

DeepSeek Harness ships with a full-text search engine (SQLite FTS5) and cross-session references (@session mention), but neither has a user-facing interface. This plugin adds the missing discover → browse → insert layer:

  • Search — full-text search across all your past sessions (all workspaces), with workspace / time-range / archive filters, and cursor pagination;
  • Fragment hits (v1.1) — results are per-session best-hit fragment cards: the matched sentence highlighted with its surrounding context (lazy-loaded), so you see the sentence, not just which session;
  • Same-session hits (v1.2) — expanding a fragment card shows a "More hits in this session" fold with the other matches (first 5, then load more), each highlighted — no more hunting for the rest of a session's matches;
  • Locate (v1.1, composite anchors in v1.2) — click Locate on a fragment card to open that session, page the window back, and scroll to the exact message with a flash highlight; v1.2 matches the hit sentence plus its preceding text so repeated wording lands on the right occurrence; when unmatched, a non-blocking toast tells you to scroll manually;
  • Recall — pick up to 3 sessions and insert them into the input as reference chips in one click; on send, the platform injects read-only snapshots (## Referenced sessions) and the AI answers with your historical context;
  • Recent — a minimal recent-sessions list so you can find things fast without searching;
  • Archives — search includes archived sessions by default (with an "Archived" badge and all / active-only / archived-only filters) — after DSH archives a session it's visible nowhere else, so search is the only way back; the Recent list excludes archived sessions by default;
  • Settings — enable/disable switch + default search scope + privacy statement;
  • Conversation views (new in 1.0.0) — manage the session tab bar: show/hide each custom view and reorder them by drag-and-drop, from both the 会话工作台 settings entry (会话视图 partition) and a right-click / double-click panel on the tab bar itself.

Everything runs fully locally with zero network requests; only session metadata and hit snippets are read, and no session is ever modified or deleted (see PRIVACY.md).

The UI is deliberately native-feeling: every color, spacing, radius, font, and interaction (header row, inline search, grouped menu, pill buttons, checkboxes) is measured from DSH's own design system — better-sidebar, the workspace sidebar, and the settings sections — so the plugin looks and behaves like a built-in feature, not a third-party skin.

Why this plugin (differentiation): ecosystem search plugins stop at "which session"; in-session navigation plugins (10+) only jump within the current session. Session KB is the only plugin that closes the loop cross-session search → snippet-level hit → locate the exact message in the old session → @recall.

Screenshots

Fragment search (v1.1) — searching "Vibe Coding" returns per-session fragment cards: matched sentence highlighted, context below:

Locate (v1.1) — the session opens and scrolls to the exact hit message with a flash highlight:

Pick & insert — check up to 3 sessions, insert them into the input as reference chips:

Settings — enable/disable card with expandable options and privacy statement:

Videos

Conversation views — reorder in Settings (drag the ⋮⋮ handle):

Conversation views — reorder from the tab-bar panel (right-click / double-click a tab):

> High-res .mp4 versions live in docs/videos/.

Requirements

  • DeepSeek Harness (dsh) with a web profile — the plugin is a static bundle (its client is served at runtime; a page refresh picks up client changes, host/profile changes need a restart).
  • For session-library search, a persistent FTS index must be enabled in the web profile (openAt: startup), see Install.

Install

dsh plugin --profile web add dsh-session-workbench

> Local development can also use a link: dependency (same pattern as dsh-personal-center).

Enable full-text search (required): the web profile disables the FTS index by default (openAt: never). Override it in /profiles/web/cordis.patch.yml — use a persistent index path and openAt: startup so the index is built once on launch and reused (a :memory: index would rebuild on every search and block the host):

- id: session-query-sqlite
config:
path: '/Users//.dsh/session-query.sqlite'
openAt: startup

> ⚠️ path must be an absolute path — the platform resolves it with path.resolve and does not expand ~ or environment variables. Writing ~/.dsh/... silently creates the index inside the DSH dependency tree (lost on upgrade, and a large un-checkpointed WAL makes searches take minutes).

Then restart the DSH app (host-side config and route changes require a restart; client-bundle changes only need a page refresh).

Usage

  1. Open the Session KB tab in the right sidebar (better-sidebar); the Settings → Session KB section can disable/enable it;
  2. Without a keyword you see Recent sessions; click the search icon (top-right) to expand the input, type a keyword (literal phrase match, e.g. MCP config) to switch to search results;
  3. Click the more button (⋯) to filter by workspace / time range / archive (all incl. archived / active only / archived only);
  4. Click a result to expand the preview (hit context + session meta); click Locate to open that session and scroll to the exact hit message (flash-highlighted); click the path to expand the full path; then check it (up to 3);
  5. Click Insert references into input → @session chips appear in the input → continue typing your question → send;
  6. The platform injects read-only snapshots into the model context and the AI answers with your history;
  7. Manage conversation views — open Settings → 会话工作台 → 会话视图 to toggle each view's visibility and drag the ⋮⋮ handle to reorder, or right-click / double-click the session tab bar for the same panel inline.

Model Experience

When the user mentions "before / previous session / how did we do X" — anything needing past context — suggest opening the Session KB tab in the right sidebar, searching, and referencing the matching session(s). Referenced sessions enter your context as ## Referenced sessions read-only snapshots:

  • Treat referenced content as a fact source: base answers on its implementation details, and point out conflicts between referenced content and the current question;
  • Snapshots have a size limit (64 KB per session by default); for large sessions only part may be retained — ask the user to reference a more focused session when you need earlier details;
  • Long sessions may be compacted (early messages replaced by checkpoints) — compacted content is still searchable (the official FTS index includes shadowed content), so "it was compacted" never means "it's lost".

Platform limitations

  • At most 3 referenced sessions per message; 64 KB snapshot budget per session (preview shows a hint when a session is large);
  • Search is literal phrase matching (FTS limitation) — no synonyms or semantics; quotes, OR, * are treated as plain characters;
  • Only user/assistant text and some structured events are indexed — no reasoning, stream chunks, or headers;
  • Archive semantics: search includes archived sessions by default; the Recent list excludes them;
  • Locate is best-effort: the platform exposes no "open session at seq" API, so Locate pages the window back and text-matches the hit message — repeated text may land on an earlier occurrence, and hits beyond ~500 messages back fall back to a manual-scroll toast.

Development

dsh-session-workbench/
├── package.json          # dsh.bundle.patch + dsh.client.platform=web + exports["./client"]
├── cordis.patch.yml      # plugin row (session-workbench)
├── lib/
│   ├── index.js          # host: loopback routes /session-kb/* (search/context/settings) + isLoopback + archive
│   └── client.js         # client: better-sidebar tab + settings sections (会话库 / 会话视图) + tab-bar view panel (zh/en)
├── docs/
│   ├── DESIGN-SYSTEM.md  # visual/interaction spec (measured values, incl. view drag styles)
│   └── DESIGN.md         # implementation design (host/client/insert-reference/archive/views)
├── PRIVACY.md
└── README.md

See DESIGN.md for implementation; platform notes in PLATFORM-NOTES.md.

Roadmap

  • 1.0.3 (current) — DSH 0.1.7 compatibility patch: 插件设置 API 换模型(Config schema + describe/update 适配)、归档 storages 路径修正、client inject 清理;保留 ≤0.1.6 旧路径。feature baseline unchanged from 1.0.2(会话库 search → snippet → locate → recall + 会话视图 tab bar show/hide + drag reorder);
  • 会话库历史:v1.2(同会话多片段 + 组合锚点)/ v1.1(片段级检索)/ v1.0(搜索召回);
  • v2.0 — bookmarks / notes / tags + cost integration + long-session handoff index (FR-HANDOFF);
  • v3.0 — backlinks + reference graph + related sessions.

License

MIT


中文

会话工作台(Session Workbench) = 会话库 + 会话视图,一个插件:

  • 侧边栏·会话库:全文搜索全部历史会话,把最多 3 个会话以 @引用 插入输入框,发送后平台注入只读快照,AI 带着历史上下文回答;
  • 设置·会话工作台(一个条目,内含两个分区):「会话库」分区(启用开关 + 搜索默认范围 + 隐私说明)+「会话视图」分区(每个视图「显示/隐藏」开关 + ⋮⋮ 拖拽排序);
  • 标签条右键/双击面板:快捷管理会话视图(同款开关 + 拖拽排序)。

会话库要点(继承自 dsh-session-kb):

  • 搜索用官方本地 SQLite FTS5 索引(ctx.sessionQuery)——零网络请求,纯本地;
  • 片段级检索:结果升级为「片段卡片」(命中句高亮 + 前后文),点「定位」打开旧会话、翻到命中位置并滚动到那条消息(高亮 2s);
  • 同会话多片段:展开片段卡片查看同会话其余命中(前 5 条 + 加载更多,均带关键词高亮);定位用「命中句 + 前文」组合锚点;
  • 召回走官方会话引用机制(@[label](dsh-session:…) → ## Referenced sessions);
  • 归档:搜索默认包含已归档会话(带「已归档」徽标 + 全部/仅未归档/仅归档筛选);最近列表默认排除归档。

关键词:dsh-plugin · deepseek-harness · session-search · knowledge-base · recall · view-management · conversation-view · 会话 · 检索 · 召回 · 知识库 · 会话视图 · 标签栏 · 视图管理

常见问题

7 问
答案由本站依据条目字段整理,不引用上游原文
dsh-session-workbench 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add [email protected]` 即可。对应的 npm 包名是 `dsh-session-workbench`。

dsh-session-workbench 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-session-workbench 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-session-workbench 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.7-rc.1、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2。版本较多,只列出前 8 个。

dsh-session-workbench 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-session-workbench 有哪些功能?

会话全文搜索、片段定位跳转、引用召回、标签栏显示/隐藏、拖拽排序。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

PolinniZhong 的其它插件

4 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。