DSH Plugins Marketplace

DSH Plugins

Plugins

/

Themes & Skins

/

dsh-chat-tidy

C

dsh-chat-tidy

Manifest valid★ 5

One stylesheet that retypesets the DSH conversation to measured Codex metrics: 14/22 px body, tighter headings, lists and blocks, a rounded quote bar, and Tidy Tables with a themed header, row/column

ToolsUI (client)SkillshasBundlePatch

dsh-chat-tidy

Tidy Chat aligns the DeepSeek Harness Web conversation page with the reading rhythm of a mature coding-agent client. Typography and spacing are measured from the Codex desktop app, then applied to DSH's own chat anchors. Tidy Tables completes Markdown tables with DSH-native component chrome. The Markdown renderer, theme, tool calls, reasoning, and session behavior are untouched.

简体中文

The DSH Web conversation page with Tidy Chat applied

What changes

ItemDSH defaultTidy Chat (Codex-measured)
Body16 / 28 px14 / 22 px
h1 – h624 / 22 / 20 / 16 / 16 / 16 px, weight 70024 / 20 / 17 / 17 / 15 / 15 px, weight 600
Heading margin32 px above, 16 px below20 px above, 10 px below
Block rhythm16 px11 px
List indent · item gap18 px · 6 px21 px · 8 px
Rule (hr)32 px28 px
Blockquote2 px square borderrounded 4 px bar, 18 px inset
TablesOpen edges; 15 / 25 px, 10 × 16 px cellsRounded component; themed header; row and column rules; 14 / 22 px, 8 × 12 px cells
Activity rows24 px, 14 / 24 px label22 px, 13 / 22 px label

The reading column stays at DSH's 748 px, because Codex measures ≈730 px — the existing width was already right. Two earlier over-tightenings are reversed: list items go back out to 8 px and horizontal rules to 28 px.

The heading ladder and body text before and after Tidy Chat

Tidy Tables

Tables now read as one component instead of a set of open horizontal rules. The shell uses DSH's own 12 px code-block radius and theme tokens; the header adopts the code-block banner surface and Codex's measured weight 600; short tables fill the reading column, while wide tables keep horizontal scrolling. No table content or alignment is rewritten.

The same Markdown table before and after Tidy Tables

Side by side

Both captures come from the same seeded session in the real assembled Web app, at the same viewport and device scale. The only difference between the two panes is the plugin stylesheet.

The same viewport before and after Tidy Chat

The same reply rendered end to end is 1411 px tall by default and 1127 px with Tidy Chat — 20 % less scrolling for identical content.

Full-height reply flow before and after Tidy Chat

Design posture

Tidy Chat is a stylesheet and nothing else. There is no preference, no Settings row, and no stored state — disabling or uninstalling the plugin is the off switch. It does not:

  • parse or sanitize Markdown;
  • replace conversation.chat.node renderers;
  • hide reasoning, context injection, or tool calls;
  • observe and rewrite React DOM nodes;
  • change model output, session logs, or host data.

Selectors use DSH's semantic anchors (data-chat-flow, data-chat-flow-kind, data-slot, data-disclosure-row, data-composer-card, data-turn-tail, data-time-hover-root), never generated CSS-module class names. Each one carries a leading body so it outranks the equal-specificity module default regardless of stylesheet order. Colors continue to come from --dsw-* tokens, so built-in themes and token-based theme plugins keep palette ownership. The table shell is found through the stable rendered structure below those anchors, never its generated class. See DESIGN.md for the measurement and component record.

Install

dsh plugin --profile web add github:ChuanTianML/dsh-chat-tidy

Restart dsh web. The new layout applies immediately.

The GitHub repository includes verified host and client bundles, so installation does not need to run a dependency build script or change pnpm's allowBuilds policy.

For local development:

dsh plugin --profile web add -w /absolute/path/to/dsh-chat-tidy

The -w flag is required because the Web profile is a pnpm workspace root.

Compatibility

  • Built-in light/dark themes: supported.
  • dsh-skin: compatible; Tidy Chat owns geometry while dsh-skin owns colors.
  • dsh-ux: both plugins change chat typography and flow spacing. Use one layout plugin at a time to avoid competing overrides.
  • Alternative conversation views: Tidy Chat only affects views that reuse DSH's semantic chat-flow anchors.

Colors keep coming from the host, so the dark theme changes geometry only:

The same stylesheet under the built-in dark theme

At 700 CSS px DSH collapses its own sidebar and the user-bubble cap falls back to 88 %, with no horizontal overflow:

The conversation at 700 px before and after Tidy Chat

The current implementation targets DSH >=0.1.0-rc.6. If DSH removes a semantic anchor, the unmatched rule becomes inert; it does not block rendering.

Development

Requires Node ^22.19 or >=24 and pnpm 11.

pnpm install
pnpm run check
pnpm run pack:check

pnpm run check runs strict typechecking, ESLint, Vitest, both host/client builds, and a generated-bundle freshness check. The tests cover stylesheet reference counting, anchor and specificity discipline, stable table-shell targeting, table component rules, and complete disposal.

See VALIDATION.md for measured browser results.

Privacy and security

The plugin makes no network requests and stores nothing. Report security issues as described in SECURITY.md.

License

MIT

Compatibility

DSH 0.2.1-rc.4: failedDSH 0.2.1-rc.3: failedDSH 0.2.2-alpha.2: failed

Versions

Latest versionPublishedSize
0.2.0——
0.3.0——
0.4.0——
0.4.1——

Comments

Loading…

Similar plugins

✦

No screenshots

dsh-chatgpt-style

by 137

ChatGPT-like conversation layout for the DeepSeek Harness Web client: a 768px centered column, right-aligned neutral bubbles for user turns, full-width assistant text at 16/28, and rounded code blocks

Themes & SkinsManifest valid

★ 0

JavaScript

Oct 16, 2026

dsh plugin --profile web add dsh-chatgpt-style

by Light-EI

DSH long-conversation render relief: injects one CSS rule (content-visibility) so off-screen message bodies and block formulas skip style, layout and paint.

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 2

MIT

JavaScript

Oct 24, 2026

dsh plugin --profile web add dsh-chat-perf-css

by huangfuren

Conversation outline panel for the DSH web surface: user questions as root nodes (index, time, tool count and text volume per turn) with the Markdown headings of assistant replies hanging beneath them

UI & ExperienceSessions & MessagesManifest valid

★ 2

MIT

JavaScript

Oct 15, 2026

dsh plugin --profile web add dsh-conversation

Reformats dsh session titles as "date | type | topic" (type and topic are summarized by a model from the full conversation), and hides unused sessions from the sidebar without deleting them.

Terminal & ClientsSessions & MessagesManifest valid

★ 2

↓ 275/wk

MIT

TypeScript

dsh plugin --profile web add dsh-session-title-pattern

by ml020

Wordless-styled WorkBuddy hero for DSH: replaces the blank-session brand mark and workspace picker while keeping the native composer.

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 0

MIT

TypeScript

Aug 31, 2026

dsh plugin --profile web add dsh-workbuddy

by AHGGG

Codex-style Side Chat for DeepSeek Harness — select text, ask follow-up questions in a focused side conversation, and keep the main chat uninterrupted.

UI & ExperienceManifest valid

★ 14

↓ 178/wk

MIT

JavaScript

Oct 26, 2026

dsh plugin --profile web add @ahggg/dsh-side-chat