Stock SDK
面向前端与 Node.js、零依赖的股票数据 SDK,支持 A股/港股/美股/基金,内置 CLI 与 MCP server。
- Star 数
- ★ 2k
- 最近更新
- 16 天前
- License
- ISC
- 主语言
- TypeScript
- FA 评分
- 71/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台ChatGPT · Codex · Claude Code
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 前端工程师需要为网页仪表盘或数据可视化页面集成股票行情数据,但不希望维护后端服务或使用 Python 生态。
- 不适合
- 需要高频交易或实时撮合行情的团队
- 依赖 Python 生态或需要后端服务的项目
- 需要期货、期权完整分钟级数据的用户
这个 Agent 能做什么,适合哪些场景?
Stock SDK 是一个零依赖的 JavaScript/TypeScript 库,专为前端和 Node.js 环境设计,用于获取 A股、港股、美股和公募基金的实时行情与 K 线数据。它提供命名空间 API,支持统一符号解析,并内置技术指标、筹码分布、信号识别、选股和回测功能。此外,它还提供命令行工具(stock-sdk cli)和 MCP server,可轻松接入 AI 工具,同时支持 ESM、CommonJS 和 subpath 导出,便于 tree-shaking。v2.0.0 是架构升级版本,引入了命名空间 API 和统一错误体系,但包含破坏性变更。该库数据来源为腾讯财经和东方财富等公开接口,有延迟,不适合高频交易。
Stock SDK 通过调用腾讯财经和东方财富等公开接口,获取并解析股票行情数据。它支持统一符号解析(如 sh600519、600519.SH、00700、AAPL 等),提供实时报价(sdk.quotes.cn())、K线(sdk.kline.cn())、分钟K线、当日分时、技术指标计算(MA、MACD、BOLL 等)、筹码分布、资金流向、龙虎榜等数据。用户可以通过命名空间 API 在 Node.js 或浏览器中异步调用这些方法,也可以使用 CLI 命令(如 stock-sdk quote 600519)或启动内置的 MCP server(npx stock-sdk mcp)为 AI 工具(如 Cursor、Claude)提供数据访问。此外,还提供纯计算 subpath 导入(stock-sdk/indicators),用于指标和信号计算。
- 前端工程师需要为网页仪表盘或数据可视化页面集成股票行情数据,但不希望维护后端服务或使用 Python 生态。
- 开发者需要在 Node.js 环境中定时抓取股票行情,用于量化策略原型验证或数据分析。
- 命令行用户希望快速查询某只股票的实时价格或K线,而不打开浏览器或编写完整程序。
- AI 工具(如 Cursor、Claude)的用户希望让 AI 助手能够获取股票数据,通过 MCP server 无缝接入。
- 教育场景中,教授股票或金融课程时,教师或学生需要简单易用的 JavaScript 库来演示实时市场数据。
如何安装或部署这个 Agent?
使用 npm 安装最新版:npm install stock-sdk。若需 v1 旧版(已封存),可安装 npm install stock-sdk@legacy。需要 Node.js 18+ 环境。无需额外密钥或配置。
如何使用这个 Agent?
安装后,在项目中导入并创建 SDK 实例:import { StockSDK } from 'stock-sdk'; const sdk = new StockSDK(); 然后调用命名空间 API,例如获取 A 股实时行情:await sdk.quotes.cnSimple(['sh000001', 'sz000858', 'sh600519'])。也可以使用 CLI:npx stock-sdk quote 600519。若要接入 MCP,运行 npx stock-sdk mcp 启动 server,并在客户端配置 mcpServers。
这个 Agent 有哪些优点和局限?
- 零依赖,同时支持浏览器和 Node.js 环境,降低集成复杂度。
- 提供 CLI 和内置 MCP server,便于命令行使用和 AI 工具接入。
- 完整类型支持(TypeScript),拥有丰富的命名空间 API,IDE 自动补全友好。
- 提供 subpath 导出,纯计算模块可以按需引入,避免不必要的代码体积。
- 数据来自公开接口,非实时撮合,有延迟,不适合高频交易决策。
- v2 是破坏性变更,从 v1 升级需要阅读迁移指南,且无兼容别名。
- 不同市场能力覆盖度不一,部分市场(如期货、期权)功能有限,需查阅支持矩阵。
- 依赖上游接口的稳定性,若接口变动则 SDK 可能需更新维护。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Stock SDK 当前 | 71 · 存在缺口 | 代码库 / SDK免费 | ★ 2k | 16 天前 | TypeScript | ChatGPT · Codex · Claude Code |
| Unbrowse 网站 API 客户端 | 56 · 缺口较多 | 云服务 / SaaS免费版 + 付费版 | ★ 801 | 1 天前 | TypeScript | ChatGPT · Codex · Claude Code |
| Superset | 52 · 缺口较多 | 桌面应用免费版 + 付费版 | ★ 15k | 今天 | TypeScript | Codex · Claude Code |
| OSS Autopilot | 83 · 表现良好 | Agent 插件 / 技能免费 | ★ 21 | 1 天前 | TypeScript | Claude Code · Claude.ai |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:SDK 为纯客户端库,无后端服务,权限需求最小(least_privilege=2)。无用户确认机制(user_confirmation=0)。数据流透明:文档明确数据来源为腾讯/东财公开接口,并说明数据延迟(data_flow_transparency=2)。敏感数据处理:未发现收集或传输敏感数据,但未明确说明不收集(sensitive_data_handling=1)。依赖安全:零运行时依赖,devDependencies 无已知漏洞(dependency_security=2)。外部影响:仅发起网络请求获取公开数据,无破坏性操作(external_effects=2)。回滚:提供 v1 迁移指南,但无自动回滚机制(rollback=1)。来源归属:明确作者和仓库,但发布者未验证(source_attribution=2)。
证据显示:代码结构一致,命名空间 API 统一(self_consistency=2)。依赖可用性:零运行时依赖,devDependencies 锁定版本(dependency_availability=2)。失败消息:统一错误体系,提供 SdkError 和错误码(failure_messages=2)。
证据显示:明确目标用户为前端工程师,场景覆盖看板、可视化、教学等(audience_and_scenarios=3)。能力边界清晰:市场支持矩阵详细列出各市场能力(capability_boundaries=3)。触发精度:API 设计精确,符号解析容错(trigger_precision=2)。环境适配:支持浏览器和 Node.js 18+,ESM/CJS(environment_fit=3)。
证据显示:信息架构清晰,命名空间分组(information_architecture=3)。安装说明详细(install_notes=3)。命名稳定性:v2 破坏性变更但提供迁移指南(naming_stability=2)。示例和 FAQ:README 提供大量示例,官网有文档(examples_and_faq=3)。已知限制:明确数据延迟和部分市场不支持(known_limitations=2)。许可证:ISC 明确(license=3)。版本和变更日志:有版本号,但无 CHANGELOG 文件(versioning_changelog=2)。维护责任:作者明确,但未验证(maintenance_responsibility=2)。
证据显示:输出格式统一,支持 JSON/CSV/表格(output_usability=3)。边际价值:为前端提供零依赖股票数据方案,填补空白(marginal_value=3)。成本效益:零依赖,轻量,免费(cost_benefit=3)。
证据显示:README 声称的功能有代码和测试支持(claim_traceability=2)。交叉验证:仅依赖单一数据源,未与其他来源对比(cross_source_corroboration=1)。事实与推断分离:文档区分了数据来源和本地计算(fact_inference_separation=2)。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 发布者身份未验证,使用前请自行评估风险。
- 数据来自第三方公开接口,可能存在延迟或不稳定,不适合高频交易。
- 未提供 CHANGELOG 文件,版本变更记录不完整。
- 未明确说明是否收集用户数据,建议审查代码。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v2.4.6 v2.4.6 K-line Fallback Switch
发布说明摘录
v2.4.6 是一次 请求可控 + 数据正确性 版本:A 股 K 线的备用源切换可以关闭了,批量拉取时不必再连带触发备用源的频控;同时修掉 chips.cn 在备用源下静默返回空统计的问题。无破坏性变更,升级无需改代码。 新增 - A 股 K 线备用源开关 klineFallback(#80,感谢 @zhrenyue 提出需求):2.4.4 起,A 股 K 线在东方财富失败时会按腾讯、新浪顺序切换,但没法关掉。批量拉取时东财一旦频控,每只股票都会转去请求腾讯(长历史要分页请求多次)和新浪,备用源随之也被频控。现在可以关闭: ```ts const sdk = new StockSDK({ klineFallback: false, providerPolicies: { eastmoney: { rateLimit: { requestsPerSecond: 2 }, // 控制节奏,减少软限流 retry: { maxRetries: 2 }, // 只覆盖断连、超时和可重试的 HTTP 状态码 }, }, }) ``` | klineFallback | 东方财富请求 | 东方财富失败时 | …在 GitHub 查看 ↗ -
v2.4.5 v2.4.5 Pagination & HK Real-time Quote Keys
发布说明摘录
v2.4.5 是一次 取数效率 + 行情时效 版本:资金流排名与盘口异动支持分页,只看榜单前段不必再拉全量;港股个股行情改用腾讯实时行情键。无破坏性变更,升级无需改代码。 新增 - 资金流排名与盘口异动支持分页(#65,感谢 @iarjian 提出需求):此前这三个方法只能拉全量。个股资金流排名每次调用都要按每页 100 条翻完全市场约 5600 条,约 57 次请求,只想看前 20 也得全拉,放大了被东财限流的风险。 | 方法 | 新增参数 | 每页条数 | |---|---|---| | fundFlow.rank(options) | page / pageSize | 1–100,默认 100 | | fundFlow.sectorRank(options) | page / pageSize | 1–100,默认 100 | | marketEvent.stockChanges(type?, options?) | 新增第二个参数 { page, pageSize } | 1–5000,默认 100 | …在 GitHub 查看 ↗ -
v2.4.4 v2.4.4 K-line Fallback Fixes & Regulatory Alerts
发布说明摘录
v2.4.4 是一次 上游容灾 + 数据正确性 版本:A 股 K 线在东财受限时可切换备用源,同时修掉备用源带来的前复权负价问题,并新增交易所监管异动预警接口。无破坏性变更,升级无需改代码。 新增 - 监管异动 marketEvent.unusualFluctuation(#76,感谢 @WJMA-GIT 提出需求并提供线索):交易所「股票交易异常波动」预警,能看到哪些个股已触发、哪些正在逼近阈值。 | 字段 | 说明 | |---|---| | rule | 规则原文,如「连续十个交易日内日收盘价涨跌幅偏离值累计达到+100%」 | | triggered | 是否已触发;false 表示逼近阈值但未达 | | deviationValue | 累计涨跌幅偏离值(%),与规则阈值同口径可直接比较 | | windowDays / changePercent / direction | 规则窗口天数 / 当日涨跌幅 / 异动方向 | 参数 date 查单日、startDate+endDate 查区间(两者互斥),triggered 可只看已触发或只看逼近未触发。CLI 与 MCP 工具 get_unusual_fluctuation 同步派生。 …在 GitHub 查看 ↗