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
L

dsh-layout-memory

Layout Memory

DSH Web 插件:在重新加载或重启后记住左侧边栏和右侧面板的宽度,并根据当前框架宽度调整右侧面板。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:AkotaP/dsh-layout-memory#bdeb879afcad3544bb9d131a86f1f75fc9156955
README兼容性版本

兼容性与来源证明

Layout Memory 以 dsh-layout-memory 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.1.0stable
2026/10/25

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
未声明
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/25
查看源码 ↗
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回答下方以卡片形式提供个性化页面和内置插件推荐Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义

README

dsh-layout-memory

English | 中文

DSH(DeepSeek Harness)Web 插件:记住左侧边栏与右侧面板的宽度,刷新或重启后恢复。

解决的问题

DSH 的布局壳(@deepseek-ai/dsh-client-ui-layout)把两侧宽度放在瞬时状态里:

  • 左栏初值 280px,clamp 到 264–420px;刷新、重启、收起再展开都会回到默认值。
  • 右栏初值 null,首次打开取视口 45%,clamp 到 300px–视口 70%;刷新、重启后回到默认值。
  • 右栏的打开状态由 DSH 按会话持久化(dsh.sidebar-right.v1.<sessionId>),所以重启后可能面板仍打开、宽度却已被重置。

插件只记忆宽度,不改打开状态、标签页或分栏。

行为

  1. 记录:监听两侧拖拽手柄([data-side="sidebar"|"rightbar"])的 pointerdown / pointerup,手势结束后读取布局壳内联 grid-template-columns 的稳定列宽。
  2. 恢复:启动时把存储的宽度写回布局 store 的 setSidebar() / setRightbar(),与拖拽手柄走同一条 action。
  3. 收起再展开:监听 frame 的 data-sidebar-collapsed 属性,重新展开时重新应用记忆宽度(原生行为是回到 280px)。
  4. 分辨率:只存绝对 px,恢复时交给布局壳原生 clamp,不做比例缩放。

存储

localStorage 单键 dsh.layout-memory.v1:

{ "v": 1, "left": 340, "right": 900 }

存储不可用(隐私模式、配额)或 JSON 损坏时,只关闭记忆,不影响页面。

安装

安装会修改 %USERPROFILE%\.dsh 下的 profile 配置,请确认后执行。支持 HMR 的 profile 通常会自动重组;不要自动重启 DSH 或打断正在运行的会话。

仓库:https://github.com/AkotaP/dsh-layout-memory

从插件页安装:侧边栏「插件」→「添加插件」,填入仓库地址 https://github.com/AkotaP/dsh-layout-memory。DSH 会先用 git ls-remote 探测仓库,再交给 pnpm;装完确认列表里该插件为启用状态。

命令行安装:

dsh plugin --profile desktop add https://github.com/AkotaP/dsh-layout-memory

让 agent 安装(把下面这段发给 DSH 里的 agent):

把 https://github.com/AkotaP/dsh-layout-memory 装进当前 DSH 的 desktop profile:用侧边栏「插件」页的「添加插件」,或 dsh plugin --profile desktop add https://github.com/AkotaP/dsh-layout-memory。装完确认 profile 的 dsh.profile.bundles 里包含 dsh-layout-memory,并确认插件页能看到该插件;只有宿主明确要求时才询问是否重启,不要自动重启。

本地开发(link 方式,源码改动实时生效):

$profileDir = $env:DSH_PROFILE_DIR   # 例如 ~/.dsh/profiles/desktop
$repo       = "E:\Data\Project\dsh\dsh-layout-memory"

# 1. profile package.json 的 dependencies 中加 link:
#    "dsh-layout-memory": "link:E:/Data/Project/dsh/dsh-layout-memory"
# 2. dsh.profile.bundles 中加入 dsh-layout-memory
# 3. 建立链接
New-Item -ItemType Junction -Path "$profileDir\node_modules\dsh-layout-memory" -Target $repo

包内 cordis.patch.yml 已带 insert 行,不要再往 profile patch 里重复添加。

装好后可用宿主的只读健康路由确认(端口以实际 DSH Web 服务为准):

curl http://127.0.0.1:<DSH-Web-端口>/dsh-layout-memory/health   # {"loaded":true}

卸载:在插件页卸载,或 dsh plugin --profile desktop remove dsh-layout-memory,并确认 dsh.profile.bundles 中已移除。

验证

  1. 把左右宽度拖到明显非默认的值;
  2. 刷新页面(F5),或退出 DSH 后重新启动;
  3. 预期:左栏恢复拖动宽度;右栏若上次打开则打开并恢复宽度(打开状态由 DSH 自己决定);
  4. 收起左栏再展开,宽度应为记忆值,而不是 280px;
  5. 改变窗口大小后重启,右栏仍保持记忆的绝对 px,并被原生 clamp 到视口 70% 以内。

离线测试:

cd E:\Data\Project\dsh\dsh-layout-memory
node --test --test-isolation=none

限制

  • 依赖非公开字段:宽度 action 不在 ctx.layout 的公开接口里(ILayout 只有面板切换)。插件通过 LayoutController 实例上的私有 panels 字段取 setSidebar / setRightbar,并做特性检测;未来布局包若移除该字段,插件会降级为只记录不恢复,并在控制台警告。
  • 宽度偏好是全局的,不按会话区分;右栏打开状态仍按会话。
  • 全屏右栏不记录:全屏时宽度为 100vw 且没有手柄,插件不会覆盖。
  • 多窗口共享同一个 localStorage 键,后写覆盖先写(DSH 桌面通常单窗口)。
  • 右栏不做跨分辨率比例缩放:宽度保持绝对 px,由原生 clamp 适配当前窗口,与直接拖拽的行为一致。
  • 视口宽度小于 1024px 时左栏由 DSH 自动收起;插件只在用户手动展开时恢复宽度。

回滚

从 dsh.profile.bundles 移除 dsh-layout-memory,删除 node_modules 下的链接;如需清除记忆,再删除 localStorage 的 dsh.layout-memory.v1。

兼容性

  • Node.js >=20
  • DSH >=0.2.1-rc.2