下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-bvz82yrd--contract-expiry-leads.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-bvz82yrd/contract-expiry-leads。- 帮投标业务员或客户提前获取"
- 合同即将到期、即将重招/采购意向"
- 的商机线索。当用户要找"
- 即将到期重招"
- "
- 采购意向"
- …(完整说明见下方「阅读全文」)
阅读全文 (展开查看完整说明)
概述
Overview
基于比地招标网「项目预测」开放接口(BID-011 列表 / BID-012 详情),帮投标业务员或客户提前获取即将到期重招、采购意向、废标重招、周期预测等前瞻商机线索,并按行业、地区、招标概率、预估金额筛选,输出对话表格、CSV 与 HTML 简报,支持定时订阅推送。
何时使用
- 用户要找"即将到期重招""采购意向""快要招标的项目""提前布局的投标机会"。
- 按行业 / 地区 / 招标概率(如 90% 以上)/ 预估金额筛选预测线索。
- 生成可发给客户的商机简报(HTML / CSV)。
- 配置每日 / 每周定时推送预测线索。
前置要求
- 凭据:比地 Bearer Token,从环境变量
BIDI_API_TOKEN或~/.codex/config.toml的[mcp_servers.bidi-tender-search.env]读取(脚本自动处理)。不得打印、写入项目文件或日志。 - 计费:BID-011 列表 0.5 元/次(翻页每次另计),BID-012 详情 1 元/次。
- 接口完整契约与实测坑见 [references/bid-contract.md](references/bid-contract.md)。
如何试用(快速上手)
1. 准备比地开放接口 Token
本 skill 调用比地招标网开放网关(service-api-open),需 Bearer Token 鉴权,无 Token 无法取数。
- 申请入口:登录比地开放平台 / 开放网关,开通「项目预测列表查询(BID-011)」(必开)与(可选)「项目预测详情查询(BID-012)」接口,获取 Bearer Token。若接口未开通,可走自助开通:
POST /service-api-user/v4/user-api/application/open,body{"keyword":"项目预测列表查询"}(幂等)。 - 本地配置(脚本自动读取,优先级:环境变量 > config.toml):
- 方式 A(推荐):
export BIDI_API_TOKEN="你的token" - 方式 B:在
~/.codex/config.toml写[mcp_servers.bidi-tender-search.env]段,含BIDI_API_TOKEN = "你的token"
- 方式 A(推荐):
- 安全:Token 属敏感凭据,脚本不会打印、写入项目文件或日志;不要外发。
2. 想清楚要查哪些条件(提供越细,结果越准)
| 条件 | 对应参数 | 说明 | 是否必填 |
|---|---|---|---|
| 地区 | --province / --city | 如 广东 / 广州;不填则全国(量很大) | 建议填 |
| 到期时间 / 预测时间窗 | --start / --end | 想看"未来多久内到期重招",默认今天起 120 天 | 有默认值,可改 |
| 关键词 | --keyword | 产品/项目名模糊匹配,如 物业 运维 | 可选 |
| 行业 | --industry | 如 物业管理 软件运维(语义映射到标准分类) | 可选 |
| 预测类型 | --types | 1=采购意向,2=到期重招,默认 1,2 都查 | 有默认值 |
| 招标概率阈值 | --prob | 10/20/30/40 = 50/70/90/99% 以上 | 可选 |
| 预估金额区间 | --min-amount / --max-amount | 单位万元,如 100~500 | 可选 |
| 招标单位 | --tenderee | 指定采购方名称模糊匹配 | 可选 |
| 是否有招标文件 | --has-bidfile | 只看已发招标文件的项目 | 可选 |
最常用组合:地区 + 关键词/行业 + 到期时间窗。其余参数按需收窄。
3. 跑一条试试(脚本纯标准库,无需装依赖)
# 对话里直接看表:广东、物业相关、概率 90% 以上、未来 120 天
python3 scripts/forecast_leads.py --province 广东 --keyword 物业 --prob 30
# 导出 CSV(含原中标人 + 官网详情链接,免费)
python3 scripts/forecast_leads.py --province 北京 --industry 软件运维 --csv leads.csv
# 导出 HTML 简报(纯静态单文件,详情直接跳比地官网)
python3 scripts/forecast_leads.py --province 广东 --keyword 物业 --html report.html- 计费:每翻一页列表 0.5 元;CSV/HTML 默认字段免费(官网链接用列表
uuid直拼,无需调接口);仅当加--enrich-links补历史公告链接时才调 BID-012(1 元/条,默认关闭)。
工作流
- 解析需求 → 确定行业 / 地区 / 概率阈值 / 金额区间 / 预测时间窗 / 预测类型(默认
1,2= 采购意向 + 到期重招)。 - 运行
scripts/forecast_leads.py(纯标准库,无需安装依赖):- 对话表格:
python3 scripts/forecast_leads.py --industry 物业管理 --province 广东 --prob 30 - 导出 CSV:
... --csv leads.csv(UTF-8 BOM,Excel 友好)。默认已含原中标人(lastWinTenderer)、上次招标时间(lastPageTime)与项目预测详情链接(免费:用列表返回的uuid直拼官网模板https://vip.bidizhaobiao.com/admin#/forecastDetail/index?id=<uuid>&sourceModule=1&keyword=&area=,点开即官网详情页,无需调 BID-012)。若需要原中标公告/历史招标公告的可点击官方链接(如info-<docId>.html),加--enrich-links(会逐条调 BID-012 补链接,1 元/条,默认关闭)。 - 导出 HTML 简报:
... --html report.html(样式对齐tender-daily-subscription的固定浅色主题报告:卡片式统计、圆角表格、搜索框 + 分页、金额高亮、类型/概率标签与进度条;纯静态单文件、无任何接口调用,列表行「详情 ↗」为比地官网该条预测详情页直链(新标签页打开),零额外费用)。 - 原中标公告 / 历史公告链接(可选):加
--enrich-links会逐条调 BID-012 补docList历史公告的可点击官方链接(如info-<docId>.html),1 元/条,默认关闭,仅用于 CSV。 - 常用参数:
--types(默认 1,2)、--province/--city、--industry、--keyword、--prob(10/20/30/40=50/70/90/99%以上)、--min-amount/--max-amount、--has-bidfile、--tenderee、--start/--end(预测时间窗,默认今天起 120 天)、--limit、--json。
- 对话表格:
- 呈现结果:先给对话精简表(序号/类型/产品/招标单位/地区/概率/预估/预测起止),再按用户选择导出 CSV / HTML。
- 定时订阅:用 WorkBuddy automation(recurring)每日运行脚本并推送;prompt 模板见下。
定时订阅配置
创建 recurring automation,prompt 示例:
运行 bid-forecast-leads 技能脚本,筛选预测类型 1,2(采购意向 + 到期重招)、地区 = [省]、行业 = [行业]、招标概率 90% 以上(–prob 30)、预测时间窗未来 30 天,导出 HTML 简报并推送到企微 Webhook。
rrule 示例:FREQ=DAILY;BYHOUR=9;BYMINUTE=0(每日 09:00)。订阅前先与用户确认地区、行业、概率阈值与推送渠道。
关键提醒(实测,2026-09-18)
startTime/endTime必填:目录标注required:false有误,缺失返回 HTTP 500(内层「startTime和endTime不能为空」)。脚本默认填今天起 120 天窗口。- 返回列表在
data.data(双层 data 嵌套);深度翻页游标data.token,脚本用pageNo顺序翻页。 - 开放接口错误码为简化体系(200/400/401/403/404/429/500/503);成功 = HTTP 200 +
code=200,空结果code=404属正常、不计系统错误。 - 字段值多为字符串:概率带
%(如99%)、金额带单位(如26.11万元)、地区为「省-市」;做金额/概率比较前先解析。 - 开放网关接受现有 Bearer Token,无需额外 AppKey / 签名。
- argparse help 禁用裸
%:脚本用 argparse,其 help 文本会被%运算符格式化,help 里的百分号必须写成%%(裸%后接中文字符会抛ValueError: unsupported format character,直接导致--help崩溃)。新增或修改参数说明时务必检查(如--prob的99%%以上)。 - BID-012 详情接口账户权限(2026-09-18 开通验证):BID-012 详情接口已对账户开通,实测
code=200正常返回data(含docList历史关联公告数组、tendereeContact联系人、tendereePhone电话等深度字段)。--enrich-links经fetch_detail调用,将docList渲染为可点击的历史公告链接(外链https://www.bidizhaobiao.com/info-<docid>.html)。若后续再遇300102001 no permission,按比地后台重新授权即可。HTML 报告不再依赖 BID-012(「详情」直接跳转官网),故无需本地 serve.py 代理。
计费与合规
- 每次列表调用 0.5 元,翻页与详情另计;以满足请求为前提尽量减少调用次数,并在结果中说明检索范围与费用。
- 商机线索含预测招标单位联系方式提示,外发客户前确认不泄露受限信息。