股市行情皮肤与功能插件:全局交易终端皮肤 + 跑马灯 + 个股 K 线弹窗(日K/周K/月K 切换)、自选拼音首字母模糊搜索、持仓盈亏管理、交易时段指示,支持 A股 / 港股 / 美股 / 加密货币 / 外汇。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:linhut/dsh-stock-terminal
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DSH Web GUI(DeepSeek Harness)行情皮肤与功能插件:全局交易终端视觉 + 实时行情面板。 自选跑马灯、首字母模糊搜索、持仓盈亏管理,A股 / 港股 / 美股 / 指数 / 加密 / 外汇一站式盯盘。
✨ 功能亮点
| 能力 | 说明 |
|---|---|
| 🎨 交易终端皮肤 | 顶栏 K 线品牌图标 + 标题 + 持仓摘要芯片 + 设置齿轮 + 仿终端窗口按钮;红涨绿跌(亮/暗双主题完整 CSS 变量切换);自定义 K 线 favicon 和页面标题 |
| 📢 实时行情跑马灯 | 自选列表无缝循环滚动,hover 暂停;点击任一品种弹出个股 K 线图(日K/周K/月K 可切换) |
| 📈 个股 K 线弹窗 | 日K / 周K / 月K 一键切换;蜡烛图 + MA5/MA10 均线 + 成交量幅图 + 价格/日期轴 + 网格 + 区间涨跌统计;Esc/遮罩/✕ 关闭;窗口 resize 自适应重绘;A股/港股/指数走腾讯前复权,美股腾讯不足时回退 Yahoo,加密货币走 Binance;服务端 60s 缓存 + 在途去重 |
| 🧭 自选列表 | 增删 / ↑↓ 排序 / 移除;拼音首字母 + 代码 + 名称模糊搜索联想(如 gzmt → 贵州茅台、600519、茅台),内置 130+ 品种词典 + 在线 API 兜底,键盘 ↑↓ Enter Esc 操作 |
| 💼 持仓管理 | 模糊搜索添加持仓(与自选同款联想体验);代码 + 数量 + 成本价 → 现价 / 市值 / 浮动盈亏 / 盈亏率,底部汇总总市值 / 总盈亏 / 总盈亏率;编辑 / 删除持仓 |
| 🏷 标题栏持仓摘要 | 持仓个股名称 + 涨跌幅按标题栏宽度自适应显示,超宽时自动收起为「等 N 只」+ 总盈亏芯片;窗口 resize 重新适配 |
| 📏 伸缩条 | 拖动面板顶部伸缩条调整面板高度(替代 CSS resize 右下角把手),高度持久化到 localStorage |
| ⏱ 交易时段 | 状态栏实时显示 A股 / 港股 / 美股 盘中·午休·盘前·休市,每分钟自动刷新(Intl.DateTimeFormat 按 Asia/Shanghai、Asia/Hong_Kong、America/New_York 判定) |
| 📊 指数快照 | 状态栏中部实时快照:上证 / 深成 / 创业板 / 恒指 / 道指 / 纳指 |
| 🔔 状态栏总盈亏 | 状态栏右侧显示持仓总盈亏 / 总盈亏率,随行情实时更新 |
| ⚙ 三入口设置 | 状态栏「行情」按钮 + 标题栏齿轮 + 面板内「设置」页签;DSH 系统设置侧边栏出现独立「股市行情」分区(可管理刷新间隔 / 跑马灯开关 / 自选 / 持仓) |
| 🔄 刷新间隔可调 | 15 / 30 / 60 秒可调(系统设置卡与面板内设置同步),页面隐藏时暂停轮询、回到前台立即刷新 |
| 🗃 数据持久化 | 自选 / 持仓 / 面板高度 / 刷新间隔 / 跑马灯开关 全部存浏览器 localStorage,重开不丢 |
| 🌙 亮暗双主题 | 完整跟随 DSH 深色/浅色主题,全套 CSS 变量切换,跑马灯 / K 线 / 面板 / 状态栏所有元素适配 |
| 🛡 故障容错 | 全部数据源失败 toast 一次性提示并自动重试;代理失败自动降级浏览器直连;宿主 apply 全部 try/catch 容错,模块零第三方依赖,坏也只影响自身功能,不影响 DSH 本体 |
📦 安装
本插件为 DSH Web GUI 外部插件,支持以下三种安装方式。
方式一:CLI 一键安装(推荐 ⭐)
DSH 自带 dsh plugin 命令(对 pnpm 的封装),会自动完成依赖安装 + bundle 注册:
dsh plugin --profile web add github:linhut/dsh-stock-terminal
执行后你会看到类似输出:
dependencies:
+ @linxin666/dsh-client-ui-skin-stock github:linhut/dsh-stock-terminal
Done in 8.3s using pnpm v11.22.0
它自动做了三件事:
- 安装依赖 → 写入
~/.dsh/profiles/web/package.json的dependencies - 注册 bundle → 把
@linxin666/dsh-client-ui-skin-stock追加进dsh.profile.bundles(与dsh-web-ui-all、modlens同队列) - 文件就位 →
node_modules/@linxin666/dsh-client-ui-skin-stock/下 lib/skin.json/patch 齐全
然后重启 dsh web 使 bundle 加载生效:
# 找到当前 dsh web 进程 PID 杀掉后重新启动
# 重启命令:node E:\npm-global\node_modules\@deepseek-ai\dsh\lib\bin.js web
常见问题
- 提示
allowBuilds/Ignored build scripts→ 把@linxin666/dsh-client-ui-skin-stock加入~/.dsh/profiles/web/pnpm-workspace.yaml的allowBuilds列表后重跑该命令dsh plugin命令不存在 → DSH 版本过旧,升级至 0.1.0-rc.6 或更新- 已安装过旧版本想更新 →
dsh plugin --profile web update @linxin666/dsh-client-ui-skin-stock
方式二:手动安装
适合离线环境 / 二次开发调试:
① 编辑 ~/.dsh/cordis.patch.yml(home 层补丁,只写这一处,勿在多层重复写同一 id):
- insert:
- id: ui-skin-stock
name: '@linxin666/dsh-client-ui-skin-stock'
② 把仓库复制到 profile 的 node_modules:
git clone https://github.com/linhut/dsh-stock-terminal.git \
~/.dsh/profiles/web/node_modules/@linxin666/dsh-client-ui-skin-stock
③ 重启 dsh web(见方式一的重启说明),刷新浏览器即可。
方式三:插件市场安装
DSH 官方插件市场(dsh-market)的插件目录来自 awesome-dsh-plugin 精选列表(线上 https://awesome-dsh-plugin.com/plugins.json 实时生成)。
本插件已提交收录 PR #1766,合并后(通常 1 天内)即可在 设置 → 插件市场 搜索 stock 一键安装。
安装后
- 重启 dsh web(杀进程重新启动,或 Ctrl+C 后重跑启动命令)
- 刷新浏览器(
Ctrl+F5硬刷新清除缓存) - 应看到股市主题的标题栏,底部状态栏出现「行情」按钮
- 点击「行情」打开面板 → 添加自选股开始使用
卸载
# CLI 方式安装的
dsh plugin --profile web remove @linxin666/dsh-client-ui-skin-stock
# 手动方式安装的,删除 home 补丁行
# 编辑 ~/.dsh/cordis.patch.yml,删掉 ui-skin-stock 那一块 insert,保存
# 重启 dsh web 生效
卸载不影响 DSH 本体运行。宿主 apply 全部 try/catch 容错,模块零第三方依赖,坏也只影响自身功能。 回退到旧版本:
dsh plugin --profile web install @linxin666/dsh-client-ui-skin-stock@<旧版本>或手动切换 git tag。
🎯 数据源与符号语法
| 语法 | 示例 | 含义 | 数据源 |
|---|---|---|---|
sh + 6 位 |
sh600519 贵州茅台 |
沪市 A 股 / 上证指数 | 腾讯行情 |
sz + 6 位 |
sz000001 平安银行 · sz399001 深证成指 |
深市 | 腾讯行情 |
hk + 5 位 |
hk00700 腾讯控股 · hkHSI 恒生指数 |
港股 / 恒指 | 腾讯行情 |
us + 代码 |
usAAPL 苹果 · usDJI 道指 · usIXIC 纳指 |
美股 / 美指 | 腾讯行情 |
| 大写组合 | BTCUSDT ETHUSDT… |
加密货币(24h) | Binance |
AAA/BBB |
USD/CNY |
外汇(美元等基准) | Frankfurter |
数据由宿主端聚合代理统一拉取(
/plugins/dsh-stock/api/quotes,GBK 解码、超时降级),浏览器零 CORS;代理不可用时自动降级为浏览器直连。
🔍 搜索联想
支持以下方式模糊匹配(取前 8 条):
- 拼音首字母:
gzmt→ 贵州茅台、csbm→ 常山北明、zsyh→ 招商银行 - 代码:
600519、000158、AAPL、BTC… - 名称:
茅台、苹果、比亚迪…(中英文子串)
内置 130+ 常用品种词典秒出结果;词典未收录的品种自动走在线兜底——宿主代理新浪股票建议 API(/plugins/dsh-stock/api/suggest,GBK 解码、300ms 防抖),任意 A股 / 港股 / 美股 / 指数输入代码、简称或拼音首字母即可联想。
键盘 ↑↓ 选择、Enter 添加、Esc 关闭。
📁 项目结构
dsh-stock-terminal/
├── lib/
│ ├── index.js # 宿主端:行情聚合代理 /plugins/dsh-stock/api/quotes + /suggest + /kline
│ └── client.js # 浏览器端:皮肤 chrome + 行情面板(自选/持仓/设置)+ K 线弹窗 + 系统设置卡
├── skin.json # 皮肤注册元数据(id: stock,wiring: ui-skin-stock)
├── package.json # DSH 插件包清单(dsh.client / dsh.bundle 元数据)
├── cordis.patch.yml # 插件接线
├── assets/
│ └── screenshot.png
└── README.md
⚙️ 集成方式
两种接线机制
| 方式 | 注册位置 | 适用场景 |
|---|---|---|
| profile bundle(CLI 安装自动) | ~/.dsh/profiles/web/package.json → dsh.profile.bundles |
推荐;与 dsh-web-ui-all、modlens 同队列 |
| home patch(手动安装) | ~/.dsh/cordis.patch.yml → insert |
离线 / 二次开发 |
⚠️ 重要注意事项
- 切勿把同一
insert同时写进 profile patch 与 home patch —— 两层叠加会产生重复 loader entry id,触发 DSH fail-loud 启动保护(曾因此导致 web 无法启动) - 皮肤中心(dsh-client-ui-skin-center)可识别本皮肤(
skin.json位于node_modules/@linxin666/下);其切换皮肤时可能将本行视为 legacy 皮肤行移除,重加该行即可(CLI 方式装的 bundle 不受此影响) - 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 - Canvas 蜡烛图绘制:日K/周K/月K 自适应、MA5/MA10 均线、成交量幅图、网格+价格+日期轴
🛡 可靠性设计
- 宿主端短 TTL 缓存 + 在途请求去重:quotes 5s / suggest 30s / kline 60s 缓存,并发同参数请求共享同一次上游拉取(上限 128 条防无界增长)
- 符号规范化:
SH600519等大写市场前缀自动转小写(外汇对USD/CNY保持原样) - 轮询调度:setTimeout 链式调度(上一次完成再排下一次)+ 在途请求守卫;页面隐藏时暂停轮询,回到前台立即刷新
- 跑马灯不闪跳:行情刷新只原地更新数字,不重建 DOM,动画位置不被重置
- 联想防竞态:搜索建议加序号计数器,慢的旧请求不会覆盖新输入的结果
- 故障降级提示:全部数据源失败时 toast 一次性提示并自动重试;代理失败自动降级浏览器直连
- 设置双向即时生效:系统设置卡修改刷新间隔/跑马灯后,面板轮询与跑马灯立即重排(自定义事件同步)
- K 线周期自适应:服务端原生支持 day/week/month(腾讯 fqkline / Binance / Yahoo);客户端聚合 fallback 确保不重启也能用
🧩 标签 / Topics
dsh-plugin · deepseek-harness · web-ui · skin · stock · 行情 · 跑马灯 ·
自选股 · 持仓 · K线 · trading-terminal · ticker
📄 License
由 linhut 维护,已提交 awesome-dsh-plugin 收录。
链接
同类插件
Small-tailqwq/dsh-deep-whale#maid-atelier★ 1316
DSH Web 鲸鱼娘皮肤系列(深海女仆工坊 maid-atelier)。
kingOfSoySauce/dsh-liang-skin★ 93
自适应推理等级滑块皮肤,将当前模型可用档位映射到 0–30 视觉强度,并同步人物、背景和界面配色。
GGBond2424648901/deep-whale-day-night-theme★ 85
鲸鱼娘昼夜皮肤:白昼水晶工坊与夜晚月潮观测室双场景,成对角色、Q 版侧栏宠物、花边与气泡/星点轻量氛围。
elysia395/dsh-wallpaper-engine★ 58
在 DSH 网页界面后方渲染本机 Wallpaper Engine 的 Video/Web 壁纸,支持 iOS 风格液态玻璃效果,并可用滑动条调节模糊、暗化、边框与玻璃强度。
RevolutionLA/dsh-dream-skin★ 56
一键换肤插件:8 套原创主题、背景壁纸(透明度/模糊)、强调色、主题包导入/导出+分享链接、收藏与随机,纯原生 token 系统接入。
KinGao294/dsh-skin★ 19
Codex 风格皮肤切换器 + 自定义壁纸层,可调透明度与模糊。