DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

dsh-panel-collapse

Panel Collapse

在 DeepSeek Harness 侧边栏中添加一个页脚按钮,用于折叠或展开全局面板列表。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:RiddanceY/dsh-panel-collapse#40dc5251f4d7643502cfc37df349879c8b1a38ca
README兼容性版本

兼容性与来源证明

Panel Collapse 以 dsh-panel-collapse 发布,当前版本为 1.0.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/20

版本

1.0.0stable
2026/10/20

相关插件

正在加载相关插件…

最新版
1.0.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/21
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundle新的用户提示到达时刷新会话标题。Personalized Recommendations@deepseek-ai/dsh-personalized-recommendations回答下方以卡片形式提供个性化页面和内置插件推荐Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层

README

dsh-panel-collapse

A tiny DeepSeek Harness plugin that adds one button to the sidebar footer, next to the settings control, which collapses or expands the global panel list (Plugins, Scheduled tasks, Context insight, Memory, … and any other plugin that registers a sidebar panel).

Collapsing frees the vertical space the panel rows occupy, so the workspace and session list gets more room. The state is remembered per browser profile and survives restarts.

icon

Install

dsh plugin --profile <your-profile> add dsh-panel-collapse

Restart the app afterwards — DeepSeek Harness only loads a new client module generation on startup, so the button will not appear until you relaunch.

From source

git clone https://github.com/RiddanceY/dsh-panel-collapse.git
dsh plugin --profile <your-profile> add "link:/absolute/path/to/dsh-panel-collapse"

link: makes the profile point at the clone instead of copying it, so git pull is enough to update and there is nothing to reinstall.

To remove it:

dsh plugin --profile <your-profile> remove dsh-panel-collapse

--profile must come immediately after plugin; dsh plugin add x --profile y is rejected with required option '--profile' not specified.

Usage

The button sits in the sidebar footer, to the right of the existing icon buttons.

  • Expanded (default) — shows a "collapse" chevron pair; clicking hides the panel list.
  • Collapsed — shows an "expand" chevron pair; clicking brings the list back.
  • In the collapsed (rail) sidebar the button grows to 36×36 to match the host's rail buttons.
  • The current state is stored in localStorage under dsh.panel-collapse.collapsed.

How it works

The plugin is a client-side bundle only — index.js is an empty host half, all the work happens in client.js, which the app loads lazily via window.__ModuleLoader__.

  1. apply(ctx) registers the panel-collapse locale namespace (zh, en) as a context effect, so the dictionary is disposed when the plugin unloads.

  2. It registers one entry in the sidebar.footer.action list slot with id: "panel-collapse" and order: 40, which puts it after the built-in Cordis panel button.

  3. The component keeps a boolean in React.useState, mirrored into localStorage, and renders a <style> element while collapsed:

    nav:has([data-slot="sidebar.panellist"]),
    nav[aria-label="全局面板"],
    nav[aria-label="Global panels"] { display: none !important; }
    

    The first selector is the locale-independent one: every panel row hosts a sidebar.panellist outlet, so the nav that contains them is exactly the panel group. The other two are a fallback that keys off the host's own accessible names.

No host code is imported, patched or monkey-patched. The button reuses only the public --dsw-alias-* / --dsw-radius-* / --dsw-focus-ring-* theme tokens, so it follows the light and dark themes and the sidebar's wide/collapsed states.

Compatibility

DeepSeek Harness>=0.2.0-rc.2
Client slots usedsidebar.footer.action (list)
Runtime dependenciesnone (React is taken from the app's module table)

Development

The package is plain ESM with no build step. client.js is the shipped artifact.

node --check client.js
node scripts/smoke.mjs    # loads the module with a stub loader + React shim
node scripts/verify.mjs   # full static verification (manifest, locale, slot, render tree)

scripts/verify.mjs also checks the install state when the package is linked into a profile (node_modules/<name> + dsh.profile.bundles); it skips those checks otherwise. Set DSH_PROFILE_DIR to point it at a non-default profile.

These scripts are static checks. They do not prove the button looks right on screen — that still needs a human looking at the running app.

Local iteration

dsh plugin --profile <your-profile> add "link:/absolute/path/to/dsh-panel-collapse"

link: makes the profile point at this directory instead of copying it, so edits to client.js take effect on the next app restart without reinstalling.

Known limitations

  • The panel group is hidden with CSS, so the host still believes the panels are mounted. That is intentional — it keeps the toggle independent of host internals and reversible without a reload — but it means the collapse is purely visual.
  • The :has() selector requires a reasonably modern Chromium, which the desktop app is built on. The two aria-label fallbacks do not depend on it.
  • Collapsing hides all rows of the panel list, including rows added by other plugins. That is the point of the feature; there is no per-row filtering.

License

MIT