跳到主要内容

dsh-webui-stock-ticker

已验证

dsh-webui-stock-ticker · v0.1.1 · MIT · Web 界面

A 股实时行情小插件 —— DeepSeek Harness Web 客户端插件。设置页「插件」分区新增「行情」标签页:现价 / 涨跌幅 / 分时迷你走势图,每 5 秒自动刷新。Realtime A-share quotes as a DSH Web settings tab (iframe-embedded zero-dependency widget).

安装

dsh plugin add dsh-webui-stock-ticker

dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南

源码

发布到 npm 但没有公开仓库。安装前请检查包内容。

标签

作者

说明文档

dsh-webui-stock-ticker

A 股实时行情小插件 —— DeepSeek Harness Web 客户端插件

在 Web 界面 设置 → 插件 分区新增一个「行情」标签页:内嵌零依赖单文件小部件,展示 现价、涨跌额/涨跌幅、分时迷你走势图与核心指标,每 5 秒自动刷新(红涨绿跌,A 股惯例)。

  • 数据源:腾讯财经(qt.gtimg.cn,CORS 开放,浏览器直连,无需代理)
  • 默认股票:sz002636(金安国纪)/ sz000506(招金黄金)
  • 小部件本体:单文件 HTML(本仓库 ../stock-ticker/index.html),构建时自动内嵌

安装(1 步)

dsh plugin --profile web add dsh-webui-stock-ticker

包声明了 dsh.bundledsh plugin add 会把它自动加入 profile 的 bundle 层并启用 (无需手改任何 YAML)。重启 dsh web,打开 设置 → 插件,即可看到「行情」标签页。

备选:npm / pnpm 直装后手动启用

若不用 dsh plugin,也可以 pnpm add dsh-webui-stock-ticker 后,在 profile 的 用户补丁层追加($DSH_HOME/profiles/web/cordis.patch.yml$DSH_HOME 默认 ~/.dsh):

- insert:
    - id: ui-stock-ticker
      name: dsh-webui-stock-ticker

本地验证

dsh plugin --profile web add ./dsh-webui-stock-ticker   # 本地目录
# 或
npm pack && dsh plugin --profile web add dsh-webui-stock-ticker-0.1.1.tgz

发布到 npm

npm login --registry=https://registry.npmjs.org/   # 需要 bypass-2FA 的细粒度令牌
npm version patch          # 每次改版先升版本号(npm 不允许覆盖已发布版本)
npm publish                # 构建由 prepublishOnly 自动执行

包名需全局唯一;发布令牌写在项目 .npmrc(已被 .gitignore 忽略,勿提交)。

收录进社区(让更多人找到)

市场 dsh-market 与官网 https://awesome-dsh-plugin.com 的 插件目录都来自精选列表 awesome-dsh-plugin/awesome-dsh-plugin提交方式:去该仓库提 PR,新增一个文件 data/plugins/<owner>__<repo>.yml(详见 docs/dsh-market-submission.md 与仓库的 contributing.md)。

提交前提(CI 自动检查):

  • 插件 GitHub 仓库创建满 1 天≥ 10 个提交、添加 dsh-plugin topic
  • npm 包 repository 字段指回同一仓库(市场防冒名校验)
  • 包声明 dsh.bundle manifest(本包已满足)

开发

零依赖构建(纯 Node,无需 tsdown / node_modules):

node scripts/build.mjs             # 一次性构建 → lib/client.js + lib/index.js
node scripts/build.mjs --watch     # 监听小部件与 src 变更自动重建
  • 小部件唯一事实来源:../stock-ticker/index.html(构建时内嵌并打一个 window.__STOCK_TICKER_CODES__ 补丁,允许父页面注入股票代码;原文件不受影响)
  • 浏览器侧插件主体:src/client.js
  • Host 侧入口:src/host.js(空 apply,仅让 Loader 能加载本条目)
  • bundle 补丁:cordis.patch.ymldsh plugin add 自动启用本插件)

工作原理(DSH 客户端插件契约)

  1. 包通过 dsh.bundle.patchcordis.patch.yml)把自己的 Loader 条目插入 profile 配置树,dsh plugin add 后自动生效;
  2. 浏览器半侧经 exports["./client"] + dsh.client 声明被宿主扫描进 window.__DSH_BOOT__ 模块图,经 window.__ModuleLoader__.load({id, factory}) 注册;
  3. 插件 inject: ["slots", "locale"]apply(ctx) 里用 ctx.slots.inject("settings.plugins.tab", …)dsh-client-ui-settings-plugins 声明该 slot 后,再 ctx.slots.register(definition, Component) 把「行情」标签页挂上去;
  4. 标签页组件用 <iframe sandbox="allow-scripts" srcdoc> 内嵌小部件——小部件保持零依赖,主题/样式完全隔离。

自定义股票

默认 sz002636,sz000506。改 src/client.js 顶部的 DEFAULT_CODES 后重新构建;组件也接受 codes prop。小部件本身仍支持 URL 参数(?codes=)在浏览器里独立使用。

更多文档

数据与免责声明

行情接口为第三方免费接口(腾讯财经),可能限流或变动;数据仅供个人参考,不构成投资建议。

License

MIT