DSH (DeepSeek Harness) web 控制台下的插件入口往往散落在侧栏或浏览器标签页中,频繁切换影响效率。dsh-plugin-palette-board 是一款基于 Raycast / Launchpad 风格的 2D 应用网格,通过悬浮面板将常用入口聚合,支持全键盘交互与本地化存储。
核心功能¶
- 全键盘交互:支持
⌘K/Ctrl+K/Alt+Space唤出,Esc关闭。进入面板后,使用方向键或 Tab 进行网格导航,回车执行。 - 本地化卡片目录:卡片数据固化在
~/.dsh/storages/palette-board.json,采用双段结构(entries用户手写卡片 +layout插件布局),刷新重启后原样恢复。 - paletteHub 服务化接入:为所有 client 插件提供半发布服务
ctx.paletteHub,支持软依赖接入,插件停止时不会影响宿主启动。 - 扫描收编:读取侧栏
sidebar.footer.actionslot 注册表,一键将侧栏入口转化为自定义卡片。 - 筛模式:提供漏斗开关,可隐藏失效卡片(如链接 404、不在侧栏的按钮),仅影响显示。
- 主题与尺寸:支持
fresh(纸感)与glass(玻璃拟态)双主题切换,以及紧凑/标准/宽大三档尺寸循环切换。 - 零依赖:运行时零依赖,
lib/构建产物随仓库提交,克隆即用。
安装与启用¶
- 克隆仓库。
- 编辑 dsh web profile 的
package.json,在dependencies中添加软链接:
"dsh-plugin-palette-board": "link:/path/to/dsh-plugin-palette-board"
- 在
dsh.profile.bundles数组中加入该插件名称。 - 执行安装:
cd ~/.dsh/profiles/web && pnpm install
典型用法¶
- 唤出面板:使用
⌘K/Ctrl+K/Alt+Space。 - 注册卡片:面板上的「注册」功能允许手写卡片或填入页面链接收编任意 web 页面。
- 扫描侧栏:点击「扫描」按钮,将侧栏底部的现有操作入口一键转化为调色盘卡片。
- 第三方接入:其他插件通过
ctx.inject(['paletteHub'], ...)注册卡片,无需主插件主动添加。
注意事项¶
- 依赖宿主版本:需要宿主 dsh web >= 0.1.2-alpha.1。
- 环境要求:需要 Node.js >= 20。
- 存储文件:卡片目录位于
~/.dsh/storages/palette-board.json。若文件损坏,host 会先备份再重置。 - 权限范围:插件运行于当前 DSH 进程权限下,安装前请检查源码。