Skip to content

dsh-liao-shelf

Verified

dsh-liao-shelf · v0.7.1 · MIT · Web UI

插件书架:优化 DSH 官方插件页的搜索、筛选、折叠、置顶、视图与安装信息。Plugin Shelf: visual organization for the native DSH plugins page.

Install

dsh plugin add dsh-liao-shelf

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Readme

插件书架 · dsh-liao-shelf

为 DeepSeek Harness 的插件页增加搜索、筛选和常用入口,让找到与配置插件更方便。

English

功能

  • 紧凑设置页:实时预览与常用控件并排,浏览偏好、置顶管理和备份按需展开;排序菜单在不同操作系统使用相同界面。

  • 描述、版本号和安装日期可分别开关;极简视图继续只显示 logo、名称、图钉和原生开关。

  • 可记住上次搜索和筛选;默认每次重新进入显示全部。

  • JSON 偏好备份包含显示设置、置顶顺序和折叠记录。导入先预览,合并保留当前显示设置,替换应用全部备份;支持撤销导入。

  • 官方、已安装和常用分组可以独立折叠,也支持全部收起/展开;状态保存在当前设备。搜索或筛选时临时展开,清除后恢复原状态。

  • 极简视图显示 logo、名称、置顶和原生开关;异常插件显示小角标及原因入口提示。紧凑/标准/宽松三档密度与设置预览共用尺寸。

  • 显示当前插件版本和安装时间(估算),支持安装时间从新到旧/从旧到新排序,未知项排在最后,置顶优先。

  • 搜索插件名称、描述和包名;多个关键词同时匹配,不区分大小写,支持全角字符。

  • 筛选全部、已安装、官方、已启用、已停用、置顶和异常插件,显示实际结果数量。

  • 图钉置顶使用稳定的包名或内置插件 ID;常用插件集中显示在列表上方,点击进入原生配置页。

  • 网格/列表/极简布局,紧凑/标准/宽松三种密度,名称、启用优先或原始顺序排序。

  • 两行描述和状态标记;停用状态保持文字可读性,异常插件有明确提示。

  • 设置面板提供实时预览、置顶管理、清空确认和恢复显示默认值。恢复默认不会清空置顶。

  • 跟随 DSH 的界面语言,支持中文和英文。

安装、启停、卸载和插件配置继续使用 DSH 原生操作。本插件仅增强 Web/桌面插件页,不调用包管理器或自动升级插件。新增的安装信息接口只读,使用 Node.js 内置模块,不增加第三方运行时依赖。

使用

安装后打开「插件」页面;点击图钉置顶,或在搜索框输入名称/包名。搜索框中的 Esc 清除关键词。

设置入口:插件 → 插件书架,或工具栏「更多」→「书架设置」,直接在详情页调整。

工具栏使用统一的 36px 控件、28px 筛选和 36px 菜单项。合并全部折叠/展开,低频操作集中在「更多」;菜单支持 Esc 关闭。Tab/Shift+Tab 按卡片显示顺序导航,跳过隐藏及折叠内容。置顶管理支持上移/下移,顺序同步到常用入口和置顶卡片;取消置顶后 8 秒内可撤销。

「增强插件列表」关闭后恢复原生列表;原生插件开关则用于停用整个插件。

「已启用/已停用」依据宿主发布的运行状态。没有启停开关的内置配置项标记为「内置」,不会被当作已启用插件。

安装

通过插件市场,或使用 GitHub 源安装:

dsh plugin --profile desktop add github:oliblue-evan/dsh-liao-shelf

GitHub 安装获取已推送的版本,本地工作区修改不会自动发布到 GitHub。

本地安装信息

安装时间来自 DSH 当前 Profile 中插件目录或链接的文件创建时间。DSH 没有提供历史首次安装记录,因此这个时间明确标为估算,反映当前副本落盘/链接创建的时间;更新、重装、复制或恢复备份都可能改变它。无法读取时显示未知,不用首次打开书架的时间填充。内置配置项没有安装时间。

书架启动时从只读的 /api/plugin-shelf/metadata 获取版本和时间,不返回本地路径。新增服务端入口需要重新加载进程;从 0.3.x 升级后应完全退出 DSH 再打开。

书架只读取本机已安装插件的版本和时间,用于展示与排序,不检测远端更新,也不依赖插件市场服务。

偏好与兼容

配置与置顶保存在当前浏览器的 localStorage:

  • liao-plugin-shelf.config
  • liao-plugin-shelf.pins
  • liao-plugin-shelf.browsing(仅开启记住搜索与筛选时保存;不随备份导出)

自动读取旧版配置。旧收藏在对应卡片出现时迁移为稳定 ID;无法匹配的条目保留,可在设置中移除。旧键保留,便于回退;新版本的修改不会同步回旧键。浏览器不允许保存偏好时,分别提示显示设置或置顶未保存,并继续支持本次会话使用。可点击「重试保存」保存当前值;其他项目保存成功不会误清除失败提示。

当前开发适配目标:DSH 0.2.1-rc.2 桌面版。使用 data-plugin-panel、data-plugin-group、data-plugin-package、data-plugin-item 和 data-plugin-status 识别原生界面,不依赖 CSS 构建哈希或翻译后的按钮名称。新版分组 basic、extensions 与 more 归入「官方」筛选,bundles 归入「已安装」;旧版 official 分组仍受支持。排序只调整 CSS 顺序,不移动宿主 React 节点。停用/热更新时清理增强元素、观察器、事件监听和槽位注册。

若宿主不再提供这些标记,无法识别的界面保持原样。TUI 不受影响。

开发验证

使用 Node.js 24 与 pnpm:

pnpm install --ignore-scripts
pnpm check
pnpm test
pnpm pack:check

回归测试覆盖搜索、筛选、收藏迁移、页面切换、设置、折叠、极简视图、时间排序、本地安装信息、储存失败和生命周期清理。宿主加载器场景读取本机官方应用包,核对精确版本后使用实际 ClientModuleSystem 加载客户端入口,并对照已审阅的交互记录。其他平台可设置 DSH_ASAR 指向对应版本的应用包;不可用时该检查明确跳过。

DOM 测试使用宿主结构 fixture,不替代真实 GUI 验证,也不覆盖其他宿主版本或浏览器引擎。发布前应另行完成隔离 Profile 冷启动与消费验证。

License

MIT