dsh-quick-panel-mac:在 macOS 上把 DSH 收成浮岛与常驻面板

前言

用 DSH Desktop 做长对话或盯多轮任务时,主窗口往往被别的应用盖住:待办写在备忘录里、提醒靠系统闹钟、新消息只能反复切回 DSH。DSH 的对话页本身能承载输入与历史,但缺少一块始终贴在工作区边缘、又能和 Host 同步状态的轻量入口。下面介绍维护者 cinewave0 发布的客户端插件 dsh-quick-panel-mac(当前正式版 1.0.4):在 DSH 窗口内提供浮岛与下拉面板的快捷入口,并可选拉起基于 Electron 43.x 的独立小应用,把待办、提醒、实时消息、快速输入和审批接管集中到同一套 UI。Windows 版在独立仓库 cinewave0/cinewave0-dsh-quick-panel 发布;本仓库组合包声明 dsh.bundle.platforms: ["darwin"],在 Windows 上不会出现也不会被启用。

这是什么

dsh-quick-panel-mac 是 DSH Desktop 的快捷面板插件,包名 dsh-quick-panel-mac,分类为客户端插件。它在 Host 半区提供共享存储与本地 API,在 DSH 客户端注入侧边栏入口;另有一套可常驻桌面的 Electron 伴生窗(默认顶部浮岛 360×48,展开后面板宽 440)。组合包仅面向 macOS;分发渠道为 GitHub Releases 与本仓库自建的 Discover 索引,不发布 npm。

适用环境:

  • macOS 12+(独立小应用依赖 Electron 窗口 API)
  • DSH Desktop(Host 半区需要 webServer 与 sessionController)
  • 插件声明的 DSH 版本:engines.dsh 为 >=0.2.2-rc.1 <0.3.0

核心功能

DSH 窗口内

  1. 侧边栏底部按钮进入快捷面板:顶部浮岛,下拖展开面板。
  2. 浮岛显示最新一句文案、时间与运行状态指示。
  3. 面板分区:待办、提醒、实时消息、底部快速输入。
  4. 待办左侧勾选会把条目填入 DSH 输入框(不自动发送);条目按当前显示顺序带 1. 2. 序号。
  5. 提醒支持翻页时钟、重复与提示音。
  6. 实时消息区分用户 / 助手 / 推理 / 代码 / 工具 / 错误,支持流式光标与上滚加载更早;用户消息中的图片以缩略图展示(由 Host 按当前对话附件引用读取)。
  7. 面板时钟区域可显示余额、本次 token 与输出速度、近 30 日本机会话 token 近似总量;通知条记录审批请求、轮次结束、提醒到点等(最近 20 条,审批可跳回审批卡)。

独立小应用(Electron)

从 DSH 面板底部点「打开独立面板」启动。首次打开时 Host 会自动下载、校验并安装 Electron 43.3.0(约 120 MB,arm64 / x64),无需 dsh-pet,也无需手工解压(离线环境可关闭自动下载并手动放到 ~/.dsh/electron,见下文环境变量)。

独立窗行为要点:

  • 浮岛置顶、默认不占 Dock;点文字或 ⌃ 展开面板;拖左侧 ⠿ 移动位置;点 X 仅收起到浮岛。
  • 菜单栏托盘:打开面板、收起到浮岛、退出(托盘退出才结束进程)。
  • 可拖入图片或文件,上传后随下一条消息发送;单条最多 20 个附件。
  • 面板高度可拖窗口上下边缘调整(首次展开约 720,之后记住高度);宽度固定 440。
  • DSH 页面可见时权限由 DSH 内建卡处理;页面隐藏或最小化时由独立窗接管审批,回到 DSH 可见后交还;可勾选「审批锁定在外部面板」强制在外部面板处理。
  • DSH 的 1/2/3 选项问题会镜像到独立窗;「实时消息」与「在线」之间的 1–5 数字对应最近 5 个会话,点数字在 DSH 中发起切换(由页面内插件轮询处理)。
  • 离开 DSH 对话页约 5 秒后,实时消息改由 Host 镜像;流式 partial 仍依赖 DSH 对话页。

DSH 内与独立窗共享待办、提醒、设置等状态,默认落在 $DSH_HOME/quick-panel/state.json(DSH_HOME 在 macOS 上一般为 ~/.dsh)。

安装与启用

本项目提供三种安装方式;安装或更新后必须用 ⌘Q 完全退出 DSH,确认 Dock 图标消失后再打开。只关窗口或刷新页面不会加载插件的页面部分;首次安装若出现「Host 未连接」,按同样方式重启即可。

方式一:DSH 插件市场(Discover)

插件 → 发现 → 添加索引源:

https://cinewave0.github.io/dsh-quick-panel-mac/market/index.json

在发现页搜索 Quick Panel 安装。索引默认安装 1.0.4 正式版。

方式二:Release 包

从 Releases 下载 dsh-quick-panel-mac-1.0.4.tgz,用随附 SHA256SUMS 校验后,在 DSH 插件页填写 tgz 的绝对路径;若环境中有 dsh CLI,可执行:

dsh plugin --profile desktop add /绝对路径/dsh-quick-panel-mac-1.0.4.tgz

方式三:指定 git commit

dsh plugin --profile desktop add "git+https://github.com/cinewave0/dsh-quick-panel-mac.git#<commit>"

重新打开 DSH 后,第一次点「打开独立面板」会触发 Electron 运行时的一次性安装。若需自定义下载源或禁用自动下载,可在重启 DSH 前设置环境变量(节选 README 原文):

# 自定义 Electron 镜像根目录(需含 43.3.0 对应 zip)
export DSH_QUICK_PANEL_ELECTRON_MIRROR=https://your.mirror/electron

# 指向已有 Electron 可执行文件
export DSH_QUICK_PANEL_ELECTRON=/path/to/Electron

# 关闭自动下载,改用手动安装到 ~/.dsh/electron
export DSH_QUICK_PANEL_NO_RUNTIME_DOWNLOAD=1

启动失败或下载异常时,可查看 ~/.dsh/quick-panel/helper.log。

典型用法

  1. 安装并完成 ⌘Q 重启后,在 DSH 侧边栏点快捷面板,从浮岛下拖打开面板,在底部输入框旁管理待办与提醒。
  2. 需要边写代码边盯对话时,在面板底部点「打开独立面板」,把浮岛拖到屏幕顶部,展开面板查看实时消息;待办勾选后内容进入 DSH 输入框,在 DSH 或独立窗中确认发送。
  3. 独立窗中把文件拖到输入区上方附件条,发送带附件的消息;在「实时消息」下方用 1–5 切换最近会话(需保持 DSH 客户端插件加载,请求约 2.5 秒轮询,最长 30 秒过期)。
  4. 审批流:DSH 最小化时在外部面板直接批准工具调用;若希望始终在独立窗处理,勾选「审批锁定在外部面板」。

修改 client.js 或 panel/ 资源后刷新 DSH 或重开独立窗;修改 index.js(Host)或 runtime/electron-helper/ 后需重启 DSH 或按 README 说明退出独立窗再开。

适用场景与注意

适合谁:长期在 macOS 12+ 上使用 DSH Desktop、希望待办 / 提醒 / 会话流与 DSH 输入框联动,并需要不抢 Dock 的置顶浮岛或托盘独立窗的开发者。

运行与权限:插件在 DSH 进程及其拉起的 Electron 子进程内运行,可访问 Host 提供的本地 API 与当前会话数据。安装前应在 GitHub 仓库 阅读源码与许可证,确认组织策略允许自动下载 Electron 二进制(约 120 MB)及桌面通知等行为。

平台与限制(README 已写明):独立窗未做 .app 签名打包;多显示器与跨 DPI 未完整验证;会话切换依赖 DSH 页面内插件;余额显示需登录 DeepSeek 账号,API Key 模式显示 —;通知中心数据在 DSH 重启换端口时可能清空。改本仓库代码前 README 要求先读 AGENTS.md:此处只维护 macOS 版,平台差异集中在 runtime/electron-helper/platform.cjs。

社区目录页 skillhub.cn 上的插件条目 与 GitHub 为同一项目的公开索引,与 DeepSeek / 幻方无官方从属关系;「一切皆插件」的安装与发现流程以 DSH 与社区索引为准。

结尾

dsh-quick-panel-mac 把 DSH 里常用的待办、提醒、实时消息和输入入口收到浮岛与面板,并在 macOS 上可选 Electron 独立窗与审批接管。若你已在用 DSH Desktop,可按 Discover 索引或 Release 包安装 1.0.4,记住 ⌘Q 全退重启后再试独立面板。

  • 目录页:https://www.skillhub.cn/plugins/cinewave0/dsh-quick-panel-mac
  • GitHub:https://github.com/cinewave0/dsh-quick-panel-mac
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜