SkillHub

stock-price-query

v1.0.7

实时股票行情查询工具,支持 A 股(沪深两市)、港股、美股,无需 API Key。当用户查询股价、行情、涨跌,或提到股票代码/名称(如 600519、00700、NVDA、茅台、腾讯)时触发。Real-time stock price query for A-shares, HK & US stocks. Triggered when users ask about stock prices, quotes, or mention ticker symbols.

Sourced from ClawHub, Authored by Jeff

Installation

Please help me install the skill `stock-price-query` from SkillHub official store. npx skills add tjefferson/stock-price-query

Stock Price Query Skill

实时股票行情查询技能,覆盖 A 股(沪深两市)港股美股三大市场。轻量无依赖,无需 API Key,适合聊天场景下的快速股价查询——秒级获取当前价格、涨跌幅、开高低收、成交量等行情数据。

Real-time stock quote tool covering A-shares, Hong Kong, and US stocks. Quick chat-friendly price checks with zero dependencies and no API key needed.

Overview

实时股票价格查询技能,支持查询 A 股(沪深两市)、港股和美股的实时行情数据。通过调用免费公开的行情 API 获取数据,返回结构化的股票信息。

When to Use

当用户的请求涉及以下场景时触发此技能:

  • 查询股价:"茅台多少钱"、"查一下宁德时代"
  • 了解涨跌:"腾讯今天涨了吗"、"00700 行情"
  • 股票代码查询:"600519"、"NVDA price"
  • 多只对比:"比亚迪和英伟达的股价"
  • 关键词触发:"查股票"、"股票行情"、"stock price"

How to Use

查询流程

  1. 解析用户输入:从用户消息中提取股票代码。如果用户提供的是中文名称,需先根据下方映射表将名称转换为股票代码(脚本仅接受股票代码作为输入)。
  2. 识别市场:根据股票代码格式自动识别所属市场:
  3. A 股沪市:以 sh 开头或 6 位数字以 6 开头(如 sh600519600519
  4. A 股深市:以 sz 开头或 6 位数字以 0/3 开头(如 sz000001300750
  5. 港股:以 hk 开头或纯数字 5 位及以下(如 hk0070000700
  6. 美股:纯英文字母代码(如 AAPLTSLAGOOGL
  7. 执行查询脚本:运行 scripts/stock_query.py 获取实时数据。
  8. 格式化输出:将结果以清晰友好的格式展示给用户。

脚本调用方式

python3 {{SKILL_DIR}}/scripts/stock_query.py <stock_code> [market]

参数说明: - stock_code(必需):股票代码,如 600519AAPL00700 - market(可选):市场标识,可选值为 sh(沪市)、sz(深市)、hk(港股)、us(美股)。不提供时脚本会自动识别。

输出格式:JSON,包含以下字段:

{
  "code": "600519",
  "name": "贵州茅台",
  "market": "sh",
  "current_price": 1688.00,
  "change": 12.50,
  "change_percent": 0.75,
  "open": 1680.00,
  "high": 1695.00,
  "low": 1675.00,
  "prev_close": 1675.50,
  "volume": 2345678,
  "amount": 3956789012.50,
  "time": "2026-02-24 15:00:00",
  "status": "success"
}

常见股票名称与代码映射(供 agent 参考)

脚本仅接受股票代码作为输入,不支持中文名称。当用户提供股票名称时,agent 应先根据下表将名称转换为对应代码后再调用脚本:

名称 代码 市场
贵州茅台 600519 sh
中国平安 601318 sh
比亚迪 002594 sz
宁德时代 300750 sz
腾讯控股 00700 hk
阿里巴巴 09988 hk
苹果/Apple AAPL us
特斯拉/Tesla TSLA us
英伟达/NVIDIA NVDA us
微软/Microsoft MSFT us

对于不在映射表中的股票名称,提示用户提供准确的股票代码。

输出格式要求

查询成功后,以如下紧凑格式展示结果(不要使用表格,避免消息过长导致飞书分页):

📈 **{股票名称}**({股票代码}.{市场})

💰 当前价格:{current_price} 元/港元/美元 | 📊 涨跌幅:{change} ({change_percent}%) ↑/↓
📅 行情时间:{time}
📊 今开 {open} | 最高 {high} | 最低 {low} | 昨收 {prev_close}
📦 成交量:{volume} | 成交额:{amount}

涨跌幅为正时使用 ↑,为负时使用 ↓。成交额如果超过 1 亿,用"亿"为单位显示(保留两位小数);超过 1 万不足 1 亿,用"万"为单位显示。

Edge Cases

  • 输入安全校验:脚本在执行前会严格校验所有输入参数。stock_code 仅允许字母和数字(正则 ^[A-Za-z0-9]{1,10}$),market 仅允许白名单值(sh/sz/hk/us)。任何包含特殊字符、shell 元字符或超长输入都会被拒绝,防止命令注入。
  • 股票代码无效:返回 "无法识别该股票代码,请确认后重试。支持 A 股(6 位数字)、港股(5 位数字)、美股(英文字母)。"
  • 网络请求失败:返回 "网络请求失败,请稍后重试。"
  • 非交易时段:正常返回最近的收盘数据,并提示 "当前为非交易时段,显示的是最近一次的收盘数据。"
  • 股票名称模糊:脚本不支持名称输入。如果用户提供的名称无法在映射表中匹配,agent 应提示用户提供准确的股票代码。
  • API 限流:如遇到限流,等待 1 秒后重试一次,仍失败则提示用户稍后再试。