diff --git a/gpdm/SKILL.md b/gpdm/SKILL.md index 0d0a46b..6298915 100644 --- a/gpdm/SKILL.md +++ b/gpdm/SKILL.md @@ -1,122 +1,128 @@ ---- -name: stock -description: "当用户发送「股票 代码」或「gp 代码」时触发。调用 mairuiapi 实时交易数据接口获取行情,再调用本地微信机器人发消息接口把股票信息发给当前用户。" -argument-hint: "参数为股票代码,例如 600519 或 000001" ---- - -# Stock Skill - -## 描述 -这是一个用于查询股票实时行情并直接发送给当前用户的技能。 - -当用户发送 `股票 600519` 或 `gp 000001` 时,调用 mairuiapi 实时交易数据接口获取行情数据,再调用本地微信机器人接口把格式化后的股票信息发出去。 - -这个仓库里额外提供了一个可执行脚本 `scripts/stock.py`,方便宿主机器人直接调用。 - -## 触发条件 -- 用户发送 `股票 <股票代码>` 或 `gp <股票代码>` -- 股票代码为纯数字(如 `600519`、`000001`) - -## 接口信息 -- 获取股票行情:`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) -```json -[{ - "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_LICENCE`:mairuiapi 的 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_PORT` 和 `ROBOT_FROM_WX_ID`。 -7. 脚本发送 `POST` 请求到 `http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/robot/message/send/text`,请求体为: - ```json - { - "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. 如果任一步骤失败,回复兜底文案:`股票查询失败,请稍后再试。` - -## 回复要求 -- 成功时,直接发送格式化股票信息,不要额外追加解释文字。 -- 失败时,使用固定兜底文案回复。 +--- +name: stock +description: "当用户发送「股票 代码」或「股票 名称」时触发。调用 mairuiapi 实时交易数据接口获取行情,再调用本地微信机器人发消息接口把股票信息发给当前用户。" +argument-hint: "参数为股票代码或名称,例如 600519 或 贵州茅台" +--- + +# Stock Skill + +## 描述 +这是一个用于查询股票实时行情并直接发送给当前用户的技能。 + +当用户发送 `股票 600519` 或 `gp 贵州茅台` 时,调用 mairuiapi 实时交易数据接口获取行情数据,再调用本地微信机器人接口把格式化后的股票信息发出去。 + +支持**股票代码**和**股票名称**两种查询方式,名称支持模糊匹配(如输入"茅台"也能匹配到"贵州茅台")。 + +内置了 100+ 常用 A 股名称映射,覆盖白酒、银行、保险、证券、新能源、科技、医药、消费等主要行业。 + +这个仓库里额外提供了一个可执行脚本 `scripts/stock.py`,方便宿主机器人直接调用。 + +## 触发条件 +- 用户发送 `股票 <股票代码>` 或 `gp <股票代码>` +- 用户发送 `股票 <股票名称>` 或 `gp <股票名称>` +- 股票代码为纯数字(如 `600519`、`000001`) +- 股票名称支持模糊匹配(如 `茅台` → `贵州茅台`) + +## 接口信息 +- 获取股票行情:`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) +```json +[{ + "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_LICENCE`:mairuiapi 的 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_PORT` 和 `ROBOT_FROM_WX_ID`。 +7. 脚本发送 `POST` 请求到 `http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/robot/message/send/text`,请求体为: + ```json + { + "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. 如果任一步骤失败,回复兜底文案:`股票查询失败,请稍后再试。` + +## 回复要求 +- 成功时,直接发送格式化股票信息,不要额外追加解释文字。 +- 失败时,使用固定兜底文案回复。