eastbadman/dsh-gold-price:在 dsh 页面里放一个国内金价悬浮窗

前言

DSH 的理念是「一切皆插件」。日常在同一个 dsh 页面里跑任务时,经常需要对照金价:看国内现货、看延期品种、顺便跟伦敦金现比一下。传统做法是切到行情网站或浏览器另一个窗口,来回核对,回到页面再接着干活。eastbadman/dsh-gold-price 把这件事变成页面里的一个可拖动悬浮窗:行情实时刷新,位置可以固定在自己顺手的地方,不需要反复切窗口。

下面介绍这个插件的定位、功能、安装方式和运行原理。

这是什么

eastbadman/dsh-gold-price 是一个 DeepSeek Harness(dsh)插件,由 eastbadman 维护,属于社区目录里的「联网工具」分类。它解决的问题是:在 dsh 页面内直接显示国内黄金行情,包括沪金99.99、黄金延期、金条100g,以及伦敦金现对照。

插件以 dsh-gold-price 为包名发布,版本 1.0.0,Node 引擎要求 >=20,许可证为 MIT。

核心功能

插件在 dsh 页面里渲染一个悬浮窗,主要能力如下:

  • 国内三个品种:沪金99.99(SGE Au99.99 现货)、黄金延期(Au T+D)、金条100g,单位为元/克,涨跌按昨日结算价计算。
  • 伦敦金现对照:美元/盎司。
  • 红涨绿跌:按国内行情惯例,价格每次变动有红/绿闪烁提示。
  • 近 30 分钟走势线:针对沪金99.99,在页面打开期间累积数据绘制。
  • 20 秒自动刷新:页面隐藏时暂停,回到前台立即刷新。
  • 可拖动、可记忆:按住标题栏拖动,位置存入 localStorage,下次打开仍在原处;可折叠成小条。

数据来自新浪财经公开接口(上海黄金交易所 / 伦敦金现),仅供参考,不构成投资建议。休市期间显示最后收盘价,并标注行情时间;接口若调整,面板会显示获取失败并保留最后的缓存值。

安装与启用

安装走 dsh 的插件命令,需要指定 profile:

dsh plugin --profile <profile> add dsh-gold-price

也可以直接从 GitHub 安装:

dsh plugin --profile <profile> add https://github.com/eastbadman/dsh-gold-price

安装后无需重启,HMR 生效;如果页面没有出现悬浮窗,刷新一次页面即可。

典型用法

插件没有额外的配置项,装好之后在 dsh 页面里就会出现悬浮窗。日常用法就是直接看:

1、打开 dsh 页面,确认悬浮窗已出现。
2、对照国内三个品种的元/克报价和伦敦金现的美元/盎司报价。
3、需要时按住标题栏拖动到顺手的位置,位置会自动记住。
4、不看时折叠成小条,不影响页面其他操作。

幕后有两个部分在协作:

  • Host 半(Node)按需抓取 hq.sinajs.cn 的公开行情,带 Referer,15 秒缓存,无人在看时不会产生后台请求;随后通过 webServer.register() 暴露同源路由 /gold-price/ticker.json。
  • Client 半注册到 shell.overlay 插槽渲染悬浮窗,向上面的同源路由轮询,不产生任何跨域请求;样式全部使用 dsh 宿主主题 token。

新浪行情接口要求新浪域 Referer 且不返回 CORS 头,浏览器直连不可行,所以把抓取放在 Node 侧、再由同源路由转给前端,这是该插件的主要技术取舍。

适用场景与注意

适合需要在 dsh 页面里频繁对照国内金价的开发者和个人用户,尤其是希望不切窗口、不打断当前任务的场景。

需要注意几点:

1、插件以当前 dsh 进程的权限运行,安装前应先检查源码与许可证(该插件为 MIT)。
2、行情数据仅供参考,不构成投资建议。
3、数据源依赖新浪财经公开接口,接口调整时面板会显示获取失败,并保留最后缓存。
4、package.json 声明了 dsh.bundle.patch 指向 ./cordis.patch.yml,安装方式走标准的 dsh 插件通道,不涉及手动改动宿主。

结尾

这个插件的价值在于把金价查询收敛到 dsh 页面之内,无需另开窗口,同时用同源路由的方式规避了新浪行情接口的 CORS 限制。目录页在 https://www.skillhub.cn/plugins/eastbadman/dsh-gold-price ,源码在 https://github.com/eastbadman/dsh-gold-price 。

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

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

小夜