跳过主要内容
K

dsh-xueqiu

kangjinghang/dsh-xueqiu

雪球行情面板:嵌入输入框上方,免登录查看 A股/港美股行情、指数与自选股,K线蜡烛图(成交量/均线/十字光标)、热榜、搜索、7×24 快讯,另有可拖动迷你指数徽章。

安装

dsh plugin --profile web add github:kangjinghang/dsh-xueqiu

README

dsh-xueqiu · 雪球 mini 行情面板

DeepSeek Harness 上的雪球行情面板:免登录查看 A股/港股/美股实时行情、K线、分时、热榜、搜索、7×24 快讯与热议用户。面板嵌入输入框上方不遮挡对话,迷你徽章常驻实时指数,交易时段智能刷新。

badge badge license

✨ 功能

功能说明
📊 实时行情大盘指数(上证/深证/创业板/沪深300)+ 自选股列表,涨红跌绿,表头点击排序
🕯️ K线图蜡烛图 + 成交量柱 + MA5/10/20 均线 + 十字光标悬浮详情(开高低收/涨跌/量/均线值),5分/15分/30分/60分/日K/周K/月K 7 档切换
⏱️ 分时图价格线 + 均价线 + 昨收基准虚线,十字光标查任意分钟报价
🔥 热榜雪球热门榜,A股/美股/港股/全球 切换
🔍 搜索搜股票(一键加自选/看详情)、搜帖子
📰 快讯7×24 实时快讯,重要新闻高亮
👥 热议用户个股热门 KOL(粉丝数/认证标识)
💼 自选股本地持久化,增删随点随改
🧲 嵌入式面板完整面板停靠在输入框上方(官方 conversation.input.dock 槽位),随页面布局流动,不遮挡对话记录
🏷️ 迷你徽章常驻悬浮徽章显示上证/深成指实时涨跌与盘中状态;点击开合面板,整体可拖动到任意位置(位置记忆)
📏 面板高度可调拖动面板底边调整高度(160px–85% 视口,双击复位),高度持久化记忆
⌨️ Esc 收起Esc 先关个股详情,再收起面板;点徽章或底部指数条重新展开
🛡️ 请求防护并发 2 + 100ms 最小间隔对齐网页端行为;30s 看门狗强制释放悬挂请求防管线冻结;Cookie 失效/风控自动重播种重试;限频指数退避
🗂️ 渐进详情个股详情报价+K线先上屏,分时/财务/KOL 到达后增量合并,不用等齐
⏱️ 智能刷新盘中 20s 刷新行情,收盘自动放慢,降低被风控概率
🌗 主题自适应跟随 DSH 明暗主题

所有数据来自雪球公开接口(访问首页获取匿名 cookie + 浏览器 UA/Referer),无需登录

📸 截图

嵌入式主面板:停靠在输入框上方,指数卡 + 自选股行情 + 四个功能页签:

主面板

个股详情:16 项行情数据 + K线蜡烛图(成交量柱 / MA5-10-20 均线 / 十字光标)+ 财务指标 + 热议用户:

个股详情

迷你徽章:常驻实时指数,点击开合面板,可拖动:

迷你徽章

📦 安装

方式一:标准 bundle 插件(推荐)

# npm 包
dsh plugin --profile web add dsh-xueqiu

# 或 GitHub 源(git 安装会直接从源码构建)
dsh plugin --profile web add github:kangjinghang/dsh-xueqiu

# 或本地目录
dsh plugin --profile web add ./dsh-xueqiu

添加后重启一次 dsh web(插件行发现按启动缓存),之后刷新页面即可看到面板。

方式二:动态插件(已实测)

本仓库 dynamic/ 目录提供已实测可用的动态 Cordis 插件源码(host.js + client.js)。在任意 DSH 会话中让 Agent 加载即可:

请读取本仓库 dynamic/host.js 与 dynamic/client.js 两个文件,
用 cordis_define(kind: new)定义插件:
  code.host 填入 host.js 的内容,code.client 填入 client.js 的内容,
  然后 cordis_run 启动它。

🎛️ 使用

  • 面板停靠在输入框上方:与对话同列流动,不遮挡任何消息;收起 —Esc 收起。
  • 右下角迷你徽章常驻显示上证/深成指实时涨跌;点击开合面板,拖动调整位置(记忆位置)。
  • 输入框下方的指数条点击也可展开面板。
  • 点击自选股、指数卡或热榜行 → 个股详情:16 项行情数据 + K线/分时切换(悬停图表看十字光标详情)+ 财务指标(ROE/毛利率/净利同比等)+ 热议用户。
  • 面板高度:拖动面板底边的手柄上下调整(160px ~ 85% 视口高度),双击手柄复位;高度会被记忆。
  • 刷新频率:盘中行情 20s、内容 60s;收盘后自动降为 60s / 3min。

🔧 稳定性设计

数据层内置多层防护,长时间挂机也不会卡死:

  • 请求闸门:并发上限 2、请求间最小间隔 100ms,模拟网页端节奏,降低风控概率。
  • 30s 看门狗:单个请求悬挂超 30s 即强制释放调度槽并报错,不会冻结后续所有请求。
  • TTL 缓存 + in-flight 去重:相同 URL 短时间窗内直接命中缓存,并发重复请求共享同一 Promise。
  • Cookie 自愈:匿名 cookie 失效(错误码 400016)或被风控返回空响应时,自动重新访问雪球首页播种新 cookie 再重试。
  • 限频退避:遇到"请求频繁"按 2s→4s 指数退避后重试。
  • 渐进渲染:详情页报价 + K线先行上屏,分时/财务/KOL 异步到达后增量合并。

📁 目录结构

dsh-xueqiu/
├── src/
│   ├── index.js          # Host 插件(curl 数据层 + connection RPC)
│   └── client/index.js   # Client 插件(嵌入式面板 + 迷你徽章 UI)
├── dynamic/
│   ├── host.js           # 动态插件版 Host(已实测)
│   └── client.js         # 动态插件版 Client(已实测)
├── package.json          # bundle 声明(dsh.bundle / dsh.client)
└── cordis.patch.yml      # bundle 层插入

⚠️ 免责声明

  • 本项目非雪球官方产品,与雪球网/雪球公司无关;"雪球"为雪球公司商标,此处仅作数据来源描述。
  • 数据来自雪球公开 Web 接口,仅供学习与研究不构成任何投资建议;请勿高频请求,遵守目标网站条款。
  • 接口可能随时变更导致功能失效,欢迎提 Issue / PR。

📋 更新日志

  • 1.6.1(2025-08-18)
    • 修复:请求管线死锁——悬挂请求永久占用调度槽导致面板整体冻结,现由 30s 看门狗强制释放。
    • 修复:详情页内点「行情/热榜/搜索/快讯」标签无响应(view 优先级遮蔽 tab)。
    • 修复:徽章位置持久化后恢复时 badgePos.y 被误当函数调用导致位置重置失败。
    • 新增:debug RPC(running/waiters/inflight/cache/cookie 实时观测)。
  • 1.6.0 — 面板高度拖拽调节(丝滑零重渲染、双击复位、持久化)。
  • 1.5.x — 请求调度与缓存优化(并发 2 + 100ms 间隔、TTL 缓存、错误分类重试)。
  • 1.4.x — 详情提速:渐进渲染、全 K线周期、十字光标。

📄 License

MIT

相关插件