dsh-plugin-stock:侧栏行情面板与可拖出悬浮窗

前言

在 DeepSeek Harness(DSH)里长时间跑任务或对话时,开发者往往希望在不离开工作台的前提下扫一眼自选标的涨跌。浏览器单独开行情站会占标签、也容易和主界面抢注意力。社区插件 nineberg/dsh-plugin-stock(包名 @local/dsh-astock-quotes)把沪深港美行情嵌进 DSH:左侧栏入口加中央面板负责查看与编辑自选,同一套数据还可从侧栏拖出成悬浮窗,并与插件灵动岛协议互通。下面按定位、能力、安装与配置说明其用法与注意点。

这是什么

维护者为 nineberg,仓库 nineberg/dsh-plugin-stock,许可证 MIT,当前 package.json 版本为 2.0.4,分类属客户端(dsh.client.platform: web)。插件对外描述为:A 股 / 港股 / 美股符号趋势——侧栏面板加可撕裂拖动的悬浮组件,支持分时与 5 日走势,兼容 Plugin Island。

一份数据、两种界面形态:

  • 侧栏面板:左侧栏「投资标的」入口,中央面板实时显示价格、涨跌幅与分时 / 5 日走势;搜索、增删标的仅在此处编辑。
  • 悬浮窗:将侧栏图标拖出侧栏即变为灵动岛式悬浮窗(圆点与卡片弹性形变、可拖拽);拖回侧栏可停靠还原。
  • 灵动岛联动:悬浮球通过原生拖放接入 @local/plugin-island 协议;拖到插件灵动岛上可收进岛内,灵动岛显示投资标的图标并可点开面板,侧栏图标拖到灵动岛同样有效。

行情由 Host 半经同源接口代理东方财富公开接口,浏览器只访问本机 /astock/*,不直连第三方,避免 CORS;无需 API 密钥。

核心功能

数据与接口

Host 半(index.js)注册同源 JSON 接口:

  • GET /astock/quotes:行情、分时、5 日走势
  • GET /astock/search:标的搜索

数据侧缓存策略(README 说明):报价约 3 秒、分时约 60 秒、5 日线约 3 分钟、搜索约 60 秒。涨跌幅颜色按 A 股习惯(涨红跌绿);系统开启「减少动态效果」时关闭形变动画。

交互要点

  • 拖出:按住左侧栏趋势图标向外拖,松手在落点弹出悬浮窗;单击仍打开面板。
  • 拖回:悬浮窗标题栏拖到左侧导航栏停靠;悬浮球(收起态)同样支持停靠、移位及拖到插件灵动岛。
  • 两态形变:圆点与卡片为同一外壳,约 700ms 弹性曲线形变;点左上角图标可收起,点圆点展开。
  • 数据一致:面板为唯一编辑面;悬浮窗只读,通过 astock-quotes:changed、storage 事件与 1 秒轮询兜底同步;分时 / 5 日选择在两边共享。悬浮窗默认显示 6 条,超出内部滚动,底部显示更新时间。

工程结构(便于读源码)

文件 作用
index.js Host:接口与东方财富取数、缓存
client.js Client:侧栏入口、中央面板、shell.overlay 悬浮窗
cordis.patch.yml 安装时插入的插件行与默认标的
locale/*.json 插件管理页名称与说明
icon.svg 插件管理页图标

安装与启用

官方 README 给出的安装方式为克隆仓库后以本地路径作为 bundle 装入 profile(勿臆造 dsh plugin add github:owner/repo 一类命令):

git clone https://github.com/nineberg/dsh-plugin-stock.git
# 将仓库目录作为 bundle 安装进 dsh profile(dsh plugin add <路径>),刷新 GUI 生效

安装后由 cordis.patch.yml 注入插件 id astock-quotes、名称 @local/dsh-astock-quotes。插件在 dsh.client 上为 immediately: true,刷新 GUI 后客户端侧应随即参与注册。

配套生态组件(README 链接):插件灵动岛、Obsidian 知识库记忆。灵动岛互通 MIME 为 application/x-dsh-plugin-island。

配置默认标的

cordis.patch.yml 中 config.symbols 为初始标的列表,仅在首次种子写入 localStorage;之后的增删以及形态、位置等状态均存本地。示例片段如下:

- insert:
    - id: astock-quotes
      name: '@local/dsh-astock-quotes'
      config:
        symbols:
          - sh600522   # 中天科技
          - sh688825   # 长鑫科技
          - sh600206   # 有研新材
          - sz000791   # 甘肃能源
          - sh000001   # 上证指数
        refreshMs: 8000

符号格式(与 README 一致):

  • A 股:sh600519、sz000791、bj430047
  • 港股:hk00700
  • 美股:us105:aapl(数字为东方财富美股板块号)

refreshMs: 8000 控制刷新间隔(毫秒),可按需要修改后重装或按 DSH 配置流程生效。

典型用法

  1. 安装并刷新 GUI 后,在左侧栏打开「投资标的」,在中央面板查看列表与走势。
  2. 在面板内搜索并增删自选;悬浮窗会同步只读展示,无需在悬浮窗内编辑。
  3. 需要将行情悬浮在编辑器或其它区域时,从侧栏向外拖动趋势图标,松手生成悬浮窗;用标题栏或圆点拖回侧栏还原。
  4. 若已安装 dsh-plugin-island,可将悬浮球或侧栏图标拖到插件灵动岛,在岛内以图标形式收纳,点击再打开面板。

适用场景与注意

适合:在 DSH 工作台内需要轻量盯盘、不想额外开行情站的开发者;已与或计划使用 nineberg 插件灵动岛、希望统一收纳悬浮插件的场景。

注意:

  • 插件以当前 DSH 进程权限运行,安装前应阅读 index.js、client.js 源码并确认 MIT 许可证与数据来源是否符合你的合规要求。
  • 行情依赖东方财富公开接口,可用性与字段以第三方为准;本插件不做投资建议。
  • DSH 社区目录 skillhub.cn 上的条目 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系;「一切皆插件」是 DSH 生态理念,并非官方应用商店。

结尾

dsh-plugin-stock 把同源代理的行情、侧栏编辑面板和可拖出悬浮窗收成一套客户端插件,并可与插件灵动岛拖放协议打通。需要进一步了解或提 issue 时,可访问目录页 https://www.skillhub.cn/plugins/nineberg/dsh-plugin-stock 与仓库 https://github.com/nineberg/dsh-plugin-stock。

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

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

Xiaoye