Skills Plugins MCP Prompt Model 导航 博客 资讯 我的中心
界面增强 #dsh-plugin#dsh-plugins

dsh-ui-easyfold

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

mrtrujay @mrtrujay ⬇ 2 ★ 0 main

安装

dsh plugin --profile web add github:mrtrujay/dsh-ui-easyfold
下载安装清单

需要可复现安装时,可在仓库后追加 #commit 固定提交。

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

该插件未提供要点说明,请参考仓库 README。

dsh-plugindsh-plugins
  1. 安装并启动 DeepSeek Harness:npx @deepseek-ai/dsh web
  2. 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
  3. 用 dsh plugins list 确认已安装,必要时重启 Harness 生效

插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。

代码仓库github.com/mrtrujay/dsh-ui-easyfold
许可证MIT
主要语言main
下载量2
GitHub 星标0
最近推送2026-08-19
收录日期2026-09-19
分类界面增强

事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。

以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。

# @trujaycc/dsh-ui-easyfold

English | [中文](README.zh.md)

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](screenshots/pic1.png)

![Plugin effect: after expanding, the fold row sticks to the top and is always ready to collapse](screenshots/pic1.png)

## 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

| Component                          | Status      |
| ---------------------------------- | ----------- |
| Think (reasoning fold row)         | Implemented |
| Other long-content fold components | Planned     |

## Install

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

```sh
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:

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

## Develop

```sh
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:

```sh
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).

数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。