Chuyển đến nội dung chính

dsh-tidy-display

Đã xác minh

dsh-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.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 (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 и их исправление в этом проекте / форке

  1. Нет подложки под сообщениями и размышлениями — финальные ответы и текст рассуждений лежат прямо на фоне страницы, читаемость страдает при темах, обоях и тёмном оформлении. → Форк добавил ответам официальную полупрозрачную подложку пузыря --dsw-alias-bg-layer-1, а карточке размышлений — ту же подложку (коммиты fa3a795, 94d59c7).
  2. Режим чтения теряет построчные якоря хоста — data-chat-anchor-key / data-chat-flow-kind не выводятся вместе со строками сообщений, поэтому сторонние плагины, полагающиеся на этот контракт как на источник истины DOM (например, панель tidychat), в режиме чтения находят ноль строк и молча выходят из строя. → Исправление отправлено в апстрим как aa2246740/dsh-better-display#41; объединённый проект несёт тот же фикс.
  3. Его TimelineRail — единственная панель с официальным оглавлением: без рыбьего глаза со сводками, без перехода по клику, без цветов.

Недостатки исходного dsh-tidychat и мотивы слияния

  1. Сворачивание / разделители — это DOM-хирургия, пересекающаяся со встроенным сворачиванием хоста (0.1.2+), пользователю приходилось вручную выбирать что-то одно.
  2. В v0.2.10 и ранее на хостах DSH 0.1.2 панель читала не тот снимок — она разрешалась в ноль ходов и фактически никогда не отображалась (исправлено в v0.3.0; см. docs/RAIL-ROOT-CAUSE-ANALYSIS.md в его репозитории).
  3. Двусторонний конфликт с режимом чтения 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.