dsh-tidy-display
Đã xác minhdsh-tidy-display · v0.3.1 · MIT · Giao diện web
One plugin for a calmer DeepSeek Harness: reading view + message rail + smart history loading, for Harness 0.1.0-0.2.0 (all rc).
Cài đặt
dsh plugin add dsh-tidy-display Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.
Mã nguồn
Thẻ
Readme
dsh-tidy-display
简体中文 | English | Français | Deutsch | Italiano | Русский | Español
Tidy Display — плагин сообщества для DeepSeek Harness (DSH) 0.1.0–0.2.0, объединяющий режим чтения и панель сообщений в одном плагине: длинные сессии становятся удобными для беглого просмотра, навигации и продолжения.
Этот проект создан слиянием двух популярных плагинов DSH: dsh-better-display (режим чтения, поддерживается через форк) × dsh-tidychat (панель сообщений / умная загрузка истории). Слияние устраняет конфликт DOM-контрактов между ними; благодарность обоим.
- Поддерживаемые хосты DSH:
0.1.0-rc.20.1.0-rc.30.1.0-rc.60.1.0-rc.70.1.0-rc.80.1.1-rc.10.1.1-rc.20.1.2-rc.10.1.5-rc.10.1.5-rc.20.1.5-rc.30.1.7-rc.10.1.7-rc.20.2.0-rc.10.2.0-rc.2(15 rc по линиям 0.1.0 / 0.1.1 / 0.1.2 / 0.1.5 / 0.1.7 / 0.2.0) - Проверено на этапе выполнения:
0.1.0-rc.2,0.1.0-rc.3,0.1.0-rc.6,0.1.0-rc.7,0.1.0-rc.8,0.1.1-rc.1,0.1.1-rc.2,0.1.2-rc.1,0.1.5-rc.1,0.1.5-rc.2,0.1.5-rc.3,0.1.7-rc.1,0.1.7-rc.2,0.2.0-rc.1,0.2.0-rc.2— доказательства в.compat-results/
Происхождение и благодарности (как есть)
Режим чтения в реальном времени взят из dsh-better-display: потоковый рендеринг от апстрима aa2246740, хореография сворачивания процесса и официальный мост, улучшенные форком drscrewdriver. Этот проект не переписывал его конвейер рендеринга и анимаций.
Панель сообщений взята из dsh-tidychat: canvas-панель, рыбий глаз при наведении, цветовая цепочка и умная загрузка истории — это порты, улучшенные в compat-линии drscrewdriver (белое свечение, паритет со steering, DOM как единый источник истины).
Недостатки исходного better-display и их исправление в этом проекте / форке
- Нет подложки под сообщениями и размышлениями — финальные ответы и текст рассуждений лежат прямо на фоне страницы, читаемость страдает при темах, обоях и тёмном оформлении. → Форк добавил ответам официальную полупрозрачную подложку пузыря
--dsw-alias-bg-layer-1, а карточке размышлений — ту же подложку (коммитыfa3a795,94d59c7). - Режим чтения теряет построчные якоря хоста —
data-chat-anchor-key/data-chat-flow-kindне выводятся вместе со строками сообщений, поэтому сторонние плагины, полагающиеся на этот контракт как на источник истины DOM (например, панель tidychat), в режиме чтения находят ноль строк и молча выходят из строя. → Исправление отправлено в апстрим как aa2246740/dsh-better-display#41; объединённый проект несёт тот же фикс. - Его TimelineRail — единственная панель с официальным оглавлением: без рыбьего глаза со сводками, без перехода по клику, без цветов.
Недостатки исходного dsh-tidychat и мотивы слияния
- Сворачивание / разделители — это DOM-хирургия, пересекающаяся со встроенным сворачиванием хоста (0.1.2+), пользователю приходилось вручную выбирать что-то одно.
- В v0.2.10 и ранее на хостах DSH 0.1.2 панель читала не тот снимок — она разрешалась в ноль ходов и фактически никогда не отображалась (исправлено в v0.3.0; см.
docs/RAIL-ROOT-CAUSE-ANALYSIS.mdв его репозитории). - Двусторонний конфликт с режимом чтения better-display: хирургия tidychat не действовала на строки режима чтения, а потерянные якоря режима чтения в свою очередь выводили из строя панель — это и стало прямой мотивацией слияния.
Благодарность обоим апстримам и их авторам (aa2246740, BananaSoldier01) — этот проект стоит на их плечах. Улучшения апстрима, не конфликтующие с проектом, будут подхватываться по мере возможности.
Совместимость с хостом
| Хост DSH | Режим чтения | Панель сообщений | Настройки |
|---|---|---|---|
0.2.0-rc.1+ (эта линия, compat/0.2.0) |
✅ | ✅ (оба режима) | 起子插件设置 → 整洁显示 |
| 0.1.7-rc.1+ (линия main) | ✅ | ✅ (оба режима) | 起子插件设置 → 整洁显示 |
| 0.1.5-alpha.1 ~ 0.1.6 (вкл. 0.1.5) | ❌ | ✅ (линия compat/0.1.5, тег v0.1.0-dsh0.1.5) |
карточка конфигурации плагина |
| 0.1.2-alpha.2 ~ 0.1.4.x | ❌ | ✅ (линия compat/0.1.2, тег v0.1.0-dsh0.1.2) |
карточка конфигурации плагина |
| 0.1.0-rc.7 ~ 0.1.2-alpha.1 (вкл. 0.1.1) | ❌ | ✅ (линия compat/0.1.1, тег v0.1.0-dsh0.1.1) |
карточка конфигурации плагина |
- Режим чтения привязан к слот-контракту хоста, своя база на каждую линию (эта линия: 0.2.0-rc.2; main: 0.1.7-rc.2 — хост имел breaking-изменения между 0.1.7-rc.1 → rc.2 → 0.2.0) и на старые хосты не переносится.
- Обратный перенос на старые хосты выполнен: подмножество панели (панель + свечение + цвета + умная загрузка) опубликовано на трёх compat-ветках, установка одной строкой вида
dsh plugin --profile web add github:drscrewdriver/dsh-tidy-display#v0.1.0-dsh0.1.5; после публикации в npm добавляются dist-тегиdsh-0.1.5/dsh-0.1.2/dsh-0.1.1. Перехват официальной панели линии 0.1.5 остаётся неподтверждённым на практике; 0.1.3 / 0.1.4 теоретически работают через линиюcompat/0.1.2, но не проверены. - Линия 0.2.0 (эта ветка): установка через
dsh plugin --profile web add github:drscrewdriver/dsh-tidy-display#v0.2.0-dsh0.2.0; после публикации в npm работает dist-tag:dsh plugin --profile web add [email protected]. - 0.1.0-rc.6 и ранее не поддерживаются (используйте dsh-tidychat 0.1.0).
- Матрица актуальна на 2026-09-30 (линия tidy-display v0.2.0 / better-display 0.3.3-fork.5 / tidychat 0.3.4).
Возможности
Режим чтения (из better-display)
- Шаги выполнения сворачиваются в раскрываемые сводки; финальные ответы отображаются пузырями сообщений (полупрозрачная подложка + опциональное матовое стекло, сквозь которое видны обои тем)
- У карточки размышлений та же полупрозрачная подложка; потоковое размышление может следовать за прокруткой, ставиться на паузу и раскрываться целиком
- Официальный мост: представления инструментов, отзывы, карточки артефактов, turnTail и прочее рендерятся через официальные слоты
- Блоки
```mcp-appмонтируются как интерактивные карточки в песочнице (<iframe sandbox="allow-scripts allow-forms">); пакет навыков вskills/generative-mcpapps/ - Строка артефактов, часы ожидания, эхо ожидающих действий; исходные «Диалог / Трассировка», поле ввода, выбор модели, инструменты и подтверждения остаются на месте
Панель сообщений (из dsh-tidychat)
- Canvas-панель навигации у края диалога: рыбий глаз при наведении со сводками, переход по клику, подсветка текущего хода при прокрутке
- Стили линии / точки, положение левый / правый край (зеркально)
- Белое свечение: мягкое свечение под маркером текущего и наведённого хода сохраняет читаемость даже на пёстрых обоях
- Цвета: цвет маркера и акцентный цвет — каждый со вариантами «Авто (следует теме, с автокоррекцией при недостаточном контрасте) / Своё (пипетка цвета + текст HEX/RGB + ползунок прозрачности)»
- Перехват официальной панели сообщений: скрывает официальный TurnNavigator у правого края (именно скрывает, а не демонтирует), оставляя только эту панель
- Работает в обоих режимах: встроенном «Диалог» и режиме чтения
Настройки
Все настройки собраны в Настройки → 起子插件设置 → 整洁显示 (Tidy Display): панель сообщений (включение / положение / стиль / свечение / перехват / цвета) + пузыри сообщений / полупрозрачное матовое стекло / автосворачивание / способ открытия артефактов. Конфигурация хранится в dsh.reader.v1.
Установка
⚠️ Взаимоисключение с
dsh-better-displayи@bananasoldier01/dsh-tidychat: все три регистрируют представлениеreader(тот же id, тот же приоритет) в списочном слотеconversation.view. Совместное включение приводит к сбою активации из-за повторной регистрации (клиент сообщаетentry did not activate, страница застревает на экране «Не удалось загрузить плагины»). Перед включением этого плагина удалите или отключите их.
Десктоп-приложение DSH Studio (рекомендуется)
Откройте Настройки → Плагины → Добавить плагин и введите имя пакета:
dsh-tidy-display
Web CLI
Опубликован в npm — устанавливайте по короткому имени:
dsh plugin --profile web add dsh-tidy-display
Работает и GitHub-адрес (compat-линии старых хостов ставятся по тегу, см. матрицу выше):
dsh plugin --profile web add github:drscrewdriver/dsh-tidy-display
Локальный каталог / tarball (разработка / локальный тест):
dsh plugin --profile web add ./dsh-tidy-display
dsh plugin --profile web add ./dsh-tidy-display-0.1.0.tgz
dsh.bundle фиксируется при загрузке: не вписывайте ту же строку insert вручную в cordis.patch.yml профиля (двойное монтирование); уже установленную копию удаляйте командой dsh plugin --profile web remove dsh-tidy-display. Для уже запущенного Web Host переоткройте Host один раз и обновите страницу.
Разработка
pnpm install
npm run typecheck
npm run build # собирает lib/ (в репозитории; гейту check-harness-compat нужен чекаут Harness)
npm test
Цель — DeepSeek Harness все rc с 0.1.0 по 0.2.0 (перечень — в блоке host-compat выше). Только отображение — исполнение Agent, SDK и учётные данные моделей не меняются. Node.js ^22.19.0 || >=24. Новые сессии по умолчанию открываются в режиме чтения.
Отношение к исходным проектам
Подробнее — вверху, в разделе «Происхождение и благодарности» — улучшения апстрима без конфликтов будут подхватываться по мере возможности.
Лицензия
Части отображения и Markdown взяты из DeepSeek Harness (MIT). Анимации навеяны Transitions.dev. Код этого репозитория — MIT.