dsh-brief-sidebar
dsh-better-sidebar 扩展:把会话简报渲染成右侧栏「概要」tab——来自 `todos` 投影的进展看板,加上回合内产物列表——并在挂载期间遮蔽 composer 上方的官方 todo 面板。
安装
dsh plugin --profile web add dsh-brief-sidebar
沙箱测试结果
| 阶段 | 结果 |
|---|---|
| 1 安装 | ✗ |
| 2 列装 | — |
| 3 挂载 | — |
| 4 启动 | — |
dsh: initialized profile web at /home/node/.dsh/profiles/web四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。
README
dsh-brief-sidebar
[简体中文](README.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [Italiano](README.it.md) | [Русский](README.ru.md) | [Español](README.es.md)
Веб-плагин DSH (потребитель dsh-better-sidebar), имя репозитория/пакета dsh-brief-sidebar (боковая панель брифов сессии).
Он рендерит бриф сессии в виде вкладки «Обзор» в правой боковой панели; бриф состоит из двух списков:
- список todo — доска прогресса проекции
todos, показывающая три состояния и сводку прогресса задач текущей сессии; - список результатов — раздел результатов (deliverables) проекции
dshSummaryDeliverables, в реальном времени, по ходу хода, показывающий успешно записанные/изменённые файлы;
результаты планирования codeplan помечаются строчной меткой (pill) «Планирование».
Одновременно он перекрывает официальную todo-панель DSH над composer, делая доску единственным видимым носителем todo.
Только чтение: без редактирования, без записи обратно, без агрегации нескольких сессий, без копирования какого-либо стороннего слоя рендеринга.
Диапазон совместимости: эта линия (ветка main, повышена из compat/0.2.0) нацелена на линию DSH 0.2.0 — engines.dsh равен >=0.2.0-rc.1 <0.2.1-0, проверенная база — DSH 0.2.0-rc.1, публикации через npm dist-тег dsh-0.2.0. 0.2.0 чисто аддитивен для всех API хоста, которые использует этот плагин (потребляемая поверхность — только чистые вызовы ctx.get(...), ноль удалений экспортов), поэтому линия поддержки целиком сдвигается вперёд — ветка совместимости на уровне рантайма не нужна. Версию плагина выбирайте строго по версии DSH (не используйте latest вслепую на старых хостах: engines старого хоста перестают выполняться, и плагин молча отключается стартовой предпроверкой; caret-диапазоны также не переходят через minor хоста):
Хост DSH · Последняя версия плагина · dist-тег для установки
0.2.0 · 0.4.0 (latest) · dsh-0.2.0
0.1.7 · 0.3.1 · dsh-0.1.7
0.1.5 · 0.3.1 · dsh-0.1.5
0.1.2 и старше · не поддерживается (у линии 0.1.x нижняя граница — 0.1.5-rc.1; на npm нет соответствующего dist-тега) · —
(по состоянию на 2026-09-30; линия 0.1.x продолжает обслуживаться замороженными ветками compat/0.1.7 / compat/0.1.5 (≤0.3.1).)
Границы именования: идентичность этого плагина (имя пакета / plugin id / cordis bundle id / namespace локали / DOM-хук
data-dsh-brief-sidebar) повсюду использует brief; тогда как проекция todos, инструмент todo_write, официальная dock-ячейка { id: 'todo' } и dsh-tool-todo относятся к вышестоящей домену DSH: оригинальное слово todo сохраняется, этот плагин ничего не переименовывает.
Система памяти: третий раздел брифа (вызов памяти) пока является лишь зарезервированным слотом макета, находится в планировании и в этом выпуске не рендерится — см. R11 / K4.
Соответствие требований
№ · Требование · Место реализации
R1 · Во время монтирования плагина официальная todo-полоса вообще не рендерится · src/client/brief/dock-shadow.tsx
R2 · Отдельный самостоятельный плагин, регистрирующий вкладку «Обзор» в better-sidebar · src/client/index.tsx
R3 · Данные берутся только из вычисляемой хостом проекции todos; без клиентского схлопывания, без записи обратно · src/client/brief/use-todos.ts + board.ts
R4 · Обычный React + токены --dsw-alias-*; нулевая связь кода/именования с плагином Canvas · src/client/TodoBoardTab.tsx (TodoSection) + BriefIcon.tsx
R5 · Обратимость: после отключения/удаления плагина официальный dock восстанавливается автоматически · Все регистрации идут через ctx.effect, disposer-ы утилизируются вместе с fiber
R6 · Неагрессивность: без изменения DSH checkout / better-sidebar / плагина canvas · Пакет самодостаточен, ни один из названных репозиториев не затронут
R7 · Вкладка становится «Обзор», TAB_ID не меняется (замена на месте, уже открытые вкладки не теряют связь) · src/client/SummaryTab.tsx + index.tsx
R8 · Раздел 1 «Прогресс»: контракт трёх состояний todos опущен до уровня раздела · src/client/TodoBoardTab.tsx
R9 · Раздел 2 «Результаты»: список в реальном времени последнего хода + накопление за сессию, хостовая половина регистрирует проекцию · src/projection/ + src/client/summary/
R10 · Результаты codeplan — это аннотированное подмножество раздела результатов (строчная метка «Планирование»), а не отдельный раздел · src/client/summary/deliverables.ts + DeliverablesSection.tsx
R11 · Вызов памяти: только зарезервированный слот макета (в самом низу последовательности разделов), в планировании, в этом выпуске не рендерится · Комментарий слота в src/client/SummaryTab.tsx / K4
R12 · Сохранение поведения: перекрытие, badge, пауза через visible, контракт высоты, адаптация 0.1.5 · В разных местах, см. ниже
R13 · Хостовая половина не делает синхронный ввод-вывод; проекция — опциональный вклад (ожидание через ctx.inject) · src/index.ts + src/projection/register.ts
Установка
# выбирайте dist-тег по версии хоста DSH (рекомендуется, не используйте latest вслепую) dsh plugin --profile web add dsh-brief-sidebar@dsh-0.2.0 # линия DSH 0.2.0 (0.4.0) dsh plugin --profile web add dsh-brief-sidebar@dsh-0.1.7 # линия DSH 0.1.7 (0.3.1) dsh plugin --profile web add dsh-brief-sidebar@dsh-0.1.5 # линия DSH 0.1.5 (0.3.1) # Вариант 1: локальный tarball (эта линия: dsh-brief-sidebar-0.4.0.tgz) dsh plugin --profile web add <dsh-brief-sidebar-0.4.0.tgz> # Вариант 2: прямая установка с GitHub (сборка своими силами) dsh plugin --profile web add github:drscrewdriver/dsh-brief-sidebar#main
--profile должен идти сразу после plugin. После установки обновите http://127.0.0.1:3080.
Ключевые решения
Цепочка данных: разбор грани проекций напрямую, вместо useProjection из фреймворка
Тело вкладки better-sidebar не находится в дереве слотов DSH и не
…(truncated)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:31,最后更新 2026-11-06