DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Ui Easyfold — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@trujaycc/dsh-ui-easyfold

Ui Easyfold

Easy-fold plugin for the dsh Web GUI: sticky Think fold row and fold scroll compensation for long expanded content

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @trujaycc/dsh-ui-easyfold@0.2.0
READMECompatibilityVersions
Problem illustration: after expanding long content, the fold button scrolls out of the screen

Compatibility and provenance

Ui Easyfold is published as @trujaycc/dsh-ui-easyfold and currently resolves to version 0.2.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
9/20/2026

Versions

0.2.0stable
8/19/2026
0.1.0stable
8/18/2026

Related plugins

Loading related plugins…

Latest
0.2.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
10.2 MB
Files
9
Surface
web
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
66
Last push
8/19/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Better Sidebardsh-better-sidebarDSH web plugin: a VSCode-like right sidebar (explorer / editor / terminal / git / browser), isolated per conversation session. Exposes a service for other plugins to register sidebar tabs and file viewers.Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness Web 提供 Codex 风格侧栏、工作区会话树、全局搜索和轮次导航 · A Codex-style sidebar, workspace session tree, global search, and turn navigation for DSH WebDafeiyudsh-dafeiyuA desktop-native BigFish companion driven by DeepSeek Harness session events.Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)

README

@trujaycc/dsh-ui-easyfold

English | 中文

Easy-fold plugin for the dsh Web GUI: two browser-side behaviors that keep long expanded content easy to read and fold.

Problem

Some disclosure components have a reading ergonomics problem: when the folded content is very long, expanding it and scrolling down to read carries the fold button out of the screen; to collapse the content again, the user must first scroll back to the top of the content to reach the button, interrupting their reading position.

Problem illustration: after expanding long content, the fold button scrolls out of the screen

Plugin effect: after expanding, the fold row sticks to the top and is always ready to collapse

What the plugin does

Both behaviors run entirely in the browser:

  • Sticky fold row — while the content is expanded, the fold row pins to the top of the conversation scrollport, staying visible and clickable during reading; the pin releases by itself once the whole content has scrolled out, without changing the layout.
  • Collapse scroll compensation — folding a pinned component (click, Enter, or Space on the row) pulls the scrollport back to the fold row's position — the spot the pinned row occupied. The viewport stays at the component node instead of landing below it; a fold of a row already inside the viewport stays exactly in place.

Affected UI components

ComponentStatus
Think (reasoning fold row)Implemented
Other long-content fold componentsPlanned

Install

Requires a dsh deployment with the Web surface. Install into the profile you use for pnpm dsh web:

pnpm dsh plugin --profile web add @trujaycc/dsh-ui-easyfold

pnpm dsh plugin add installs the package into the profile and registers its bundle patch layer automatically (the profile manifest's dsh.profile.bundles gains the entry). Restart pnpm dsh web to compose the new row, then open the Web page.

To uninstall:

pnpm dsh plugin --profile web remove @trujaycc/dsh-ui-easyfold

Develop

pnpm install
pnpm run typecheck
pnpm test
pnpm run build    # emits lib/index.js and lib/client.js (ModuleLoader handoff)

The client bundle resolves react from the dsh Web loader's platform module table; the package declares no other runtime dependencies. To test a local checkout before publishing, install it by path or tarball:

pnpm pack
pnpm dsh plugin --profile web add ./trujaycc-dsh-ui-easyfold-0.1.0.tgz

Model Experience

None. Presentation-only client plugin: no host services, tools, or session events; nothing reaches a model request or the session log.

KV Cache effect

None.

Known Limitations and Deferred Work

  • Product DOM contract coupling — both behaviors hook the dsh Web chat DOM by its stable attributes (data-conversation-scroll, data-variant="think", data-open, data-disclosure-row). A product markup change silently disables them.
  • First scrollport only — the compensation targets the first data-conversation-scroll in the document; side-by-side session windows (subagent views) keep a single behavior owner.
  • Bounded commit patience — the compensation waits up to eight animation frames for the product's React commit; a deferred commit beyond that window skips the correction (no scroll damage, just no pull-back).