下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-odeahxzi--skillpay-shangjipush.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-odeahxzi/skillpay-shangjipush。招标信息采集与自动推送技能(付费版)。通过公网爬虫采集公开招标信息,生成结构化 HTML 招标日报。按次计费,微信支付。当用户提出"招标商机监控"、"招标信息推送"、"每天推送招标日报"、"采集某城市招标信息"、"国企/政府招标订阅"、"帮我配置招标监控"、"公网爬虫采集招标"、"企业资质匹配招标项目"等需求时使用。
阅读全文 (展开查看完整说明)
概述
招标商机监控(付费版)
把「公网爬虫采集招标信息 + HTML 日报生成」封装成可复用付费工作流。
核心原则:付费成功 → 直接采集数据 → 返回 HTML 日报
付费前置检查(必须先做)
调用本 Skill 前,检查当前 Agent 是否已安装微信支付能力(weixinpay 插件 / weixinpay_pay 工具):
- ✅ 已安装 → 继续下方工作流程
- ❌ 未安装 → 提示用户「当前 Agent 暂不支持微信支付付费能力,无法使用此 Skill」,终止流程
工作流程
第一步:交互式配置引导(技能每次运行时先执行)
技能启动后,用问答式引导用户完成配置。
采集配置(必问):
- 采集范围:需要采集哪个城市 / 区域的招标信息?
例如:珠海市、广州市、广东省等
- 日期范围:需要哪一天或哪一时间段的招标数据?(YYYY-MM-DD)
默认:前一天
- 行业分类:需要限定哪些行业类别?(可选,留空则不限)
例如:行政办公、工程建设、医疗卫生等
推送配置(必问):
- 推送周期与时间:希望多久推送一次?
选项:每天 / 每周 / 每月
如选「每天」,请指定推送时间(如 09:00)
如选「每周」,请指定周几和推送时间(如周一 09:00)
如选「每月」,请指定几号和推送时间(如每月1号 09:00)
- 推送方式:希望如何接收招标日报?
选项:QQ 邮箱推送 / WorkBuddy APP 端推送 / 微信群推送
默认:QQ 邮箱推送
- 如选 QQ 邮箱:需提供收件邮箱地址
- 如选微信群:需提供微信群名(调用 wechat-desktop-send 技能)
默认规则:
- 日期:默认采集前一天的全部招标数据
- 区域:默认获取用户当前位置所在城市的招标数据
- 行业:默认全选不做限制
- 推送:默认每天 09:00 通过 QQ 邮箱 推送
⚠️ 重要:将用户配置结果存入变量/缓存,供后续步骤使用:
{
"region": "珠海市",
"date": "2026-08-27",
"industry": "",
"push": {
"schedule": "DAILY",
"time": "09:00",
"channel": "email",
"email": "user@example.com"
}
}第二步:发起首次请求(付费前)
向用户确认配置后,显示价格并发起首次请求:
POST https://pay.fastersoft.com.cn/demo/skill/invoke
Content-Type: application/json
{
"source": "crawler",
"params": {
"date": "2026-08-27",
"region": "珠海市",
"industry": ""
}
}第三步:处理 402 响应(关键)
收到 HTTP 402 响应后,从响应头或响应体中提取并必须同时保存以下两个值:
| 从响应中提取 | 保存变量 | 含义 |
|---|---|---|
WeixinPay-Required(Header 或 Body 的 payment_code 字段值) | payment_code | 微信支付授权码 |
X-Out-Trade-No(Header 或 Body 的 out_trade_no 字段值) | out_trade_no | 订单号 |
两者缺一不可,且必须在第五步原样回传。
向用户展示支付提示,例如:
本次招标商机采集需支付 ¥X.XX,即将发起微信支付授权。
第四步:发起支付
将第三步保存的 payment_code 作为参数,调用:
weixinpay_pay(paymentCode="第三步保存的 payment_code")等待用户手机端确认并完成支付。
第五步:支付成功后获取数据(⚠️ 必须执行)
支付成功后,必须用原订单号重新请求,通过 Header 携带第三步保存的两个凭证值:
POST https://pay.fastersoft.com.cn/demo/skill/invoke
Content-Type: application/json
WeixinPay-Required: 第三步保存的 payment_code
X-Out-Trade-No: 第三步保存的 out_trade_no
{
"source": "crawler",
"params": {
"date": "2026-08-27",
"region": "珠海市",
"industry": ""
}
}⚠️ 注意:
- Body 与第二步完全一致,不要修改
- 必须通过 Header 传递
WeixinPay-Required(值为payment_code)和X-Out-Trade-No(值为out_trade_no)- 不携带 Header 重试 = 永远拿不到数据
成功响应(HTTP 200)包含:
data.records— 招标信息数组data.report_html— HTML 日报内容
成功响应后,执行以下操作:
- 读取第一步缓存的采集参数(region、date、industry、push配置)
- 发起公网采集(使用
agent-browserSkill):- 访问目标城市的公共资源交易中心、政府采购网等招标信息网站
- 按配置的日期范围和行业分类筛选招标公告
- 采集字段:项目名称、采购单位、预算金额、发布时间、截止日期、资质要求、行业分类、原文链接
- 生成 HTML 日报:
- 按
references/report-spec.md规范生成结构化 HTML - 支持按行业分组展示
- 每条记录包含可点击的详情链接
- 按
第六步:交付用户
将采集结果或生成的 HTML 日报呈现给用户:
这是您的招标商机报告,请查收!
定价
| 项目 | 说明 |
|---|---|
| 计费方式 | 按次计费 |
| 单价 | ¥0.10 元/次 |
| 货币 | CNY |
实际价格以服务后台配置为准。付费前会向用户展示确认价格。
错误处理
| 情况 | 处理方式 |
|---|---|
| 402 但用户取消支付 | 提示「支付已取消,可稍后重试」 |
| 重试仍返回非 200 | 检查 Header 是否完整携带,订单号是否匹配 |
| 目标网站反爬拦截 | 提示用户稍后重试 |
安全提示
- 不要向用户泄露
payment_code或订单号以外的内部信息 - 每次调用生成独立订单,不要复用
out_trade_no - 支付凭证仅在当前会话内使用,不持久化存储