편집자 노트

kangjinghang/dsh-xueqiu

A Xueqiu (Snowball) market panel for DeepSeek Harness: no login required — live A-share/HK/US quotes, candlestick & minute charts, hot lists, search, 7×24 news and trending KOLs.

이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.

dsh-xueqiu · 雪球 mini 行情面板

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

npm version npm downloads GitHub stars License dsh-plugin

中文 | English

功能 · 截图 · 安装 · 使用 · 稳定性 · 质量与测试 · FAQ · 更新日志

🆚 与同类行情插件

能力dsh-xueqiu股票皮肤类插件
面板形态嵌入输入框上方,不遮挡对话全局换肤/状态栏
K线/分时蜡烛图+均线+十字光标,7 档周期部分有
热榜/快讯/KOL全有多数无
数据源雪球(社区数据:帖子/热议用户独有)腾讯/Yahoo 等
请求防护闸门+看门狗+缓存+自愈+隐藏暂停一般仅缓存
常驻行情区域四大指数+12 自选两列平铺,⤡ 调宽多为纯状态栏
主题跟随 DSH 明暗需整体换肤

✨ 功能

功能说明
📊 实时行情大盘指数(上证/深证/创业板/科创50)+ 自选股列表,涨红跌绿,表头点击排序
🕯️ K线图蜡烛图 + 成交量柱 + MA5/10/20 均线 + 十字光标悬浮详情(开高低收/涨跌/量/均线值),5分/15分/30分/60分/日K/周K/月K 7 档切换;滚轮锚点缩放 + 拖拽平移,拖到尽头自动追加更早历史,双击复位
⏱️ 分时图价格线 + 均价线 + 昨收基准虚线,十字光标查任意分钟报价
🔥 热榜雪球热门榜,A股/美股/港股/全球 切换
🔍 搜索搜股票(一键加自选/看详情)、搜帖子
📰 快讯7×24 实时快讯,重要新闻高亮
👥 热议用户个股热门 KOL(粉丝数/认证标识)
💼 自选股本地持久化,增删随点随改;可选登录后直接使用雪球云端自选股
👤 可选登录粘贴浏览器 Cookie 即可登录(借鉴 xueqiu-cli 手动模式):登录后自动拉取云端自选股,加/删自选尽力同步到云端;Cookie 仅存本机 ~/.dsh 工作区文件,不上传任何第三方
🧲 嵌入式面板完整面板停靠在输入框上方(官方 conversation.input.dock 槽位),随页面布局流动,不遮挡对话记录
🏷️ 行情区域常驻悬浮区域:头部一行 logo/盘中状态,四大指数两列(上证/深证/创业/科创50)+ 自选前 12 只两列平铺;点击开合面板,拖动调整位置(记忆),右下角 ⤡ 手柄调宽度 120–480px(双击复位 320),宽度/位置持久化
📏 面板高度可调拖动面板底边调整高度(160px–85% 视口,双击复位),高度持久化记忆
⌨️ Esc 收起Esc 先关个股详情,再收起面板;点行情区域或底部指数条重新展开
🛡️ 请求防护并发 2 + 100ms 最小间隔对齐网页端行为;30s 看门狗强制释放悬挂请求防管线冻结;Cookie 失效/风控自动重播种重试;限频指数退避;页面隐藏自动暂停全部轮询(回前台立即恢复)
🗂️ 渐进详情个股详情报价+K线先上屏,分时/财务/KOL 到达后增量合并,不用等齐
⏱️ 智能刷新盘中 20s 刷新行情,收盘自动放慢,降低被风控概率
🕐 交易时段面板头常驻显示 A 股/港股/美股 盘中·午休·盘前·休市(本地时区推算,不含节假日),行情区域显示精确 A 股时段
🌗 主题自适应跟随 DSH 明暗主题
🤖 Agent 工具对话内直接问行情xueqiu_quote(实时行情)、xueqiu_kline(K线)、xueqiu_search(搜股票)、xueqiu_hot(热榜)、xueqiu_news(7×24 快讯)、xueqiu_kol(个股热议大V)——模型直接调用,无需翻网页
🃏 工具调用卡片xueqiu_quote 渲染为红涨绿跌行情表、xueqiu_kline 为迷你蜡烛图、xueqiu_hot 为热榜排名列表、xueqiu_news 为快讯时间线(重要快讯高亮),对话流内直接看结果

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

📸 截图

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

主面板

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

个股详情

迷你行情区域:四大指数 + 自选 12 只两列平铺,⤡ 手柄调宽度,点击开合面板,可拖动:

迷你行情区域

Agent 工具调用卡片(对话内直接问行情,结果渲染为专属卡片而非 JSON):

xueqiu_quote 行情表xueqiu_kline 蜡烛图
quotekline
xueqiu_hot 热榜xueqiu_news 快讯时间线
hotnews

📦 安装

方式一:标准 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 收起。
  • 右下角行情区域常驻显示四大指数 + 自选前 12 只(两列平铺);点击开合面板,拖动调整位置(记忆位置),⤡ 手柄横向调宽(120–480px,双击复位)。
  • 输入框下方的指数条点击也可展开面板。
  • 点击自选股、指数卡或热榜行 → 个股详情:16 项行情数据 + K线/分时切换(悬停图表看十字光标详情)+ 财务指标(ROE/毛利率/净利同比等)+ 热议用户。
  • 面板高度:拖动面板底边的手柄上下调整(160px ~ 85% 视口高度),双击手柄复位;高度会被记忆。
  • 登录雪球(可选):点面板右上「👤 登录」,按提示从浏览器复制 Cookie 整行粘贴即可。登录后自选股切换为你的雪球云端自选股;「同步云端自选」可随时手动拉取,加/删自选会尽力同步云端(失败自动回退本地)。Cookie 只保存在本机,退出登录即清除。
  • 刷新频率:盘中行情 20s、内容 60s;收盘后自动降为 60s / 3min。

🔧 稳定性设计

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

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

🧪 质量与测试

三套互补的自动化测试,每次发版前全部通过(最近一次实测 2026-08-20,macOS + dsh web 3080 端口):

套件覆盖实测结果
scripts/static-smoke.sh静态安装 7 道门禁(tarball 解包 → cordis 组合 → bundle 注册 → RPC 起活)✅ 7/7
scripts/feature-matrix.py20 个 RPC 动作 × 正常/边界/非法/降级 × 未登录/已登录/Cookie过期 三环境✅ 54–56 项断言全过 / 每环境
scripts/browser-interact.sh真实鼠标交互:徽章拖动/⤡调宽/双击复位/面板开合/四个页签数据/越界恢复钳制✅ 全过

热缓存性能实测(数据已在 TTL 窗口内,即用户连续操作时的体验):

kline       日K 120 根      1–12 ms
quote       3 只行情批量      1 ms
quoteDetail 个股详情         1 ms
search      搜索"茅台"        2 ms
finance     财务指标          2 ms

首次冷请求(需访问雪球取数)典型耗时 100–700ms,全部经请求闸门(并发 2)排队。复现方式:装好插件后 python3 scripts/feature-matrix.py --base http://127.0.0.1:3080 --mode logged

📁 目录结构

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 层插入

❓ FAQ

Q: 安装后面板不出现? 按安装说明重启一次 dsh web(插件行按启动缓存发现),再硬刷新页面(Ctrl/Cmd+Shift+R)。仍无面板时看右下角有无行情区域——区域在则点它展开。

Q: 行情数据突然全空/报错? 雪球匿名 cookie 偶发被风控(错误码 400016 或空响应)。插件会自动重播种 cookie 并重试;连续失败时等 1–2 分钟再点「刷新」,或收起面板降低请求频率。

Q: K线周期里分时下为什么没有周期按钮? 分时模式只展示当日分钟线,K线模式才有 7 档周期,属设计行为。

Q: 交易时段提示节假日准吗? 不准。时段按每周一至周五的固定钟点本地推算,不含法定节假日调休,仅供参考。

Q: 自选股和面板设置存在哪? 宿主本地文件 ~/.xueqiu-watchlist.json~/.xueqiu-ui-state.json(含区域宽度/位置),与浏览器 localStorage 无关,换浏览器不丢。

Q: 会不会影响 DSH 本体? 插件 UI 全部挂在官方槽位(conversation.input.dock / shell.overlay / conversation.composer.dock),卸载即完全消失,不改 DSH 源码。

⚠️ 免责声明

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

📋 更新日志

  • 1.19.0(2025-08-20)
    • 新增:K线滚轮缩放 + 拖拽平移——详情页K线默认显示尾部 120 根(缓冲 500 根),滚轮以鼠标位置为锚点缩放(20~全部),水平拖动平移看历史;拖到缓冲头部自动追加拉取更早 500 根(按时间戳去重合并,上限 3000 根);双击复位。图底标注 窗口/总数 根 与操作提示。
    • host:kline RPC 新增 begin 参数(毫秒时间戳),返回该根往前的历史,供平移分页(分钟取整保证缓存 key 稳定)。
  • 1.18.2(2025-08-20)
    • 修复:Agent 工具的时间戳用了 UTC(toISOString),快讯/K线时间比本地早 8 小时(18:14 显示成 10:14)。现按本地时区格式化。
  • 1.18.1(2025-08-20)
    • 新增:xueqiu_hot 热榜卡片(排名+名称+热度升降+现价涨跌)与 xueqiu_news 快讯卡片(时间线、mark=1 重要快讯高亮、列表内滚动)。
  • 1.18.0(2025-08-20)
    • 新增:Agent 工具调用卡片——xueqiu_quote 结果渲染为红涨绿跌行情表,xueqiu_kline 渲染为迷你蜡烛图(复用面板图表组件,头部含周期/根数/区间/区间涨跌),对话流内直接看图,不再是一坨 JSON。
  • 1.17.0(2025-08-20)
    • 新增:Agent 工具(一期 6 个)——模型在对话中直接调用雪球数据,不必再让 agent 爬网页:xueqiu_quote(实时行情,一次 20 只)、xueqiu_kline(7 档周期 OHLCV)、xueqiu_search(代码/中文名/拼音搜索)、xueqiu_hot(热榜)、xueqiu_news(7×24 快讯,可翻页)、xueqiu_kol(个股热议大V,雪球社区数据独有)。复用既有请求闸门/缓存/Cookie 自愈,数据层零新增请求路径。
  • 1.16.1(2025-08-20)
    • 修复:双击 ⤡ 复位徽章宽度时,badgeW:null 被 host 侧 Number(null)=0 钳制为下限 120px 落盘——刷新后徽章变成 120px 窄条(dockH 同理被钳为 160)。现 null 按显式复位处理。
    • 修复:恢复徽章位置时的视口钳制按实际宽度计算(原先固定 -140,区域模式宽达 480px 时右缘出屏)。
    • 新增:scripts/browser-interact.sh 浏览器交互回归(真实鼠标事件:拖拽/调宽/双击复位/面板四 tab/越屏恢复)。
  • 1.16.0(2025-08-20)
    • 修复:登录 Cookie 过期后,公开行情接口(报价/K线/分时/热榜等)被一并毒化全部报错 —— 现自动降级为匿名请求继续工作,仅云端自选等功能提示重新登录。
    • 新增:scripts/feature-matrix.py 功能矩阵回归测试(155 项断言 × 未登录/已登录/Cookie过期 三环境)。
  • 1.15.2(2025-08-19)
    • package.json 补齐 repository/bugs/homepage 字段——将 npm 包与 GitHub 仓库关联,供插件市场自动采集下载量。
  • 1.15.1(2025-08-19)
    • 徽章升级为常驻行情区域:四大指数(上证/深证/创业板/科创50)两列 + 自选前 12 只两列平铺,静态展示不再轮动。
    • ⤡ 手柄调宽度 120–480px(双击复位 320px),宽度/位置持久化;恢复位置时钳制到视口内,永不丢失。
    • 底部指数条与面板市场页:沪深300 → 科创50
    • 修复:云端自选对真实账号永远拉不到——默认自选在 stocks 系统分类(pid=-1 全部)而非 portfolios 字段;自选上限 50 → 200。
    • 修复:区域模式 const 重新赋值导致徽章槽位崩溃;徽章头部三元素竖排散架。
    • 移除:悬停弹层(搜索/速览已被区域模式取代)。
  • 1.10.0(2025-08-19)
    • 新增:可选登录雪球——面板右上「👤 登录」,粘贴浏览器 Cookie 整行即可(借鉴 xueqiu-cli 手动登录模式)。
    • 登录后自动拉取并使用雪球云端自选股;加/删自选尽力同步云端(尽力而为,失败静默回退本地);「同步云端自选」随时手动拉取。
    • 安全细节:本地解析 xq_id_token(JWT)预检过期;远端调组合接口二次校验(400016 拒绝无效 Cookie,实测验证);Cookie 仅存本机 .xueqiu-login.json,退出即清除;不登录则完全保持原匿名模式。
  • 1.9.0(2025-08-19)
    • 微交互:tab/详情切换淡入动画、刷新按钮旋转 loading 态。
    • 快讯时间轴:左侧竖线 + 「今天/昨天/X月X日」分组锚点,长列表快速定位时间。
    • 徽章 hover 预览:悬停 300ms 弹出自选速览(名称/现价/涨跌幅 chip,30s 缓存),点击展开面板,拖拽不误触。
    • K线/分时十字光标轴标签:光标价位(右侧)+ 日期/时间(底部)底色读数块。
  • 1.8.0(2025-08-19)
    • 专业感升级三件套:全界面等宽数字(tabular-nums,价格跳动不抖列);涨跌幅色块 chip(红涨/绿跌半透明底,扫一眼定位);自选行价格变动闪烁动画(涨红闪/跌绿闪,0.8s 渐隐)。
  • 1.7.2(2025-08-19)
    • 新增:快讯 tab 翻页——滚动到底或点「加载更早」自动加载历史快讯(max_id 游标,自动去重),「刷新」重置回最新一页。
  • 1.7.1(2025-08-19)
    • 修复:dsh plugin add 静态安装后 dsh web 启动即崩(harness is not defined)——静态安装改走 webServer 前缀路由 /xq-rpc(带回环 + 同源双重栅栏),动态运行时仍走 harness.handle,双模式自动切换。
    • 修复:静态安装的浏览器端 bundle 格式(__ModuleLoader__ CJS 工厂)与网络通道(同源 fetch 替代 host.call),面板/徽章/指数条在静态模式下完整可用。
  • 1.7.0(2025-08-19)
    • 新增:页面隐藏时自动暂停面板/徽章/指数条全部轮询,回到前台立即刷新——切走不浪费请求,显著降低雪球风控触发概率。
    • 新增:A 股/港股/美股三市场交易时段提示(盘中·午休·盘前·休市,本地 Intl 时区推算,不含节假日),面板头常驻显示,徽章显示精确 A 股时段,每分钟自动刷新。
  • 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

REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

저장소가 MIT 라이선스를 선언했습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.