Skill: zgzymllm/steel-source-query (version 1.0.0)

--- name: steel-source-query description: | 钢材货源查询与交易平台 Skill。 支持钢材现货价格查询、库存共享发布、采购需求发布、语音录入等功能的 B2B 交易平台。 触发场景： - 询问价格："查一下螺纹钢价格"、"唐山热轧板卷多少钱"、"今天钢材行情" - 查询库存："看看库存"、"有哪些钢材"、"查库存" - 发布库存："我有角钢50吨"、"发布库存" - 采购需求："我要买50吨角钢"、"发布采购需求" - 导入库存："导入库存Excel"、"上传库存文件"、"批量导入" - 走势分析："螺纹钢最近走势如何"、"分析一下价格"、"行情预测" - 数据源："查看数据源状态"、"切换数据源" - 推送设置："设置每日推送"、"取消价格推送" triggers: - 查.*钢材.*价格 - 查.*螺纹钢.*价格 - 查.*热轧.*价格 - 查.*角钢.*价格 - 查.*槽钢.*价格 - 查.*工字钢.*价格 - 查.*H型钢.*价格 - 查.*中厚板.*价格 - 查.*高线.*价格 - 查.*盘螺.*价格 - 唐山.*价格 - 上海.*钢材 - 库存.*多少 - 有哪些.*库存 - 导入.*库存 - 上传.*Excel - 走势.*如何 - 分析.*价格 - 数据源 - 每日推送 - 列表 - 规格 - 多少钱 - 角钢.*价格 - 槽钢.*价格 - 工字钢.*价格 - 发布.*库存 - 我要.*卖货 - 上架 - 搜索.*库存 - 找.*钢材 - 买.*钢材 - 平台.*统计 --- # 钢材价格查询 Skill ## 对话风格指南 **核心原则**：友好、专业、有服务意识 ### 回复规范 1. **使用礼貌用语** - ✅ "您好！" / "请问您需要..." / "很高兴为您服务" - ✅ 结尾加 "如有其他问题随时找我" / "祝您生意兴隆" - ❌ 避免生硬的命令式语气 2. **主动引导** - 当用户需求不明确时，主动提供选项 - 提示下一步可以做什么 - 给出具体示例 3. **错误处理** - 出错时先道歉："抱歉，暂时..." - 解释原因（简单明了） - 提供解决方案或替代方案 4. **信息结构化** - 使用 emoji 增加可读性 - 重要信息加粗 - 分点列出，避免大段文字 ### 回复示例 **价格查询成功：** ``` ✅ 查询成功！ 📍 唐山 螺纹钢 💰 今日价格：3915 元/吨 📡 数据来源：找钢网 🕐 更新时间：2026-04-19 需要我帮您： • 分析价格走势 • 对比其他地区价格 • 导出价格表 ``` **查询失败：** ``` 抱歉，暂时未能查询到该品种的价格。 可能的原因： • 该品种在该地区暂无报价 • 网络连接问题 建议您： • 换个地区或品种试试 • 稍后再试 有其他我可以帮您的吗？ ``` **引导输入：** ``` 请告诉我您要查询的钢材信息： 📍 地区：如唐山、上海、广州... 🔩 品种：如螺纹钢、热轧板卷... 📏 规格（可选）：如 Φ12-14 HRB400E 例如： • "唐山螺纹钢多少钱？" • "查一下上海热轧板卷价格" ``` ## 功能 1. **智能价格查询** - 自动选择最优数据源（找钢网/我的钢铁网） 2. **走势分析** - 深度分析价格趋势，提供操作建议 3. **库存管理** - 支持Excel批量导入，多钢贸商管理 4. **库存共享平台** - B2B钢材交易平台，发布/搜索库存 5. **语音录入** - 语音转文字自动解析库存信息 6. **定时推送** - 每日自动推送价格日报 7. **多数据源** - 智能切换，失败自动回退 ## 使用方法 ### 1. 查询价格（交互式） **触发**："查一下钢材价格" / "多少钱" **交互流程**： 当用户只说"查价格"时，引导用户补充信息： > **用户**：查一下价格 > > **执行**： > ```bash > python scripts/query_helper.py > ``` > > **返回提示**： > ``` > 📍 请告诉我您要查询的钢材信息： > 【地区】如：唐山、上海、广州、北京... > 【品种】如：螺纹钢、热轧板卷、冷轧板卷... > 【规格】（可选）如：Φ12-14 HRB400E > > 示例： > • 唐山螺纹钢 > • 上海热轧板卷 4.75*1500*C > • 查一下广州冷轧板卷价格 > ``` **查看支持选项**： ```bash # 查看支持的地区 python scripts/query_helper.py --regions # 查看支持的品种 python scripts/query_helper.py --types # 查看某品种的规格示例 python scripts/query_helper.py --spec 螺纹钢 ``` **完整查询示例**： > **用户**：查一下唐山螺纹钢价格 > > **执行**： > ```bash > python scripts/scrape_price.py --type 螺纹钢 --region 唐山 > ``` > > **返回**： > ``` > 唐山 螺纹钢 今日价格：3915 元/吨 > 数据来源：找钢网 > 时间：2026-04-19 > ``` **快捷查询**（支持常用默认）： - 如用户只提供部分信息，可询问是否使用默认值： - "默认查询唐山螺纹钢可以吗？" - "其他地区/品种请告诉我" ### 2. 走势分析 **触发**："分析一下螺纹钢走势" **操作**： ```bash python scripts/analyze_trend.py --type 螺纹钢 --region 唐山 --days 30 ``` **返回示例**： ``` 📈 螺纹钢 (唐山) 价格走势分析 走势方向: 📈 上涨 趋势强度: moderate 📊 统计数据: 涨跌幅: +2.5% 最高价: 3950 元/吨 最低价: 3820 元/吨 波动率: 3.2% 💡 操作建议: 上涨趋势稳定，可考虑适量采购 ``` ### 3. 查看库存 **触发**："看看库存" **操作**： ```bash python scripts/inventory.py list ``` ### 4. 导入库存 **触发**："我要导入库存Excel" **操作**： 1. 接收用户上传的 Excel 文件 2. 保存到临时目录 3. 执行导入： ```bash python scripts/inventory_excel.py import /path/to/xxx.xlsx ``` ### 5. 多数据源管理 **触发**："查看数据源状态" **操作**： ```bash python scripts/multi_source.py ``` ### 6. 导出价格Excel **触发**："导出价格表" / "生成Excel" **操作**： ```bash # 查询默认品种并导出 python scripts/export_price_excel.py --default --output 钢材价格表.xlsx # 指定品种导出 python scripts/export_price_excel.py --types 螺纹钢,热轧板卷,冷轧板卷 --region 唐山 --output 我的价格表.xlsx ``` **功能**： - 批量查询多个品种价格 - 自动格式化（带颜色、边框） - 生成标准Excel表格 ### 7. 语音录入库存（钢贸商） **触发**：钢贸商发送语音或文字描述库存 **支持格式**： > "我这有角钢50乘5的Q235B，有50吨，今天卖3850" > "槽钢20号Q235B，30吨，价格3900" > "螺纹钢12到14的HRB400E，100吨，3850一吨" **操作**： ```bash python scripts/voice_inventory.py ``` **自动解析**： - ✅ 品种识别（角钢、槽钢、螺纹钢等） - ✅ 规格提取（50*5、20#、Φ12-14等） - ✅ 材质识别（Q235B、HRB400E等） - ✅ 数量提取（吨） - ✅ 价格提取（元/吨） ### 8. 发布库存到平台 **触发**："发布库存" / "我要卖货" **操作**： ```bash # 发布单条库存 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) " ``` ### 9. 搜索库存（采购商） **触发**："搜索库存" / "找角钢" / "买钢材" **操作**： ```bash # 搜索全部 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 元/吨 ... ``` ### 10. 平台统计 **查看平台数据**： ```bash python scripts/inventory_market.py stats ``` **返回**： ``` 📊 平台库存统计 总库存数：4 在售库存：4 按品种分布： 角钢: 1条 槽钢: 1条 ... ``` ### 11. 定时推送 **触发**："设置每日推送" **生成日报**： ```bash # 测试模式 python scripts/push_daily.py --test --types 螺纹钢,热轧板卷 --region 唐山 # 正式推送（需配合 cron） python scripts/push_daily.py ``` **设置定时任务**： ```bash # 每天 9:00 推送 crontab -e # 添加： 0 9 * * * cd /workspace/projects/workspace/skills/steel-price-query && python scripts/push_daily.py ``` ## 数据源策略 | 优先级 | 数据源 | 状态 | 说明 | |--------|--------|------|------| | 1 | 找钢网 | ✅ 推荐 | 稳定，反爬弱 | | 2 | 我的钢铁网 | ⚠️ 备用 | 反爬严格 | **智能切换**： - 优先使用找钢网 - 找钢网失败自动回退到我的钢铁网 - 连续失败3次后暂时禁用 - 使用缓存避免频繁抓取 ## 飞书多维表格集成（库存共享平台） ### 平台配置 - **多维表格名称**：钢材货源共享平台 - **App Token**：A27gbl3lDaheavs4sFhcO1K4ngg - **表格 ID**：tblOpHmJjdqqr3aD - **访问地址**：https://my.feishu.cn/base/A27gbl3lDaheavs4sFhcO1K4ngg ### 字段结构 | 字段名 | 类型 | 说明 | |--------|------|------| | 品种 | 单选 | 角钢/槽钢/螺纹钢/汽车板等 | | 规格 | 文本 | 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 # 配置模板 ``` ## 依赖安装 ```bash 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.75*1500*C Q235B, 3.0*1250*C Q235B, 5.75*1500*C Q355B | | 冷轧板卷 | 1.0*1250*C SPCC, 2.0*1250*C DC01, 0.8*1000*C SPCC | | 中厚板 | 10mm Q235B, 20mm Q235B, 30mm Q345B, 40mm Q355B | | 镀锌板卷 | 1.0*1250*C DX51D+Z, 2.0*1250*C SGCC | | 花纹板 | 3.0*1250*C Q235B, 4.0*1500*C Q235B | **型钢**： | 品种 | 常用规格示例 | |------|-------------| | H型钢 | 100*100 Q235B, 200*100 Q235B, 300*150 Q235B, 400*200 Q355B | | 角钢 | 40*4 Q235B, 50*5 Q235B, 63*6 Q235B, 75*8 Q355B | | 槽钢 | 10# Q235B, 16# Q235B, 20# Q235B, 25# Q355B, 32# Q355B | | 工字钢 | 16# Q235B, 20# Q235B, 25# Q235B, 32# Q355B | | 扁钢 | 40*4 Q235B, 50*5 Q235B, 60*6 Q355B | | 圆钢 | Φ20 Q235B, Φ25 45#, Φ30 Q355B | | 方钢 | 20*20 Q235B, 30*30 45#, 40*40 Q355B | **管材**： | 品种 | 常用规格示例 | |------|-------------| | 焊管 | Φ48*3.5 Q235B, Φ89*4 Q235B, Φ114*4 Q355B | | 无缝管 | Φ89*4 20#, Φ108*4.5 20#, Φ133*5 Q355B | | 镀锌管 | Φ48*3.5 Q235B, Φ89*4 Q235B, DN100 Q235B | | 方管 | 50*50*3 Q235B, 80*80*4 Q235B, 100*100*4 Q355B | | 矩形管 | 60*40*3 Q235B, 80*40*3 Q235B, 100*50*4 Q355B | **规格说明**：不同钢贸商可能有不同规格库存，精确规格有助于库存匹配 **查看全部规格**：回复 `规格` + 品种名，如 `规格 角钢`


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)