Openclaw Stock Skill
使用 data.diemeng.chat 提供的接口查询股票日线、分钟线、财务指标等数据,支持 A 股等市场。
Specification
- Skill ID
- 1018466411/openclaw-stock-data-skill/openclaw-stock-skill
- Publisher
- 1018466411
- Repository
- openclaw-stock-data-skill
- Installs
- 0
- Files
- 11
- Synced
- Sep 23, 2026
How to use it
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
1018466411/openclaw-stock-data-skill/openclaw-stock-skillInstalls these files- .gitignore
- GITHUB.md
- README.md
- SKILL.md
- clawhub.json
- config.json.template
- example.py
- requirements.txt
- skill.json
- stock_api.py
- tests/test_future_realtime_history.py
What this skill tells the agent
� 核心能力
本技能提供强大的股票数据查询与分析能力,主要包含:
- 实时数据:提供实时股票快照、实时分时行情。
- 历史数据:支持查询股票、可转债、ETF、指数等品种的历史数据(日线、分钟线、财务指标等)。
- 自定义通知(开发中):支持涨停、炸板、放量大涨、涨停大额成交等异动信号的自定义消息通知。
�📥 安装方法
npx skills add https://github.com/1018466411/openclaw-stock-data-skill安装时按提示选择:
- 选择 openclaw
- 选择 global 应用于所有 Agent
- Copy to all agents: yes
本技能教会代理如何使用你自建的股票数据服务(注册账号 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): ``json5 { 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
⚠️ 重要说明
1. 权限开通与 403 错误
如果 API 返回 403 错误,说明您的账号没有开通对应接口的权限。 请务必访问官网 <https://data.diemeng.chat/>(海外请访问 https://mg.diemeng.chat/),在个人中心开通所需权限(如股票行情、实时快照、可转债等)。
2. 接口类型区分
- 实时接口:
get_stock_snapshot_daily(不传日期或传今日):获取最新实时快照(价格、成交量、五档盘口等)。get_stock_snapshot_push_history:获取实时推送的历史记录。get_call_auction:获取集合竞价数据。get_future_realtime_history:获取期货实时 1 分钟分时,默认上海时区当天,支持最近 7 个自然日。- 历史接口:
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。
总体说明
- 获取正确的 API Key 并验证:
- 一定要获取到正确的 apiKey 才可以调用接口。
- 获取途径:优先从环境变量
STOCK_API_KEY读取,或从当前目录的config.json获取。如果在 Skill 面板配置了也会注入到环境变量中。 - 基础域名:默认接口的域名是
data.diemeng.chat,如果是海外 IP 则访问 `mg.diemeng.chat`。 - 鉴权方式:所有需要权限的接口都必须带上 API Key,并且必须放到 HTTP Header 里面:
apiKey: <STOCK_API_KEY>(强制要求)Content-Type: application/json- 返回结构:
- 大多数接口返回:
{ "code": 200, "msg": "成功", "data": { ... } } - 少数列表类接口直接返回数组或简单结构,实际响应以 JSON 为准。
- 限流与黑名单:
- API Key 及 IP 都有严格限流与黑名单逻辑:
- 无效 API Key 多次尝试会触发封禁(参见后端
DataAccessVerifier实现)。 - 需优先缓存和复用同一 API Key,不要在循环中频繁切换。
- ⚠️ 数据量限制:除特别说明外,大多数列表类接口单次请求最多返回 10000 条数据。如需获取更多数据,请使用分页参数。
能力概览(建议的工具意图)
代理应将本技能视作一组 HTTP 能力,而不是单一接口:
- get\_stock\_daily\_bars:查询指定股票在某一时间区间内的日线 K 线数据。
- get\_stock\_intraday\_bars:查询分钟级(1/5/15/30/60 分钟)历史数据。
- get\_stock\_finance\_factors:查询日度财务因子(PE、PB、换手率等)。
- get\_stock\_main\_fund\_flow:查询主力资金流向明细(按时间范围/股票代码,支持仅传其一)。
- get\_stock\_main\_fund\_flow\_overview:查询主力资金流向总览(净流入率与分档统计)。
- get\_stock\_limit\_up:查询涨停明细数据(封单、连板、涨停原因等)。
- get\_stock\_list:查询股票基础信息列表,用于代码/名称搜索。
- get\_stock\_calendar\_and\_snapshot:查询交易日历和当日快照。
- get\_stock\_search:使用自然语言条件搜索符合条件的股票(如"PE<20 且换手率>3%")。
- get\_stock\_call\_auction:查询集合竞价数据。
- get\_stock\_closing\_snapshot:查询收盘快照数据。
- get\_stock\_snapshot\_daily:查询实时或历史股票快照(含 Redis 缓存加速)。
- get\_stock\_suspension:查询股票停牌信息。
- get\_stock\_adj\_factor:查询复权因子。
- get\_stock\_indicator:查询股票 MACD、MAVOL、KDJ、RSI、BOLL、MA 技术指标,支持日线/分钟线和前复权。
- get\_etf\_indicator:查询 ETF MACD、MAVOL、KDJ、RSI、BOLL、MA 技术指标。
- get\_bond\_technical\_indicator:查询可转债 MACD、MAVOL、KDJ、RSI、BOLL、MA 技术指标。
- get\_bond\_daily:查询可转债日线数据。
- get\_bond\_indicator\_daily:查询可转债日指标数据。
- get\_bond\_list:查询可转债列表信息。
- get\_index\_realtime\_history:查询指数当天实时 1 分钟级别分时数据。
- get\_index\_weight:查询指数月度成分和权重数据(可选按成分股过滤)。
- get\_future\_realtime\_history:查询期货实时 1 分钟分时,可按合约、合约类型、自然日或精确分钟筛选。
代理在规划调用时,应根据用户自然语言意图,选择以上能力并组合使用。
接口详情与调用规范
1. 日线数据:POST /api/stock/daily
- URL:
{baseUrl}/api/stock/daily - 方法:
POST - Headers:
Content-Type: application/jsonapiKey: <STOCK_API_KEY>- 请求体 JSON(后端
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 位小数。
1.1 复权日线:POST /api/stock/daily_adj
- 请求参数与
POST /api/stock/daily基本一致,额外支持algo(recursive/factor)。 - 新增
volType可选参数:share(默认,按股)或lot(按手)。 - 为兼容历史调用,未传
volType时保持旧行为(按股返回)。
代理在需要“某股某段时间的日 K 线”时,应优先选择该接口。
2. 分钟级历史数据:POST /api/stock/history
- URL:
{baseUrl}/api/stock/history - 方法:
POST - Headers:同上
- 请求体 JSON(后端
HistoryDataRequest):
{
"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:- 允许仅日期(自动补全 00:00:00 和 23:59:59)
- 或完整时间戳
YYYY-MM-DD HH:MM:SS - 响应主体(简化)单位手:
data.list中每条包含:stock_code,trade_time,open,high,low,close,vol,amount。
用于用户询问“某天/某段时间内的分钟级行情、分时数据”等场景。
2.1 技术指标:股票、ETF、可转债、指数
- 股票路径:
POST /api/stock/macd|mavol|kdj|rsi|boll|ma - ETF路径:
POST /api/etf/macd|mavol|kdj|rsi|boll|ma - 可转债路径:
POST /api/bond/macd|mavol|kdj|rsi|boll|ma - 指数路径:
POST /api/index/macd|kdj|rsi|boll|ma,指数不提供 MAVOL - Skill工具:
get_stock_indicator、get_etf_indicator、get_bond_technical_indicator、get_index_indicator - Python便捷函数:股票、ETF、可转债提供
get_<market>_macd|mavol|kdj|rsi|boll|ma;指数提供get_index_macd|kdj|rsi|boll|ma。
通用请求示例:
{
"indicator": "mavol",
"stock_code": "600000.SH",
"level": "daily",
"start_time": "2026-01-01",
"end_time": "2026-07-15",
"mavol_periods": [5, 10],
"vol_type": "share",
"page": 0,
"page_size": 10000
}level支持daily/1min/5min/15min/30min/60min,一次只支持一个代码。- 股票支持
adjust=none/qfq;ETF、可转债和指数当前按不复权行情计算。 - 指数请求使用
index_code,例如000001.SH;分钟行情源不含成交量,因此分钟级指标响应不返回vol。 - 所有标记为可选且带默认值的参数均可省略,未传时由服务端使用默认值。
Use this skill in a project
Open any RiverX project, search the Skills panel for 1018466411/openclaw-stock-data-skill/openclaw-stock-skill, and install it in one click.
