DSH 桌面 Widget Center: 原生 macOS 小窗与多实例管理

DSH(DeepSeek Harness)允许在本地运行智能体,常用于处理数据查询或作为长期驻留的助手。在开发或使用过程中,用户往往需要在桌面上获取实时信息(如股票行情)或查看便签,而非局限于对话框。现有的网页化方案体验割裂。DSH 桌面 Widget Center 插件提供了一种原生 macOS 小窗解决方案,通过独立进程在桌面上呈现数据。

插件概况

该插件由维护者 NattoCB 开发,名称为 nattocb/dsh-widget-center。它是一个 DSH 插件,核心功能是在桌面上管理任意多个原生 macOS 小窗。主要支持两种 Widget 类型:行情(shares)与便签(notes)。每个实例拥有独立的窗口、配置和生命周期,互不干扰。

核心功能

原生 macOS 桌面窗

Widget 以 NSPanel + WKWebView 的形式运行,表现为无边框、无 Dock 图标的原生窗口。窗口可以跟随所有桌面空间,支持任意位置拖动。右键菜单提供刷新、重置尺寸、置顶开关等操作。窗口是独立的 detached 进程,即使 DSH 重启,已打开的窗口也会继续运行。

多实例管理

插件支持多实例独立管理。用户可以在 DSH 设置 UI 的侧栏「Widget Center」页创建多个实例。例如,可以同时开多个行情窗口用于监控不同股票,或开多个便签窗口用于记录不同事项。实例的状态(运行中/已隐藏)和配置会即时持久化。

行情数据与工具

行情 Widget 支持多源数据提供者(腾讯、东方财富、新浪、Yahoo、Binance),按优先级自动 fallback。它支持 A 股、港股、美股、外汇及加密货币符号。
插件集成了 market_quote 模型工具。当会话中询问特定股票代码(如“现在 159845 多少”)时,Agent 可以调用此工具获取标准化报价。行情数据由 host 常驻进程直抓,零 token 消耗。

Type Studio 扩展

插件支持使用 Type Studio 创建新的 Widget 类型,为未来扩展更多功能提供了基础。

安装

在安装前,请确保系统已安装 swiftc(即 Xcode Command Line Tools),否则首次启动 Widget 时会报错。

dsh plugin --profile web add github:NattoCB/dsh-widget-center

使用方法

安装完成后,插件会添加到 DSH 的设置界面中。

  1. 在 DSH 设置 UI 侧栏找到「Widget Center」页面。
  2. 在列表中点击卡片上的「在桌面显示」按钮。
  3. 桌面会出现一个原生小窗。对于行情 Widget,会显示红涨绿跌的图表和价格;对于便签 Widget,会显示多行文本。
  4. 在 DSH 的对话会话中直接询问数据,例如:
    > 现在 159845 多少
    Agent 将调用 market_quote 工具返回当前价格。

注意事项与已知限制

  • 依赖:必须安装 Xcode Command Line Tools。
  • 期货符号:目前不支持期货符号(如 nf_CU0)。
  • 代理支持:仅支持 socks5 代理。
  • 接口限制:
    • 新浪接口需要固定 Referer 头,否则会 403。
    • 东方财富接口在高频访问时可能返回 502,插件内置了限频和重试机制。
  • License:MIT。

插件将配置文件保存在 $DSH_HOME/storages/widget-center/settings.json,支持通过 API 进行热更新。

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

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

小夜