dsh-harness-jarvis:桌面悬浮助手与粒子光球

DSH Desktop 的理念是「一切皆插件」。开发者在调试或运行智能体时,常遇到权限请求需要切回主窗口、对话需要打开特定工具打断工作流的场景。贾维斯是一款常驻桌面的悬浮窗助手,也是一只有状态的桌面宠物。它以 Metal 粒子光球为载体,允许用户快速审批权限、使用全局快捷键随时唤出对话面板,实现桌面层面的交互闭环。该项目由 CroissanTTs 维护,当前版本为 0.7.1,采用 MIT 许可证。

核心功能

权限审批
当 DSH 弹出权限请求时,悬浮窗会出现审批卡片。面板与 DSH 主窗口竞答,先到者生效。支持一键选择「允许 / 拒绝 / 总是允许(此工作区)」。

悬浮式对话
默认全局快捷键 ⌃⌥J 可唤出快速输入条,随时开始对话。对话记录内嵌在面板中,展开输入区即可查看。

语音问候
启动时贾维斯会出声打招呼。问候语与发音人可配置。悬停光球可静音。

桌面形象
本体为 Metal 粒子光球。具备五种状态动效(待机、思考、说话、等待、出错)。支持贴边融变收纳,悬停唤醒。

安装与启用

插件提供源码安装方式。宿主环境建议 Node.js 22.18+,面板需要 macOS 14+ 与 Swift 6 工具链。

  1. 从仓库根目录构建项目:
npm ci
npm run build
(cd macos && ./build.sh)
  1. 在你使用的 DSH profile 的 package.json 中合并以下条目(把路径换成此仓库的绝对路径):
{
  "dependencies": {
    "dsh-harness-jarvis": "link:/absolute/path/to/dsh-harness-jarvis"
  },
  "dsh": {
    "profile": { "bundles": ["dsh-harness-jarvis"] }
  }
}
  1. 在 profile 目录执行 pnpm install 解析 link: 依赖。

典型用法

重启 DSH 后,屏幕上会出现悬浮光球。按 ⌃⌥J 唤出输入条即可开始对话。当 DSH 弹出权限审批时,面板会出现审批卡片,点击即可处理。悬停光球可控制声音;展开输入区可查看对话记录。

适用场景与注意

本插件原生面板仅面向 macOS 14+。安全审查与真机验收未完成,暂不声称已通过发布安全验收。

数据存储
审批记录、日志与语音缓存默认保存在本机 ~/.dsh/jarvis,没有云端存储。

隐私与权限
本机存储不等于离线处理:所配置的模型服务会收到对话上下文,内置 edge-tts 会把播报文本发给 Microsoft 语音服务。插件不申请 danger-full-access;快捷键走 Carbon RegisterEventHotKey,不需要辅助功能按键监听;当前没有麦克风录音。

结语

贾维斯旨在通过悬浮窗与桌面宠物形态,降低 DSH 日常交互中的切换成本。它不改变 DSH 的核心逻辑,而是提供一种常驻的、可视化的交互层。相关文档与源码可在其目录页与 GitHub 仓库查看。

羽毛球分组比赛记分
小程序二维码

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

小夜