Install
openclaw skills install steel-source-query钢材货源查询与交易平台 Skill。 支持钢材现货价格查询、库存共享发布、采购需求发布、语音录入等功能的 B2B 交易平台。 触发场景: - 询问价格:"查一下螺纹钢价格"、"唐山热轧板卷多少钱"、"今天钢材行情" - 查询库存:"看看库存"、"有哪些钢材"、"查库存" - 发布库存:"我有角钢50吨"、"发布库存" - 采购需求:"我要买50吨角钢"、"发布采购需求" - 导入库存:"导入库存Excel"、"上传库存文件"、"批量导入" - 走势分析:"螺纹钢最近走势如何"、"分析一下价格"、"行情预测" - 数据源:"查看数据源状态"、"切换数据源" - 推送设置:"设置每日推送"、"取消价格推送"
openclaw skills install steel-source-query核心原则:友好、专业、有服务意识
使用礼貌用语
主动引导
错误处理
信息结构化
价格查询成功:
✅ 查询成功!
📍 唐山 螺纹钢
💰 今日价格:3915 元/吨
📡 数据来源:找钢网
🕐 更新时间:2026-04-19
需要我帮您:
• 分析价格走势
• 对比其他地区价格
• 导出价格表
查询失败:
抱歉,暂时未能查询到该品种的价格。
可能的原因:
• 该品种在该地区暂无报价
• 网络连接问题
建议您:
• 换个地区或品种试试
• 稍后再试
有其他我可以帮您的吗?
引导输入:
请告诉我您要查询的钢材信息:
📍 地区:如唐山、上海、广州...
🔩 品种:如螺纹钢、热轧板卷...
📏 规格(可选):如 Φ12-14 HRB400E
例如:
• "唐山螺纹钢多少钱?"
• "查一下上海热轧板卷价格"
触发:"查一下钢材价格" / "多少钱"
交互流程:
当用户只说"查价格"时,引导用户补充信息:
用户:查一下价格
执行:
python scripts/query_helper.py返回提示:
📍 请告诉我您要查询的钢材信息: 【地区】如:唐山、上海、广州、北京... 【品种】如:螺纹钢、热轧板卷、冷轧板卷... 【规格】(可选)如:Φ12-14 HRB400E 示例: • 唐山螺纹钢 • 上海热轧板卷 4.75*1500*C • 查一下广州冷轧板卷价格
查看支持选项:
# 查看支持的地区
python scripts/query_helper.py --regions
# 查看支持的品种
python scripts/query_helper.py --types
# 查看某品种的规格示例
python scripts/query_helper.py --spec 螺纹钢
完整查询示例:
用户:查一下唐山螺纹钢价格
执行:
python scripts/scrape_price.py --type 螺纹钢 --region 唐山返回:
唐山 螺纹钢 今日价格:3915 元/吨 数据来源:找钢网 时间:2026-04-19
快捷查询(支持常用默认):
触发:"分析一下螺纹钢走势"
操作:
python scripts/analyze_trend.py --type 螺纹钢 --region 唐山 --days 30
返回示例:
📈 螺纹钢 (唐山) 价格走势分析
走势方向: 📈 上涨
趋势强度: moderate
📊 统计数据:
涨跌幅: +2.5%
最高价: 3950 元/吨
最低价: 3820 元/吨
波动率: 3.2%
💡 操作建议: 上涨趋势稳定,可考虑适量采购
触发:"看看库存"
操作:
python scripts/inventory.py list
触发:"我要导入库存Excel"
操作:
python scripts/inventory_excel.py import /path/to/xxx.xlsx
触发:"查看数据源状态"
操作:
python scripts/multi_source.py
触发:"导出价格表" / "生成Excel"
操作:
# 查询默认品种并导出
python scripts/export_price_excel.py --default --output 钢材价格表.xlsx
# 指定品种导出
python scripts/export_price_excel.py --types 螺纹钢,热轧板卷,冷轧板卷 --region 唐山 --output 我的价格表.xlsx
功能:
触发:钢贸商发送语音或文字描述库存
支持格式:
"我这有角钢50乘5的Q235B,有50吨,今天卖3850" "槽钢20号Q235B,30吨,价格3900" "螺纹钢12到14的HRB400E,100吨,3850一吨"
操作:
python scripts/voice_inventory.py
自动解析:
触发:"发布库存" / "我要卖货"
操作:
# 发布单条库存
python -c "
from scripts.inventory_market import InventoryPublisher, PublicInventoryItem
item = PublicInventoryItem(
id='',
type='角钢',
spec='50*5',
material='Q235B',
quantity=50,
price=3850,
warehouse='唐山',
supplier='张三钢贸',
contact='张经理',
phone='13800138001'
)
InventoryPublisher.publish(item)
"
触发:"搜索库存" / "找角钢" / "买钢材"
操作:
# 搜索全部
python scripts/inventory_market.py search
# 按地区搜索
python scripts/inventory_market.py search --region 唐山
# 按品种搜索
python scripts/inventory_market.py search --type 角钢
# 按价格筛选
python scripts/inventory_market.py search --max-price 4000
# 组合搜索
python scripts/inventory_market.py search --region 唐山 --type 角钢 --max-price 3900
返回示例:
🔍 找到 2 条库存:
【1】角钢 50*5 Q235B
💰 价格:3850 元/吨
📦 数量:50 吨
📍 仓库:唐山
🏢 供应商:张三钢贸
📞 电话:138****8001
🕐 发布:今天
【2】角钢 63*6 Q235B
💰 价格:3900 元/吨
...
查看平台数据:
python scripts/inventory_market.py stats
返回:
📊 平台库存统计
总库存数:4
在售库存:4
按品种分布:
角钢: 1条
槽钢: 1条
...
触发:"设置每日推送"
生成日报:
# 测试模式
python scripts/push_daily.py --test --types 螺纹钢,热轧板卷 --region 唐山
# 正式推送(需配合 cron)
python scripts/push_daily.py
设置定时任务:
# 每天 9:00 推送
crontab -e
# 添加:
0 9 * * * cd /workspace/projects/workspace/skills/steel-price-query && python scripts/push_daily.py
| 优先级 | 数据源 | 状态 | 说明 |
|---|---|---|---|
| 1 | 找钢网 | ✅ 推荐 | 稳定,反爬弱 |
| 2 | 我的钢铁网 | ⚠️ 备用 | 反爬严格 |
智能切换:
| 字段名 | 类型 | 说明 |
|---|---|---|
| 品种 | 单选 | 角钢/槽钢/螺纹钢/汽车板等 |
| 规格 | 文本 | 50*5 / Φ12-14 等 |
| 材质 | 单选 | Q235B / HRB400E 等 |
| 数量(吨) | 数字 | 库存数量 |
| 单价(元/吨) | 数字 | 价格 |
| 仓库 | 文本 | 唐山/天津/上海等 |
| 供应商 | 文本 | 公司名称 |
| 联系人 | 文本 | 姓名 |
| 电话 | 电话 | 手机号 |
| 微信号 | 文本 | 微信号 |
| 状态 | 单选 | 在售/已售 |
| 发布时间 | 日期 | 发布时间 |
使用 feishu_bitable_app_table_record 工具查询:
action: list
app_token: A27gbl3lDaheavs4sFhcO1K4ngg
table_id: tblOpHmJjdqqr3aD
使用 feishu_bitable_app_table_record 工具创建:
action: batch_create
app_token: A27gbl3lDaheavs4sFhcO1K4ngg
table_id: tblOpHmJjdqqr3aD
records: [{"fields": {"品种": "角钢", "规格": "50*5", "数量(吨)": 50, "单价(元/吨)": 3850, "仓库": "唐山", "供应商": "XX公司", "状态": "在售"}}]
skills/steel-source-query/
├── SKILL.md # 本文件
├── scripts/
│ ├── scrape_price.py # 价格抓取(主入口)
│ ├── analyze_trend.py # 走势分析
│ ├── push_daily.py # 定时推送
│ ├── export_price_excel.py # 导出价格Excel
│ ├── responses.py # 友好回复模板
│ ├── voice_inventory.py # 语音库存录入 ⭐️新
│ ├── inventory_market.py # 库存共享与搜索(本地版)
│ ├── inventory_market_cloud.py # 库存共享(飞书多维表格版)
│ ├── inventory.py # 库存管理
│ ├── inventory_excel.py # Excel导入
│ ├── multi_source.py # 多数据源管理
│ ├── query_helper.py # 查询交互助手
│ └── requirements.txt # 依赖
├── data/
│ ├── prices.json # 价格缓存
│ ├── inventory.json # 库存数据(本地备份)
│ ├── inventory_public.json # 公开库存
│ └── trends.json # 走势数据
└── references/
└── config.template.json # 配置模板
pip install -r scripts/requirements.txt
| 华北 | 华东 | 华南 | 其他 |
|---|---|---|---|
| 唐山 | 上海 | 广州 | 武汉 |
| 北京 | 杭州 | 深圳 | 重庆 |
| 天津 | 南京 | - | 西安 |
| - | 无锡 | - | 沈阳 |
建筑钢材:
| 品种 | 常用规格示例 |
|---|---|
| 螺纹钢 | Φ12-14 HRB400E, Φ16-25 HRB400E, Φ28-32 HRB400E |
| 线材/高线 | Φ6.5 HPB300, Φ8 HPB300, Φ10 HPB300 |
| 盘螺 | Φ6 HRB400E, Φ8 HRB400E, Φ10 HRB400E |
板材:
| 品种 | 常用规格示例 |
|---|---|
| 热轧板卷 | 4.751500C Q235B, 3.01250C Q235B, 5.751500C Q355B |
| 冷轧板卷 | 1.01250C SPCC, 2.01250C DC01, 0.81000C SPCC |
| 中厚板 | 10mm Q235B, 20mm Q235B, 30mm Q345B, 40mm Q355B |
| 镀锌板卷 | 1.01250C DX51D+Z, 2.01250C SGCC |
| 花纹板 | 3.01250C Q235B, 4.01500C Q235B |
型钢:
| 品种 | 常用规格示例 |
|---|---|
| H型钢 | 100100 Q235B, 200100 Q235B, 300150 Q235B, 400200 Q355B |
| 角钢 | 404 Q235B, 505 Q235B, 636 Q235B, 758 Q355B |
| 槽钢 | 10# Q235B, 16# Q235B, 20# Q235B, 25# Q355B, 32# Q355B |
| 工字钢 | 16# Q235B, 20# Q235B, 25# Q235B, 32# Q355B |
| 扁钢 | 404 Q235B, 505 Q235B, 60*6 Q355B |
| 圆钢 | Φ20 Q235B, Φ25 45#, Φ30 Q355B |
| 方钢 | 2020 Q235B, 3030 45#, 40*40 Q355B |
管材:
| 品种 | 常用规格示例 |
|---|---|
| 焊管 | Φ483.5 Q235B, Φ894 Q235B, Φ114*4 Q355B |
| 无缝管 | Φ894 20#, Φ1084.5 20#, Φ133*5 Q355B |
| 镀锌管 | Φ483.5 Q235B, Φ894 Q235B, DN100 Q235B |
| 方管 | 50503 Q235B, 80804 Q235B, 1001004 Q355B |
| 矩形管 | 60403 Q235B, 80403 Q235B, 100504 Q355B |
规格说明:不同钢贸商可能有不同规格库存,精确规格有助于库存匹配
查看全部规格:回复 规格 + 品种名,如 规格 角钢