中文EN

dsh-search-index

session装不上npmMIT

自带独立索引的侧边栏会话搜索(不再复用 DSH 官方全文索引):一处入口在标题与内容检索间切换,结果按会话聚合,附最强命中片段与 用户/回复/工具 类型标签;水位驱动增量同步、按归档集合清理已归档会话,整理走影子索引不阻塞在用索引。

下载量 / Downloads
11,123
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-search-index

沙箱测试结果

阶段结果
1 安装✗
2 列装—
3 挂载—
4 启动—
第一条错误
dsh: initialized profile web at /home/node/.dsh/profiles/web

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

<p align="center">

Note (0.7.0): this translation lags behind README.md / README.en.md. The 0.7.0 changes (DRS hard dependency, 017 dual-form entry, namespace switch-search) are documented there.

<strong>Поиск по сессиям с собственным индексом для боковой панели DeepSeek Harness — переключение между заголовком и содержимым в один клик, с фильтрами по пользователю / ответу / инструменту</strong>

</p>

<p align="center">

<a href="README.md">简体中文</a> · <a href="README.en.md">English</a> · <a href="README.fr.md">Français</a> · <a href="README.de.md">Deutsch</a> · <a href="README.it.md">Italiano</a> · <strong>Русский</strong> · <a href="README.es.md">Español</a>

</p>

<p align="center">

<a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-263146?style=flat-square"></a>

<img alt="Public" src="https://img.shields.io/badge/status-public-7da1de?style=flat-square">

</p>

dsh-search-index

Поисковый индекс для боковой панели веб-интерфейса DSH: добавляет в нижней части боковой панели пункт «Поиск», плавающая панель которого одним кликом переключается между поиском по заголовкам ↔ поиском по содержимому; режим содержимого показывает заголовки и найденные фрагменты сгруппированными по сессиям, с фильтрацией по категориям пользователь / ответ / инструмент. Несёт с собой собственный индекс (независимый от официального полнотекстового индекса DSH) с инкрементальной синхронизацией, неразрушающей пересборкой и экспортом/импортом снапшотов.
Этот пакет занимается только поиском и индексом. Просмотр и очистка истории сессий (бывшая панель «архивные сессии») переехали во вкладку «Архивная комната» dsh-session-steward; этот пакет по-прежнему читает официальный архивный набор, чтобы исключать архивированные сессии из индекса, но больше не пишет в него — у архивного набора только один писатель: стюард. Контракт описан в dsh-归档文件格式契约-20260914.md.

Без правок исходников dsh и без PR: cordis-клиент плюс хост-половина плагина, собранные командой dsh plugin и патчем бандла.

Предшественник и текущая версия

Предшественник: dsh-session-search-toggle. Та версия полагалась на defineStore из @deepseek-ai/dsh-client-runtime, чтобы получить место для строки настроек. DSH 0.1.2 переименовал/перестроил клиентские engine-пакеты (dsh-client-runtime → dsh-client-store), и старый код больше не загружался на новом хосте — один плагин не мог покрыть обе версии одним артефактом.

Текущая версия (dsh-search-index 0.6.6) делает основной линией DSH 0.2.0–0.2.1-rc.2 (peer 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3). Исторические хостовые линии обслуживаются отдельными версионными линиями: DSH 0.1.7 обслуживается версией 0.5.7 (npm dist-tag dsh-0.1.7, ветка compat/0.1.7); более старые хосты 0.1.1/0.1.2 используют устаревший артефакт, который дальше этой версии не развивается. Историческая подоплёка:

  • Один артефакт, адаптивный в рантайме: тот же lib/client.js загружается и на 0.1.1-rc.2, и на 0.1.2-rc.1, без единой ветки по строкам версии. Клиентский бандл делает require только react / react-dom, а оба лежат в общей таблице модулей обеих версий.
  • Ни один из engine-пакетов не импортируется: ни dsh-client-runtime, ни dsh-client-store — так что переименование ему не страшно.
  • Место store реализовано локально: строке настроек нужно место store (StoreHandle / StoreInstance, контракт принадлежит @deepseek-ai/dsh-client-ui-slots и совпадает в обеих версиях). Плагин заменяет defineStore локальной реализацией строк на тридцать — она зависит только от create() → { actions, getSnapshot, subscribe, clearPersisted }, без единого specifier'а, привязанного к версии.
  • Все остальные контракты совпадают в обеих версиях: слот settings.general.item, SettingsScope.{getSnapshot,subscribe,set,unset} и три поверхности запросов sessionQuery имеют одинаковые сигнатуры.
▼ Поддержка версий DSH
| Версия DSH | Статус | Носитель и ключевое отличие |
| --- | --- | --- |
| 0.2.0-rc.1 | ✅ | this release 0.6.6; peer/engines = 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3, ноль правок кода (чисто caller-потребление мест slots/locale/configForms) |
| 0.2.1-rc.1 | ✅ | this release 0.6.6; начиная с 0.2.1-a.2 хост переименовал webRuntime в webStartup — эта версия внедряет webStartup с цепочкой отката по двум именам |
| 0.2.1-rc.2 | ✅ | текущая версия 0.6.6; декларативное дополнение перечня (все хостовые peers проверены на наличии rc.2 через npm), ноль правок кода |
| 0.1.7-rc.1+ | ✅ | 0.5.7 (dist-tag dsh-0.1.7); configForms получает хендл по entry id, старые хосты откатываются на settingsScope, привязанный по пространству имён |
| 0.1.1-rc.2 | ✅ (устаревший артефакт, заморожен) | store-движок находится в @deepseek-ai/dsh-client-runtime/client |
| 0.1.2-rc.1 | ✅ (устаревший артефакт, заморожен) | движок переименован в @deepseek-ai/dsh-client-store; этот плагин не импортирует ни тот, ни другой |

Обновление со старого имени: этот пакет — переименование dsh-session-search-toggle; id регистрации клиента, id cordis-патча и адрес репозитория переименованы вместе с ним. GitHub сохраняет редиректы для переименованных репозиториев, поэтому старое имя по-прежнему резолвится — но переведите profile-зависимость на новое имя, а не оставляйте два имени сосуществовать надолго:

dsh plugin --profile web add github:drscrewdriver/dsh-search-index#master
dsh plugin --profile web remove dsh-session-search-toggle
dsh web   # перезапуск

Пространство имён настроек остаётся switch-search (ключ хранения стабилен, миграция не требуется), так что старая конфигурация продолжает работать под новым пакетом.

Что он умеет

  • Двойной режим заголовок ↔ содержимое: один вход, два способа искать — «Заголовок» фильтрует в реальном времени по подстроке названия сессии / рабочего каталога; «Содержимое

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:41,最后更新 2026-11-06

链接

GitHub · Homepage · npm

同类插件