linhut / dsh-stock-terminal

已收录

股市行情皮肤+功能插件:DSH Web GUI 全局交易终端视觉 + 实时行情面板(A股/港股/美股/加密/外汇),自选跑马灯、首字母模糊搜索、持仓盈亏管理

main工具 查看源代码

安装

npx -y @deepseek-ai/dsh plugin --profile web add github:linhut/dsh-stock-terminal

此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。

README

维护者编写的文档快照。

在 GitHub 查看 ↗
提交版本 897e6c3同步于 2026年8月18日

📈 dsh-stock-terminal · 股市行情皮肤 + 功能插件

DSH Web GUI(DeepSeek Harness)行情皮肤与功能插件:全局交易终端视觉 + 实时行情面板。 自选跑马灯、首字母模糊搜索、持仓盈亏管理,A股 / 港股 / 美股 / 指数 / 加密 / 外汇一站式盯盘。

dsh-stock-terminal 截图

License Platform Version


✨ 功能亮点

能力说明
🎨 交易终端皮肤顶栏 K 线品牌 + 自选芯片 + 设置入口;红涨绿跌(亮/暗双主题);仿终端窗口外框
📢 实时行情跑马灯自选列表无缝循环滚动,hover 暂停;空自选时静默展示默认指数;点击任一品种弹出个股日K图(蜡烛 + MA5/MA10 + 成交量副图,红涨绿跌适配明暗主题,Esc/遮罩/✕ 关闭)
📈 个股 K 线弹窗A股/港股/指数走腾讯前复权日K;美股在腾讯数据不足时自动回退 Yahoo;加密货币走 Binance 日K;外汇提示暂不支持。服务端 /api/kline 60s 缓存 + 在途去重
🧭 自选列表增删 / ↑↓ 排序 / 移除;拼音首字母 + 代码 + 名称模糊搜索联想(如 gzmt→贵州茅台、600519茅台
💼 持仓管理代码 + 数量 + 成本价 → 现价 / 市值 / 浮动盈亏 / 盈亏率,底部汇总总市值 / 总盈亏 / 总盈亏率
⏱ 交易时段状态栏实时显示 A股 / 港股 / 美股 盘中·午休·盘前·休市
📊 指数快照上证 / 深成 / 创业板 / 恒指 / 道指 / 纳指实时快照
⚙ 双设置入口状态栏「设置」按钮 + 标题栏齿轮 + 面板内「设置」页签;DSH 系统设置侧边栏出现独立「股市行情」分区(可直接管理刷新间隔 / 自选 / 持仓)
🗃 数据持久化自选 / 持仓存浏览器 localStorage,重开不丢

📦 安装

本插件为 DSH Web GUI 外部插件,通过 home 层补丁单点挂载(详见 集成方式)。

# ~/.dsh/cordis.patch.yml(home 层,只写这一处,勿在多层重复写同一 id)
- insert:
    - id: ui-skin-stock
      name: '@linxin666/dsh-client-ui-skin-stock'

然后:

  1. 把本仓库克隆/复制为 ~/.dsh/profiles/web/node_modules/@linxin666/dsh-client-ui-skin-stock/
  2. 重启 dsh web(新增插件 entry 需要重启生效);
  3. 刷新浏览器 → 应看到股市主题与「行情」面板按钮。

卸载:删掉上面那一行 insert + 重启即可,不影响 DSH 本体(宿主 apply 全部 try/catch, 模块零第三方依赖,坏也只影响自身功能)。

🎯 数据源与符号语法

语法示例含义数据源
sh + 6 位sh600519 贵州茅台沪市 A 股 / 上证指数腾讯行情
sz + 6 位sz000001 平安银行 · sz399001 深证成指深市腾讯行情
hk + 5 位hk00700 腾讯控股 · hkHSI 恒生指数港股 / 恒指腾讯行情
us + 代码usAAPL 苹果 · usDJI 道指 · usIXIC 纳指美股 / 美指腾讯行情
大写组合BTCUSDT ETHUSDT加密货币(24h)Binance
AAA/BBBUSD/CNY外汇(美元等基准)Frankfurter

数据由宿主端聚合代理统一拉取(/plugins/dsh-stock/api/quotes,GBK 解码、超时降级), 浏览器零 CORS;代理不可用时自动降级为浏览器直连(与 Trading 皮肤同款逻辑)。

🔍 搜索联想

支持以下方式模糊匹配(取前 8 条):

  • 拼音首字母gzmt → 贵州茅台、csbm → 常山北明、zsyh → 招商银行
  • 代码600519000158AAPLBTC
  • 名称茅台苹果比亚迪…(中英文子串)

内置 130+ 常用品种词典秒出结果;词典未收录的品种自动走在线兜底—— 宿主代理新浪股票建议 API(/plugins/dsh-stock/api/suggest,GBK 解码、300ms 防抖), 任意 A股 / 港股 / 美股 / 指数输入代码、简称或拼音首字母即可联想。

键盘 ↑↓ 选择、Enter 添加、Esc 关闭。

📁 项目结构

dsh-stock-terminal/
├── lib/
│   ├── index.js      # 宿主端:行情聚合代理 /plugins/dsh-stock/api/quotes + 设置命名空间
│   └── client.js     # 浏览器端:皮肤 chrome + 行情面板(自选/持仓/设置)+ 搜索联想 + 系统设置卡
├── skin.json         # 皮肤注册元数据(id: stock,wiring: ui-skin-stock)
├── package.json      # DSH 插件包清单(dsh.client / dsh.bundle 元数据)
├── cordis.patch.yml  # 插件接线
└── README.md

⚙️ 集成方式

  • 插件接线只写一层(home 层 ~/.dsh/cordis.patch.yml),方便整体移除。
  • ⚠️ 切勿把同一 insert 同时写进 profile patch 与 home patch —— 两层叠加会产生重复 loader entry id,触发 DSH fail-loud 启动保护(曾因此导致 web 无法启动,务必遵守)。
  • 皮肤中心(dsh-client-ui-skin-center)可识别本皮肤(skin.json 位于 node_modules/@linxin666/ 下);其切换皮肤时可能将本行视为 legacy 皮肤行移除,重加该行即可。
  • DSH 系统设置侧边栏出现独立「股市行情」分区 —— 可管理刷新间隔、自选列表、持仓信息, 与面板内数据双向同步(同一份 localStorage 读写)。

🛠 技术要点

  • 红涨绿跌配色:up #e02e3d / dark #f23645,down #089981,平灰;深色主题整套 CSS 变量切换。
  • Intl.DateTimeFormat 按 Asia/Shanghai、Asia/Hong_Kong、America/New_York 实时判定交易时段。
  • 数据轮询 30s(可调 15/30/60s),ctx.effect 一次性收回所有 DOM / 定时器。
  • 客户端形态:window.__ModuleLoader__.load({ id, factory })exports.apply + exports.inject

🛡 可靠性设计(0.2.0)

  • 宿主端短 TTL 缓存 + 在途请求去重:quotes 5s / suggest 30s 缓存,并发同参数请求共享同一次上游拉取(上限 128 条防无界增长),多面板轮询也不会打爆上游。
  • 符号规范化SH600519 等大写市场前缀自动转小写(外汇对 USD/CNY 保持原样),不再被误判为加密货币或非法符号。
  • 轮询调度:客户端改为 setTimeout 链式调度(上一次完成再排下一次,慢响应不堆叠)+ 在途请求守卫;页面隐藏时暂停轮询,回到前台立即刷新。
  • 跑马灯不闪跳:行情刷新只原地更新数字,不重建 DOM,动画位置不被重置。
  • 联想防竞态:搜索建议加序号计数器,慢的旧请求不会覆盖新输入的结果;移除全局定时器泄漏。
  • 故障降级提示:全部数据源失败时 toast 一次性提示并自动重试;代理失败自动降级浏览器直连。
  • 设置双向即时生效:系统设置卡修改刷新间隔/跑马灯后,面板轮询与跑马灯立即重排(自定义事件同步)。

🧩 标签 / Topics

dsh-plugin · deepseek-harness · web-ui · skin · stock · 行情 · 跑马灯 · 自选股 · 持仓 · trading-terminal · ticker · longbridge-alternative(自研实现)

📄 License

Apache-2.0


由 linhut 维护。灵感来自 dsh-web-ui 全家桶的 Trading Terminal 皮肤,功能部分为自研自包含实现。

仓库信息

开发语言
JavaScript
许可证
NOASSERTION
最后更新
2026年8月18日 04:49

谨慎安装

请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。