前言¶
在 DeepSeek Harness(DSH)桌面端里,左侧自带菜单条目会随版本和功能增加而变长。有些入口天天用,有些几乎从不点;开发或运维时,还常常希望从侧栏一键打开文档站、内网页面或本机项目目录。仅靠浏览器书签或系统快捷方式可以凑合,但和 DSH 窗口分离,切换成本高。
下面介绍社区插件 dsh-custom-menu(维护者 tan90tan90,分类为客户端)。它在不改动 DSH 核心的前提下,对侧栏做「装饰式」整理:隐藏或分组自带菜单项,并追加自定义入口(HTTPS 网页或本机绝对路径文件夹)。
这是什么¶
dsh-custom-menu 是面向 DeepSeek Harness 的侧栏整理插件。一句话定位:隐藏或分组 DSH 自带侧栏条目,并添加自己的菜单项——点击后在新标签页打开网页,或在资源管理器中打开本地文件夹。
配置与状态保存在浏览器 localStorage,不会写入 DSH profile 文件。插件以当前 DSH 进程的权限运行;安装前建议阅读 GitHub 仓库 源码与 MIT 许可证。
生态上,DSH 采用「一切皆插件」思路;SkillHub 目录页 等社区站点与 DeepSeek / 幻方无官方从属关系,本文仅作第三方插件说明。
核心功能¶
自定义菜单¶
在侧栏增加自建条目,创建后可编辑名称、地址和图标。开启「排序」后支持拖拽调整顺序。
支持的地址形式包括:
https://…等 HTTP(S) 链接(在新标签页打开)- 本机绝对路径,例如
D:\Folder - Windows 网络路径,例如
\\server\share
本地文件夹通过宿主机路由 POST /dsh-custom-menu/open 打开:只接受存在的绝对路径,参数以数组传递、不做 shell 插值;Windows 使用 explorer.exe,macOS 使用 open,Linux 使用 xdg-open。
侧栏调整¶
对 DSH 自带侧栏条目可以:
- 归入可折叠分组,自定义分组名称与图标;点击分组弹出浮层列出组内条目(类似内置「更多」菜单的交互)
- 单独隐藏不使用的入口(仅为视觉隐藏,功能仍可通过各自菜单触达)
- 内置「更多」行固定在侧栏底部
实现上,插件通过客户端装饰已渲染的侧栏列:不向 React 拥有的节点做 DOM 搬移,而是用 CSS order、display: none 以及自插入的分组标题行完成排序与隐藏;并用 MutationObserver 在界面重绘后重新应用,且对自身写入做了防循环处理。
安装与启用¶
在 PowerShell 中,使用 desktop profile 安装官方包名:
dsh plugin --profile desktop add dsh-custom-menu
若要从 GitHub 源安装,README 给出的命令为:
dsh plugin --profile desktop add github:tan90tan90/dsh-custom-menu
安装完成后重启 DSH,再打开 设置 → 自定义菜单 进行配置。package.json 中当前版本号为 0.9.0。
典型用法¶
- 安装并重启 DSH 后,进入 设置 → 自定义菜单。
- 自定义菜单:新增条目,填入显示名称与地址(文档 URL 或本机项目目录的绝对路径),按需改图标;需要时打开「排序」并拖拽调整顺序。
- 侧栏调整:将不常用的自带入口设为隐藏,或把相关自带入口收进同一分组并命名(例如按工作流分组);保存后观察侧栏与分组浮层是否符合预期。
路径与链接须符合插件限制:仅支持 http(s) 与绝对本地路径,不支持自定义 URI scheme。
环境与限制¶
要求:
- 带 Web 客户端的 DSH desktop
- Windows / macOS / Linux(打开文件夹的行为因平台而异,见上文)
已知限制(来自上游 README):
- 侧栏行通过标签文案定位;若 DSH 侧栏大改,可能需在
lib/client.js中调整KNOWN_LABELS。 - 仅支持
http(s)链接与绝对本地路径。 - 隐藏仅为视觉层面,被隐藏的入口仍可通过原有路径使用。
侧栏分组思路借鉴 HighToward/dsh-plugins-sidebar-manager;设置页通过宿主 settings.section 插槽注册,参考 Yuuyuko-uu/dsh-speak-up 与 DSH 的 window.__ModuleLoader__.load 客户端约定。实现为独立编写,未复制上述仓库代码。
结尾¶
dsh-custom-menu 适合希望把 DSH 侧栏收成「常用 + 分组 + 自选快捷方式」的桌面用户:自带项可藏可组,网页与文件夹可并排放在同一侧栏。查阅介绍与安装入口可见 SkillHub 目录页;源码、截图与安装说明见 GitHub:tan90tan90/dsh-custom-menu。