st/gpdm/SKILL.md
2026-05-19 12:58:44 +08:00

4.7 KiB
Raw Blame History

name description argument-hint
stock 当用户发送「股票 代码」或「股票 名称」时触发。调用 mairuiapi 实时交易数据接口获取行情,再调用本地微信机器人发消息接口把股票信息发给当前用户。 参数为股票代码或名称,例如 600519 或 贵州茅台

Stock Skill

描述

这是一个用于查询股票实时行情并直接发送给当前用户的技能。

当用户发送 股票 600519gp 贵州茅台 时,调用 mairuiapi 实时交易数据接口获取行情数据,再调用本地微信机器人接口把格式化后的股票信息发出去。

支持股票代码股票名称两种查询方式,名称支持模糊匹配(如输入"茅台"也能匹配到"贵州茅台")。

内置了 100+ 常用 A 股名称映射,覆盖白酒、银行、保险、证券、新能源、科技、医药、消费等主要行业。

这个仓库里额外提供了一个可执行脚本 scripts/stock.py,方便宿主机器人直接调用。

触发条件

  • 用户发送 股票 <股票代码>gp <股票代码>
  • 用户发送 股票 <股票名称>gp <股票名称>
  • 股票代码为纯数字(如 600519000001
  • 股票名称支持模糊匹配(如 茅台贵州茅台

接口信息

  • 获取股票行情:https://api.mairuiapi.com/hsrl/ssjy/{stock_code}/{licence}
  • 请求方式:GET
  • 发消息接口:http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/robot/message/send/text
  • 请求方式:POST
  • 本地脚本:scripts/stock.py

API 返回示例(贵州茅台 600519

[{
  "t": "2026-05-19 15:00:00",
  "p": 1323.0,
  "pc": -0.75,
  "ud": -9.95,
  "v": 4.97,
  "cje": 6594983723.0,
  "zf": 1.73,
  "hs": 0.4,
  "pe": 15.2,
  "lb": 0.89,
  "fm": 0.18,
  "h": 1342.68,
  "l": 1319.61,
  "o": 1336.0,
  "yc": 1332.95,
  "sz": 16567534944.45,
  "lt": 16567534944.45,
  "zs": 0.04,
  "sjl": 6.12,
  "zdf60": -13.24,
  "zdfnc": -3.93
}]

字段说明

字段 数据类型 字段说明
fm number 五分钟涨跌幅(%
h number 最高价(元)
hs number 换手(%
lb number 量比(%
l number 最低价(元)
lt number 流通市值(元)
o number 开盘价(元)
pe number 市盈率动态总市值除以预估全年净利润例如当前公布一季度净利润1000万则预估全年净利润4000万
pc number 涨跌幅(%
p number 当前价格(元)
sz number 总市值(元)
cje number 成交额(元)
ud number 涨跌额(元)
v number 成交量(手)
yc number 昨日收盘价(元)
zf number 振幅(%
zs number 涨速(%
sjl number 市净率
zdf60 number 60日涨跌幅%
zdfnc number 年初至今涨跌幅(%
t string 更新时间 yyyy-MM-ddHH:mm:ss

环境变量

  • ROBOT_WECHAT_CLIENT_PORT:本地微信机器人服务端口。
  • ROBOT_FROM_WX_ID:当前消息来源用户的 wxid。
  • STOCK_LICENCEmairuiapi 的 licence 密钥(可选,默认使用内置 licence

执行步骤

  1. 当用户发送 股票 <代码>gp <代码> 时触发该技能。
  2. 在仓库根目录下执行本地脚本:python3 scripts/stock.py <股票代码>
  3. 脚本从环境变量 STOCK_LICENCE 获取 licence如果未设置则使用内置默认值。
  4. 脚本发送 GET 请求到 https://api.mairuiapi.com/hsrl/ssjy/{stock_code}/{licence}
  5. 脚本解析返回的 JSON 数据,提取关键字段。
  6. 脚本从环境变量中读取 ROBOT_WECHAT_CLIENT_PORTROBOT_FROM_WX_ID
  7. 脚本发送 POST 请求到 http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/robot/message/send/text,请求体为:
    {
      "to_wxid": "{ROBOT_FROM_WX_ID}",
      "content": "【600519】
    📈 当前价1323.00
    📊 涨跌幅:-0.75%
    📊 涨跌额:-9.95
    ⬆️  最高1342.68
    ⬇️  最低1319.61
    🔓 今开1336.00
    🔒 昨收1332.95
    📈 成交量4.97手
    💰 成交额6594983723.00
    🔄 换手率0.40%
    📐 振幅1.73%
    📊 市盈率15.20
    📊 市净率6.12
    📊 量比0.89
    ⚡ 涨速0.04%
    ⏱ 五分钟涨跌0.18%
    📅 60日涨跌-13.24%
    📅 年初至今:-3.93%
    ====================
    更新时间2026-05-19 15:00:00"
    }
    
  8. 如果任一步骤失败,回复兜底文案:股票查询失败,请稍后再试。

回复要求

  • 成功时,直接发送格式化股票信息,不要额外追加解释文字。
  • 失败时,使用固定兜底文案回复。