--- name: klineshare description: >- Access KlineShare A-share market data (realtime, kline, trend, limit-up, LHB, moneyflow, ETF, BJ) via MCP when available, otherwise HTTP REST with curl. Use when the user asks for 行情/K线/涨停/龙虎榜/资金流向/ETF, or when MCP tools are missing / unsupported by the current agent. --- # KlineShare 行情(MCP 优先,HTTP 兜底) ## 何时用本 skill - 用户要查 A 股/指数/ETF 实时、分时、K 线、涨停、龙虎榜、资金流向等 - 当前 agent **没有** KlineShare MCP 工具,或 MCP 调用失败 - 需要多页历史 K 线(用 `timestamp` 向前翻页) ## 调用优先级 1. **有 MCP**(工具名如 `get_kline`、`get_realtime`)→ 直接调 MCP,结束 2. **无 MCP** → 用下方 HTTP(`curl` + `X-API-Key`) 不要用浏览器自动化代替 API。不要把 API Key 写进回复或提交到 git。 ## 鉴权 ```bash export EXT_API_KEY="${EXT_API_KEY:?missing}" # 必须与签发 Key 的本站一致;勿改用其它入口 BASE_URL="${EXT_API_BASE_URL:-{{PORTAL_ORIGIN}}}" ``` Header:`X-API-Key: $EXT_API_KEY` 公开接口(无需 Key):`/v1/health`、`/public/v1/catalog`、`/public/v1/indices` 首次不确定权限时先: ```bash curl -sS -H "X-API-Key: $EXT_API_KEY" "$BASE_URL/v1/me" | head -c 4000 ``` ## Symbol 与路由(易错,必守) | 标的 | symbol 示例 | 路径前缀 | |------|-------------|----------| | 沪深股票 | `600519.SS`、`000001.SZ` | `/v1/realtime` `/v1/trend` `/v2/kline` | | 指数 | `000001.SS`、`399001.SZ` | `/v1/index/...`(K 线用 `/v2/index/kline`) | | 全球指数 | `DJI.GI`、`SPX.GI`、`KS11.GI` | `/v1/global-index/realtime`、`/v1/global-index/trend`、`/v2/global-index/kline`;清单 `/public/v1/global-indices` | | 国际债券收益率 | `US10Y.GB`、`JP10Y.GB` | `/v1/global-bond/realtime`、`/v2/global-bond/kline`;清单 `/public/v1/global-bonds` | | 美股 | `AAPL.US`、`TSLA.US` | `/v1/usstock/realtime`、`/v1/usstock/trend`、`/v2/usstock/kline`;清单 `/public/v1/usstocks` | | 北交所 | `920000.BJ` | `/v1/bj/...` | | ETF | `515250.SS`、`159915.SZ` | `/v1/etf/...`(K 线用 `/v2/etf/kline`) | - ETF **禁止**走 `/v1/kline` / `/v1/realtime`(会 400);用 `/v2/etf/kline` 等 - 指数 **禁止**走个股路径(会 400);用 `/v1/index/realtime` 等;清单见 `/public/v1/indices` - 单券 `/v1/kline`、`/v1/index/kline`、`/v1/etf/kline` **已过时**,请用 `/v2/kline`、`/v2/index/kline`、`/v2/etf/kline` - 北交所用 `bj_*` 路径;无实时,仅历史分时/K 线 - 指数 K 线复权固定 `adjust_type=none` ## 常用 HTTP 示例 ```bash # 实时 curl -sS -H "X-API-Key: $EXT_API_KEY" \ "$BASE_URL/v1/realtime?symbol=600519.SS" # 日 K v2(period 秒:60/300/900/1800/3600/86400/604800/2592000) curl -sS -H "X-API-Key: $EXT_API_KEY" \ "$BASE_URL/v2/kline?symbol=600519.SS&period=86400&adjust_type=forward&count=100&source=live" # ETF 日 K v2 curl -sS -H "X-API-Key: $EXT_API_KEY" \ "$BASE_URL/v2/etf/kline?symbol=515250.SS&period=86400&count=100" # 涨停池 curl -sS -H "X-API-Key: $EXT_API_KEY" "$BASE_URL/v1/limit-up" # 龙虎榜日榜 curl -sS -H "X-API-Key: $EXT_API_KEY" "$BASE_URL/v1/lhb/daily" ``` 成功体一般是 `{ "success": true, "data": ..., "meta": ... }`。 失败看 `code`/`message`(401 Key、403 scope、429 限流)。 ## 历史 K 线翻页 单次 `count` 有套餐上限。需要更早历史时: 1. 请求一页(建议 `source=hist`) 2. 取返回中最早一根 bar 的 `timestamp`(秒) 3. 再请求 `timestamp=<最早-1>`,合并去重,直到没有新 bar 详见 [endpoints.md](endpoints.md)「K 线翻页」。 ## 工作流建议 **盘面**:`/v1/limit-up` → ladder / plates → 必要时 realtime / moneyflow **个股**:stock/corp → realtime → kline → lhb/stock、moneyflow **ETF**:一律 `/v1/etf*` 回答时用数据说话:给出关键数字、日期、symbol;不要编造未返回的字段。 ## 更多 - 工具 ↔ 路径对照:[endpoints.md](endpoints.md) - 人类可读文档:{{PORTAL_ORIGIN}}/docs - MCP 接入:{{PORTAL_ORIGIN}}/docs/mcp - 完整接口说明:{{PORTAL_ORIGIN}}/llms-full.txt