Chuyển đến nội dung chính

dsh-webui-stock-ticker

Đã xác minh

dsh-webui-stock-ticker · v0.1.1 · MIT · Giao diện web

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

Cài đặt

dsh plugin add dsh-webui-stock-ticker

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.

Thẻ

Tác giả

Readme

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