Coding

Hithink Sector Selector

Try it

通过行业估值、资金流向、涨跌幅、板块类型等多条件组合筛选市场板块。返回符合条件的相关板块数据。当用户询问板块筛选问题时,必须使用此技能。

What it does

通过行业估值、资金流向、涨跌幅、板块类型等多条件组合筛选市场板块。返回符合条件的相关板块数据。当用户询问板块筛选问题时,必须使用此技能。

The skill document

问财选板块 使用指南

版本

1.0.0(与 X-Claw-Skill-Version 保持一致)

技能概述

本技能提供市场板块智能筛选能力,通过自然语言查询支持:

  • 行业估值筛选(PE、PB、估值分位等)
  • 资金流向筛选(主力资金净流入、北向资金等)
  • 涨跌幅筛选(涨幅前几、跌幅榜等)
  • 板块类型筛选(行业板块、概念板块、地域板块等)
  • 成交量筛选(成交额、换手率等)
  • 多条件组合筛选

数据来源:同花顺问财https://www.iwencai.com/unifiedwap/chat)

使用前

首次使用 - 获取 API Key 所有技能都需要 IWENCAI_API_KEY 环境变量才能使用。 如果用户尚未配置,按以下步骤引导:

步骤 1:获取 API Key 在浏览器内打开同花顺i问财SkillHub页面:https://www.iwencai.com/skillhub

步骤 2:登录

步骤 3:点击具体的Skill,打开弹窗查看详情,在安装方式-Agent用户-找到您的IWENCAI_API_KEY这一段,复制

步骤 4:配置环境变量 获取到 API Key 后,直接复制指引文字发送给AI助手,或手动设置环境变量:

跨平台环境变量设置

macOS / Linux (bash / zsh):

export IWENCAI_API_KEY="your-api-key"

Windows (PowerShell):

$env:IWENCAI_API_KEY="your-api-key"

Windows (CMD):

set IWENCAI_API_KEY=your-api-key

核心处理流程

步骤 1: 接收用户 Query

接收用户的自然语言选板块请求,分析用户意图。

步骤 2: Query 改写

将用户问句适当改写为标准的金融查询问句,保持原意不变:

改写规则:

  • 保留用户核心意图(如:涨幅前五、资金流入等)
  • 将口语化表达转为标准金融术语(如"帮我选涨得好的" → "涨幅前五的板块")
  • 适当简化过于复杂的复合条件
  • 改写后需保持原意不变

思维链拆解(如果需要): 根据用户需求自行决定是否拆解思维链:

  • 单次查询:如果用户问题可以直接用单个 query 回答,直接进入下一步
  • 多次查询:如果用户问题涉及多个独立的问句,需要拆分为多个标准 query 分别调用接口

步骤 3: API 调用

调用问财 OpenAPI 网关获取数据,使用 scripts/cli.py CLI 或直接在 skill 逻辑中构造 HTTP 请求。所有发往网关的请求必须严格携带以下 Header:

Header取值说明
AuthorizationBearer ,API Key 仅从环境变量 IWENCAI_API_KEY 读取
Content-Typeapplication/json
X-Claw-Call-Typenormal(正常请求)或 retry(失败后的重试)
X-Claw-Skill-Idhithink-sector-selector(与 skill name 一致)
X-Claw-Skill-Version1.0.0(与本文档版本一致)
X-Claw-Plugin-Idnone
X-Claw-Plugin-Versionnone
X-Claw-Trace-Id每次请求必须新生成的 64 字符全局唯一追踪 ID(推荐 secrets.token_hex(32)

请求体示例:

{
  "query": "改写后的查询语句",
  "page": "1",
  "limit": "10",
  "is_cache": "1",
  "expand_index": "true"
}

Python 调用示例(含 Claw Headers):

import os
import json
import secrets
import urllib.request

url = "https://openapi.iwencai.com/v1/query2data"
api_key = os.environ["IWENCAI_API_KEY"]
trace_id = secrets.token_hex(32)  # 64 字符唯一 ID

payload = {
    "query": "涨幅前五的板块",
    "page": "1",
    "limit": "10",
    "is_cache": "1",
    "expand_index": "true"
}

headers = {
    "Authorization": f"Bearer {api_key}",
    "Content-Type": "application/json",
    "X-Claw-Call-Type": "normal",
    "X-Claw-Skill-Id": "hithink-sector-selector",
    "X-Claw-Skill-Version": "1.0.0",
    "X-Claw-Plugin-Id": "none",
    "X-Claw-Plugin-Version": "none",
    "X-Claw-Trace-Id": trace_id,
}

data = json.dumps(payload).encode("utf-8")
request = urllib.request.Request(url, data=data, headers=headers, method="POST")
response = urllib.request.urlopen(request, timeout=30)
result = json.loads(response.read().decode("utf-8"))

# 解析返回数据
datas = result.get("datas", [])           # 当前页板块列表
code_count = result.get("code_count", 0)  # 符合条件的总板块数
chunks_info = result.get("chunks_info", {})  # 查询字句信息

# 分页提示:如果 code_count > len(datas),通过增加 page 参数翻页

注意: 默认返回 10 条数据,但符合条件的板块总数可能更多,需关注 code_count 字段并通过分页获取全部数据。

步骤 4: 空数据处理

如果 datas 为空或无数据,适当放宽或简化查询条件后重新请求(最多尝试 2 次):

  • 首次重试:去掉过于苛刻的条件,保留核心筛选条件
  • 二次重试:进一步放宽条件或使用更通用的表述

每次重试都算作一次改写,最终返回时需说明最终使用的查询问句。

步骤 5: 数据解析

解析返回的 datas 数组,提取板块名称及相关指标:

for item in datas:
    sector_name = item.get("板块名称")       # 如 "半导体"
    # 其他指标字段根据查询条件不同而变化,如涨跌幅、主力资金净流入等

步骤 6: 数据扩展决策

skill 需要自行决策当前数据是否足够回答用户问题:

  • 如果数据完整:直接返回格式化后的结果且保证选板块表格正确解析为表格展示
  • 如果需要更多背景信息:可以调用其他金融工具或者搜索工具获取相关资讯

步骤 7: 回答用户

组织语言回答用户问题,确保:

  • 结果清晰易懂
  • 如果改写了问句,需特别说明最终使用的查询问句
  • 必须强调数据来源于同花顺问财

请求参数

参数名类型必填说明
querySTRING用户问句
pageSTRING分页参数,默认值:1
limitSTRING分页参数,默认值:10
is_cacheSTRING缓存参数,默认值:1
expand_indexSTRING是否展开指数,默认值:true

响应参数

参数名类型说明
datasARRAY金融数据列表,对象数组,每个对象包含板块名称、涨跌幅、主力资金净流入等字段
code_countINT符合查询条件的总板块数量(注意:可能大于当前返回的 datas 条数)
chunks_infoOBJECT用户问句查询返回的字句信息,包含查询条件的解析结果

响应示例:

{
  "datas": [
    {"板块名称": "半导体", "涨跌幅": 3.25, "主力资金净流入": "50亿"},
    {"板块名称": "人工智能", "涨跌幅": 2.85, "主力资金净流入": "35亿"}
  ],
  "code_count": 50,
  "chunks_info": {
    "query": "涨幅前五的板块",
    "parsed_conditions": ["涨跌幅排名前五"]
  }
}

重要提示:

  • datas 默认只返回 10 条数据(可通过 limit 参数调整)
  • code_count 表示符合条件的总板块数,可能远大于 datas 的长度
  • code_count > len(datas) 时,需要通过 page 参数翻页获取更多数据
  • 返回的表格数据需要解析 datas 数组中的对象字段,如 板块名称涨跌幅主力资金净流入

CLI 使用方式

本 skill 提供跨平台 CLI 脚本 scripts/cli.py,基于 Python 3 标准库实现,无第三方依赖。

命令行参数

参数类型必填说明
--querySTRING直接传入查询字符串
--pageSTRING分页参数,值必须为正整数,默认值:1
--limitSTRING每页条数,值必须为正整数,默认值:10
--api-keySTRINGAPI 密钥(默认从环境变量读取)
--call-typeSTRING调用类型:normal(正常请求)或 retry(重试请求),默认值:normal
--timeoutINT请求超时时间(秒),默认值:30

使用示例

# 直接查询(默认返回 10 条)
python3 scripts/cli.py --query "今日涨幅最大的板块有哪些?"

# 指定分页参数
python3 scripts/cli.py --query "资金净流入的板块" --page "1" --limit "20"

# 指定 API 密钥
python3 scripts/cli.py --query "科技板块" --api-key "your-key"

# 重试请求(放宽条件后使用 retry 标记)
python3 scripts/cli.py --query "今日涨幅最大的板块有哪些?" --call-type "retry"

# 指定超时时间(复杂查询可适当增加)
python3 scripts/cli.py --query "今日涨幅最大的板块有哪些?" --timeout 60

curl 示例(脱敏)

curl -X POST "https://openapi.iwencai.com/v1/query2data" \
  -H "Authorization: Bearer $IWENCAI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Claw-Call-Type: normal" \
  -H "X-Claw-Skill-Id: hithink-sector-selector" \
  -H "X-Claw-Skill-Version: 1.0.0" \
  -H "X-Claw-Plugin-Id: none" \
  -H "X-Claw-Plugin-Version: none" \
  -H "X-Claw-Trace-Id: $(openssl rand -hex 32)" \
  -d '{
    "query": "涨幅前五的板块",
    "page": "1",
    "limit": "10",
    "is_cache": "1",
    "expand_index": "true"
  }'

Windows (PowerShell) 等价示例:

$bytes = New-Object byte[] 32; [System.Security.Cryptography.RandomNumberGenerator]::Create().GetBytes($bytes); $traceId = -join ($bytes | ForEach-Object { $_.ToString("x2") })
Invoke-RestMethod -Uri "https://openapi.iwencai.com/v1/query2data" -Method POST -Headers @{
  "Authorization" = "Bearer $env:IWENCAI_API_KEY"
  "Content-Type" = "application/json"
  "X-Claw-Call-Type" = "normal"
  "X-Claw-Skill-Id" = "hithink-sector-selector"
  "X-Claw-Skill-Version" = "1.0.0"
  "X-Claw-Plugin-Id" = "none"
  "X-Claw-Plugin-Version" = "none"
  "X-Claw-Trace-Id" = $traceId
} -Body '{"query":"涨幅前五的板块","page":"1","limit":"10","is_cache":"1","expand_index":"true"}'

数据来源标注

重要提示

错误处理

  • 密钥缺失(环境变量未设置且未传 --api-key: 代理必须口头提示用户「使用前」中的完整 API Key 获取指引文案,即:

    首次使用 - 获取 API Key 所有技能都需要 IWENCAI_API_KEY 环境变量才能使用。 如果用户尚未配置,按以下步骤引导:

    步骤 1:获取 API Key 在浏览器内打开同花顺i问财SkillHub页面:https://www.iwencai.com/skillhub

    步骤 2:登录

    步骤 3:点击具体的Skill,打开弹窗查看详情,在安装方式-Agent用户-找到您的IWENCAI_API_KEY这一段,复制

    步骤 4:配置环境变量 获取到 API Key 后,直接复制指引文字发送给AI助手,或手动设置环境变量:

  • 无数据返回:引导用户访问同花顺问财(https://www.iwencai.com/unifiedwap/chat)。

  • 最多重试 2 次逐步放宽条件(重试时 X-Claw-Call-Type 改为 retry)。

代码结构

hithink-sector-selector/
├── SKILL.md              # Skill 配置文件
├── LICENSE.txt           # 许可证文件
└── scripts/
    └── cli.py            # CLI 入口(单一脚本,内含 API 调用和数据处理)

Related skills

通过自然语言查询进行 A 股股票筛选,支持行情指标、技术形态、财务指标、行业概念等多条件组合筛选。返回符合条件的相关股票数据。当用户询问针对行情、财务数据、技术指标、行业概念等A股股票筛选相关问题时,必须使用此技能。

3 installs

行业概览与轮动分析。当用户要求"行业分析""板块分析""sector overview""行业轮动""哪个板块有机会"时触发。

3 installs

查询 A 股行业/概念/地域板块的涨跌与资金流向,支持当天实时与指定历史日期(--date); 输出涨跌幅、成交量、主力流入、主力流出,以及板块内个股详情(detail 支持 --hot 双视图)。 数据来自东方财富(akshare)。当用户问 A股板块、行业板块、概念板块、板块涨跌、板块资金流、 换手率、成交量、主力净流入、流入流出、某日板块表现、板块里哪些股票涨得好或资金量大时使用; 须优先执行 scripts/query.py,禁止手写爬虫。

1 installs

Multi-market intelligent stock selection for A-share/HK/US stocks and ETFs. Use when user asks about stock analysis, market scanning, portfolio construction,...

A股板块资金流向扫描器。当用户询问板块资金热点、板块排名、资金流向、哪些板块在涨、热点扫描、板块强弱对比时触发。通过TDX通达信实时行情,对25个主题板块(半导体、AI算力、机器人、创新药、新能源车等)的个股进行量化评分,输出板块热度排名、个股详情和资金流向分类。支持扫描全部板块或指定板块,结果可导出为CSV。触发词:板块扫描、资金流向、热点板块、板块排名、资金热点、板块强弱。

Read A-share themes, sector flows, intraday board charts, limit-ups, and surveys.