/SKILL.md
使用 data.diemeng.chat 提供的接口查询股票日线、分钟线、财务指标等数据,支持 A 股等市场。
npx skillsauth add 1018466411/openclaw-stock-data-skill openclaw-stock-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
本技能提供强大的股票数据查询与分析能力,主要包含:
npx skills add https://github.com/1018466411/openclaw-stock-data-skill
安装时按提示选择:
本技能教会代理如何使用你自建的股票数据服务(注册账号 https://data.diemeng.chat),通过 API Key 进行鉴权,查询股票的日线、分钟线、财务指标等数据。
⚙️ API Key 配置约定
- OpenClaw 会按照
skills.entries.<key>配置 把 API Key 和自定义配置注入到进程环境变量中。- 本技能约定使用环境变量
STOCK_API_KEY作为主密钥,并在metadata.openclaw.primaryEnv中声明,以便通过skills.entries.openclaw-stock-skill.apiKey统一配置。- 推荐的 OpenClaw 配置示例(
~/.openclaw/openclaw.json):{ skills: { entries: { "openclaw-stock-skill": { enabled: true, // 建议在 OpenClaw UI 的 Skill 参数面板里填写 apiKey, // Gateway 会自动将其写入 STOCK_API_KEY 环境变量 apiKey: { source: "env", provider: "default", id: "STOCK_API_KEY" }, env: { // 可在这里直接写死,或通过系统环境变量覆盖 STOCK_API_KEY: "YOUR_REAL_STOCK_API_KEY" }, config: { // 可选:覆盖默认域名 baseUrl: "https://data.diemeng.chat" } } } } }参考文档:Skills Config、Skills
如果 API 返回 403 错误,说明您的账号没有开通对应接口的权限。
请务必访问官网 https://data.diemeng.chat/(海外请访问 https://mg.diemeng.chat/),在个人中心开通所需权限(如股票行情、实时快照、可转债等)。
get_stock_snapshot_daily(不传日期或传今日):获取最新实时快照(价格、成交量、五档盘口等)。get_stock_snapshot_push_history:获取实时推送的历史记录。get_call_auction:获取集合竞价数据。get_daily_data:获取历史日 K 线。get_kline_data:获取历史周期K线(周K、月K)。get_kline_adj_data:获取复权历史周期K线(周K、月K)。get_history_data:获取历史分钟线。get_finance_data:获取历史财务指标。get_financial_indicator:获取财务指标报表数据(stock_financial_indicator)。get_income_statement:获取利润表数据(stock_income)。get_balancesheet:获取资产负债表数据(stock_balancesheet)。get_cashflow_statement:获取现金流量表数据(stock_cashflow)。get_main_fund_flow:获取大小单资金金流向。get_main_fund_flow_overview:获取主力资金流向总览。get_cyq_chips:获取筹码峰分布。get_holder_number:获取股东人数数据。get_pledge_stat:获取股票质押统计数据。get_margin_detail:获取融资融券明细数据。get_stock_snapshot_daily(传历史日期):获取历史快照。get_index_history:获取指数分钟级历史数据。get_index_realtime_history:获取指数当天实时 1 分钟级别分时数据。get_index_weight:获取指数月度成分和权重数据(index_code 必传,可按 stock_code 和 trade_date 筛选)。get_ths_sector_categories:获取同花顺板块分类数据。get_ths_constituent_stocks:获取同花顺成分股数据。get_dc_blocks:获取东方财富板块列表。get_dc_daily:获取东方财富板块日K(按交易日或板块代码)。get_dc_block_stocks:获取东方财富板块成分股(支持板块/日期/股票筛选,空参默认最新日期)。get_tdx_block_stocks:获取通达信板块成分股,返回分页结构 data.total/page/page_size/list,其中 list 项包含 block_code、block_name、block_type、stock_code。STOCK_API_KEY 读取,或从当前目录的 config.json 获取。如果在 Skill 面板配置了也会注入到环境变量中。data.diemeng.chat,如果是海外 IP 则访问 mg.diemeng.chat。apiKey: <STOCK_API_KEY>(强制要求)Content-Type: application/json{ "code": 200, "msg": "成功", "data": { ... } }DataAccessVerifier 实现)。代理应将本技能视作一组 HTTP 能力,而不是单一接口:
代理在规划调用时,应根据用户自然语言意图,选择以上能力并组合使用。
POST /api/stock/daily{baseUrl}/api/stock/dailyPOSTContent-Type: application/jsonapiKey: <STOCK_API_KEY>DailyDataRequest):{
"stock_code": "000001.SZ",
"start_time": "2024-01-01",
"end_time": "2024-01-31",
"volType": "share",
"page": 0,
"page_size": 1000
}
stock_code 可以是单个字符串,也可以是字符串数组。start_time、end_time 格式为 YYYY-MM-DD。volType 可选:share(默认,按股返回)或 lot(按手返回,1手=100股)。page 从 0 开始。data.total:总记录数data.list:每条记录包含 stock_code, stock_name, trade_date, open, high, low, close, vol, amount 等字段,价格与成交量已在后端统一保留 2 位小数,vol 单位由 volType 决定。data.total:总记录数data.list:每条记录包含 stock_code, trade_date, open, high, low, close, vol, amount 等字段,价格与成交量已在后端统一保留 2 位小数。POST /api/stock/daily_adjPOST /api/stock/daily 基本一致,额外支持 algo(recursive/factor)。volType 可选参数:share(默认,按股)或 lot(按手)。volType 时保持旧行为(按股返回)。代理在需要“某股某段时间的日 K 线”时,应优先选择该接口。
POST /api/stock/history{baseUrl}/api/stock/historyPOSTHistoryDataRequest):{
"stock_code": "000001.SZ",
"level": "5min",
"start_time": "2024-01-01 09:30:00",
"end_time": "2024-01-01 15:00:00",
"page": 0,
"page_size": 1000
}
stock_code:仅支持单个股票代码字符串(不支持数组)level:"1min" | "5min" | "15min" | "30min" | "60min"start_time / end_time:
YYYY-MM-DD HH:MM:SSdata.list 中每条包含:stock_code, trade_time, open, high, low, close, vol, amount。用于用户询问“某天/某段时间内的分钟级行情、分时数据”等场景。
POST /api/realtime/history 及 /api/index/realtime/history{baseUrl}/api/realtime/history 或 {baseUrl}/api/index/realtime/historyPOST{
"stock_code": "000001.SZ",
"trade_time": "2026-03-15 09:31:00",
"date": "2026-03-15"
}
(对于指数接口,参数名为 index_code)
stock_code/index_code 或 trade_time 至少提供一个。trade_time 进行去重。调用建议(定时任务拉取全市场数据):
- 建议使用时间 (
trade_time) 来获取实时分时,一次可以获取某一分钟的全市场数据。- 使用定时任务来获取数据,每分钟获取上一分钟的数据。
- 建议在每分钟的 2 到 5 秒后开始获取。
- 如果获取不到,建议暂停 1 秒后继续获取,最多重试不要超过 60 次,避免陷入死循环。
- 建议在每分钟 15 秒之后再调用接口更新一次数据,确保数据的准确性。
POST /api/index/weight{baseUrl}/api/index/weightPOST{
"index_code": "000300.SH",
"stock_code": "600519.SH",
"trade_date": "2026-03-31",
"page": 0,
"page_size": 2000
}
index_code(必填):指数代码stock_code(可选):成分股代码,支持字符串或数组(后端按 con_code 过滤)trade_date(可选):支持 YYYY-MM 或 YYYY-MM-DD,查询时仅按年和月过滤trade_date 不传时默认返回该指数最新月份数据index_code, stock_code, trade_date, weightPOST /api/stock/finance{baseUrl}/api/stock/financePOSTFinanceDataRequest):{
"stock_code": "000001.SZ",
"start_time": "2024-01-01",
"end_time": "2024-03-31",
"page": 0,
"page_size": 1000
}
stock_code, stock_name, trade_date, close, turnover_rate, turnover_rate_f, volume_ratio, pe, pe_ttm, pb, ps, ps_ttm, dv_ratio, dv_ttm, total_share, float_share, free_share, total_mv, circ_mv 等。适合估值分析、换手率、成交金额、市值等相关问题。
POST /api/stock/financial_indicator{baseUrl}/api/stock/financial_indicatorPOST{
"stock_code": "600000.SH",
"end_date": "2025-12-31",
"ann_date": "2026-03-28",
"page": 0,
"page_size": 1000
}
stock_code:股票代码,支持字符串或数组end_date:报告期最后日期,格式 YYYY-MM-DDann_date:公告日期,格式 YYYY-MM-DDstock_code / end_date / ann_date 三选一至少提供一个page 从 0 开始,page_size 最大 10000stock_financial_indicator 全字段):
stock_code, ann_date, end_date, update_flag, create_timeeps, dt_eps, profit_dedt, op_income, ebit, ebitda, gross_margin, grossprofit_margin, netprofit_marginroe, roe_dt, roe_yearly, roa, roa_yearly, roic, roic_yearlybps, ocfps, cfpscurrent_ratio, quick_ratio, debt_to_assetsbasic_eps_yoy, netprofit_yoy, dt_netprofit_yoy, tr_yoy, or_yoy, q_sales_yoy, q_netprofit_yoyrd_expstock_financial_indicator 全字段(除 update_flag、create_time)。POST /api/stock/income{baseUrl}/api/stock/incomePOST{
"stock_code": "600000.SH",
"end_date": "2025-12-31",
"ann_date": "2026-03-28",
"page": 0,
"page_size": 1000
}
stock_code:股票代码,支持字符串或数组end_date:报告期最后日期,格式 YYYY-MM-DDann_date:公告日期,格式 YYYY-MM-DDstock_code / end_date / ann_date 三选一至少提供一个page 从 0 开始,page_size 最大 10000stock_income 全字段(除 update_flag、create_time)。POST /api/stock/balancesheet{baseUrl}/api/stock/balancesheetPOST/api/stock/income 完全一致(stock_code / end_date / ann_date 三选一至少传一个)。stock_balancesheet 全字段(除 update_flag、create_time)。POST /api/stock/cashflow{baseUrl}/api/stock/cashflowPOST/api/stock/income 完全一致(stock_code / end_date / ann_date 三选一至少传一个)。stock_cashflow 全字段(除 update_flag、create_time)。POST /api/stock/main_fund_flow{baseUrl}/api/stock/main_fund_flowPOST{
"start_time": "2026-04-03",
"end_time": "2026-04-03",
"stock_code": ["600000.SH", "000001.SZ"],
"page": 0,
"page_size": 1000
}
start_time / end_time:交易日期范围,格式 YYYY-MM-DD,闭区间;当 start_time = end_time 时可查询当天数据stock_code:股票代码,支持字符串或数组stock_code 和 (start_time + end_time) 至少提供其一page 从 0 开始,page_size 最大 10000trade_date, stock_codebuy_sm_vol, buy_sm_amount, sell_sm_vol, sell_sm_amountbuy_md_vol, buy_md_amount, sell_md_vol, sell_md_amountbuy_lg_vol, buy_lg_amount, sell_lg_vol, sell_lg_amountbuy_elg_vol, buy_elg_amount, sell_elg_vol, sell_elg_amountnet_mf_vol, net_mf_amountPOST /api/stock/main_fund_flow_overview{baseUrl}/api/stock/main_fund_flow_overviewPOST{
"start_time": "2026-04-03",
"end_time": "2026-04-03",
"stock_code": "600000.SH",
"page": 0,
"page_size": 1000
}
start_time / end_time:交易日期范围,格式 YYYY-MM-DD,闭区间;当 start_time = end_time 时可查询当天数据stock_code:股票代码,支持字符串或数组stock_code 和 (start_time + end_time) 至少提供其一page 从 0 开始,page_size 最大 10000trade_date, stock_code, name, close, pct_changenet_amount, net_amount_ratebuy_elg_amount, buy_elg_amount_ratebuy_lg_amount, buy_lg_amount_ratebuy_md_amount, buy_md_amount_ratebuy_sm_amount, buy_sm_amount_ratePOST /api/stock/cyq_chips{baseUrl}/api/stock/cyq_chipsPOST{
"start_time": "2026-04-03",
"end_time": "2026-04-03",
"stock_code": "600000.SH",
"page": 0,
"page_size": 1000
}
start_time / end_time:交易日期范围,格式 YYYY-MM-DD,闭区间;当 start_time = end_time 时可查询当天数据stock_code:股票代码,支持字符串或数组stock_code 和 (start_time + end_time) 至少提供其一page 从 0 开始,page_size 最大 10000trade_date, stock_code, price, percentGET /api/stock/list{baseUrl}/api/stock/listGETstock_code(可选):精确股票代码筛选page:默认 0page_size:默认 20000success 结构中):
data.totaldata.list:包含 stock_code, name, area, industry, list_date, symbol, list_status, delist_date, is_hs 等。当用户只给出股票名称、地区、行业等描述时,可先通过该接口获取匹配列表,再提示用户选择具体代码。
GET/POST /api/basic/calendar{baseUrl}/api/basic/calendarGET / POSTstart_time: YYYY-MM-DDend_time: YYYY-MM-DDdata 为数组,每条含 date, is_open(1 为交易日,0 为休市)。当用户问“某段时间哪些是交易日”“下一个交易日是什么时候”等,可使用此接口。
POST /api/stock/search{baseUrl}/api/stock/searchPOSTContent-Type: application/jsonapiKey: <STOCK_API_KEY>{
"query": "pe_ttm < 20 且 turnover_rate > 3%",
"stock_code": "000001.SZ",
"date": "2024-01-01",
"page": 0,
"page_size": 100,
"sort_by": "pe_ttm",
"sort_order": "asc"
}
query(必填):搜索条件,支持自然语言或表达式
pe_ttm < 20、turnover_rate > 3%、pe_ttm < 20 且 turnover_rate > 3%市盈率小于20、换手率大于3%circ_mv > 100亿、volume > 1000万stock_code(可选):精确股票代码筛选date(可选):日期,格式 YYYY-MM-DD 或 MM-DD(默认为当年)
stock_snapshot_daily(最新实时数据)stock_finance_daily(历史财务数据)page:页码,从 0 开始page_size:每页数量,最大 1000sort_by(可选):排序字段,如 pe_ttm、turnover_ratesort_order(可选):排序方向 asc 或 desc(默认 desc)price / close:股价/收盘价pct_chg:涨跌幅turnover_rate:换手率pe / pe_ttm:市盈率pb:市净率total_mv / circ_mv:总市值/流通市值total_share / float_share:总股本/流通股本volume / turnover:成交量/成交额dividend_ratio:股息率data.total:总记录数data.list:符合条件的股票列表重要提醒:该接口单次请求最多返回 1000 条数据。如需获取更多结果,请使用分页功能。
适用场景:用户需要根据财务指标筛选股票,如"帮我找出 PE<20 的股票"、"换手率大于 5% 的股票有哪些"。
get_future_basic):获取期货合约的基础信息数据,包括乘数、交割方式、上市日期等。get_future_mapping):获取期货主连或连续合约与实际月合约的映射关系。get_future_minute):获取期货合约的历史分钟K线数据。POST /api/stock/call_auction{baseUrl}/api/stock/call_auctionPOSTapiKey: <STOCK_API_KEY>{
"stock_code": "000001.SZ",
"start_time": "2024-01-01 09:15:00",
"end_time": "2024-01-01 09:25:00",
"page": 0,
"page_size": 100
}
start_time / end_time:时间范围,支持仅日期(自动补全时间)page_size:最大 10000stock_code, name, trade_time, close, open, high, low, pre_close, vol, amount, turnover_rate, pe, pb, pe_ttm, dv_ttm 等重要提醒:单次请求最多返回 10000 条数据。
POST /api/stock/closing_snapshot{baseUrl}/api/stock/closing_snapshotPOSTapiKey: <STOCK_API_KEY>{
"stock_code": "000001.SZ",
"start_time": "2024-01-01 15:00:00",
"end_time": "2024-01-01 15:05:00",
"page": 0,
"page_size": 100
}
重要提醒:单次请求最多返回 10000 条数据。
POST /api/stock/snapshot_daily{baseUrl}/api/stock/snapshot_dailyPOSTapiKey: <STOCK_API_KEY>{
"stock_code": "000001.SZ",
"date": "2024-01-01",
"page": 0,
"page_size": 10000
}
date 或提供今日日期,系统优先从 Redis 缓存读取最新的实时快照数据。page_size:最大 10000。重要提醒:这是获取实时行情快照的主要接口。
POST /api/stock/snapshot_push_history{baseUrl}/api/stock/snapshot_push_historyPOSTapiKey: <STOCK_API_KEY>GET /api/stock/suspension{baseUrl}/api/stock/suspensionGETapiKey: <STOCK_API_KEY>stock_code(可选)trade_date(可选)page, page_sizePOST /api/stock/adj_factor{baseUrl}/api/stock/adj_factorPOSTapiKey: <STOCK_API_KEY>{
"stock_code": "000001.SZ",
"start_time": "2024-01-01",
"end_time": "2024-01-31",
"page": 0,
"page_size": 10000
}
stock_code, stock_name, trade_date, factor_a, factor_b(自定义复权因子)重要提醒:单次请求最多返回 10000 条数据。
POST /api/stock/daily_dump{baseUrl}/api/stock/daily_dumpPOSTapiKey: <STOCK_API_KEY>{
"date": "2024-01-01",
"level": "daily"
}
level 参数:daily | 1min | 5min | 15min | 30min | 60minPOST /api/bond/daily{baseUrl}/api/bond/dailyPOSTapiKey: <STOCK_API_KEY>{
"stock_code": "128136.SZ",
"start_time": "2024-01-01",
"end_time": "2024-01-31",
"page": 0,
"page_size": 10000
}
stock_code(可选):可转债代码,如 128136.SZ,支持数组start_time、end_time:格式为 YYYY-MM-DDstock_code, stock_name, trade_date, open, high, low, close, prev_close, change, pct_chg, factor, vol, amount单次请求最多返回 10000 条数据。
POST /api/bond/indicator_daily{baseUrl}/api/bond/indicator_dailyPOSTapiKey: <STOCK_API_KEY>{
"stock_code": "128136.SZ",
"start_date": "2024-01-01",
"end_date": "2024-01-31",
"page": 0,
"page_size": 10000
}
stock_code(可选):可转债代码,支持数组start_date、end_date(可选):日期范围,至少提供一个stock_code, stock_name, trade_date, name, pre_close, open, high, low, close, change, pct_chg, vol, amount, remain_size, pure_bond, pure_premium, conv_value, conv_premium 等单次请求最多返回 10000 条数据。
POST /api/bond/list{baseUrl}/api/bond/listPOSTapiKey: <STOCK_API_KEY>{
"bond_code": "128136.SZ",
"stock_code": "000001.SZ",
"exchange": "SZSE",
"page": 0,
"page_size": 10000
}
bond_code(可选):可转债代码筛选stock_code(可选):正股代码筛选exchange(可选):交易所筛选(SZSE/SSE)bond_code, bond_name, bond_short_name, conv_code, stock_code, stock_name 等完整可转债信息POST /api/stock/limit_up{baseUrl}/api/stock/limit_upPOSTapiKey: <STOCK_API_KEY>{
"stock_code": ["603716.SH", "000001.SZ"],
"start_time": "2026-04-10",
"end_time": "2026-04-10",
"page": 0,
"page_size": 10000
}
stock_code(可选):股票代码,支持字符串或数组start_time、end_time(必填):日期范围,格式 YYYY-MM-DDpage:页码,从 0 开始page_size:每页数量,最大 10000trade_date, stock_code, stock_name, price, change_percentsealed_volume, sealed_amount, sealed_turnover_ratio, sealed_flow_ratiofirst_limit_time, final_limit_time, open_count, consecutive_days, boardslimit_type, is_limit_up, reason_textGET /api/ths/hot / POST /api/ths/hot{baseUrl}/api/ths/hotGET / POSTapiKey: <STOCK_API_KEY>market(可选):热榜类型 (默认:热股)。可选值:热股, ETF, 可转债, 行业板块, 概念板块, 期货trade_date(可选):指定交易日期,支持 YYYY-MM-DD 或 YYYYMMDD;不传默认返回最新交易日GET 使用 Query 参数,POST 使用 JSON Bodytrade_date: 交易日期update_time: 排行榜更新时间list: 热榜数据列表,包含 name (名称), code (代码), rank (排名), pct_change (涨跌幅%), hot (热度值)GET {{WS_BASE_URL}}/ws/streamURL:{{WS_BASE_URL}}/ws/stream?token=<STOCK_API_KEY>&types=...
协议:WebSocket
鉴权:Query 参数 token(使用 API Key)
订阅参数:types(逗号分隔,支持多选)
六类推送与订阅值:
limit_uplimit_up_brokenstock_limit_up(包含 limit_up + limit_up_broken)limit_downlimit_down_brokenstock_limit_down(包含 limit_down + limit_down_broken)连接示例:
{{WS_BASE_URL}}/ws/stream?token=<STOCK_API_KEY>&types=stock_limit_up,stock_limit_down动态订阅示例:
{"action":"subscribe","types":["stock_limit_up","stock_limit_down"]}
{
"type": "stock_limit_event",
"data": {
"type": "limit_up",
"stock_code": "600000.SH",
"stock_name": "浦发银行",
"change_rate": 10.0,
"source": "fast",
"timestamp": "2026-04-17 11:23:45"
}
}
type 固定为 stock_limit_eventdata.type 可能值:limit_up / limit_up_broken / limit_down / limit_down_brokenstock_code, stock_name, change_rate, source, timestampSTOCK_API_KEY 读取(由 OpenClaw 按 skills.entries.openclaw-stock-skill.apiKey 注入)。apiKey 或 api_key,后端会视为安全风险。code = 401:API Key 无效或缺失,应提示用户检查在 OpenClaw Skill 配置中的 API Key。code = 403:权限不足或下载次数/访问次数限制,应向用户说明权限/限流约束。code = 429:请求过于频繁,需减少调用频率或提示用户稍后再试。data.total 很大,代理应分批分页请求,并在回答中做汇总,而不是一次性获取全部数据。POST /api/stock/daily,stock_code = "000001.SZ",时间区间为 2024-01-01 至 2024-01-31。data.list 进行整理,总结涨跌幅、最大回撤、平均成交额等。GET/POST /api/basic/calendar。is_open = 1 的日期列出,说明哪些是交易日。本技能不包含额外可执行脚本,完全通过指导代理调用现有 HTTP 接口工作。所有请求都应优先使用 STOCK_API_KEY 环境变量,并遵守上述限流与安全约定。
data-ai
Example TaskFlow authoring pattern for inbox triage. Use when messages need different treatment based on intent, with some routes notifying immediately, some waiting on outside answers, and others rolling into a later summary.
data-ai
Example TaskFlow authoring pattern for inbox triage. Use when messages need different treatment based on intent, with some routes notifying immediately, some waiting on outside answers, and others rolling into a later summary.
data-ai
OpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
data-ai
OpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.