下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/user_37b3d0df--bidinfo-radar.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_37b3d0df/bidinfo-radar。【标讯雷达】触发词:标讯雷达、招标信息雷达、招标雷达、查招标、标讯、招标信息、标讯查询、招标监控、订阅招标、招标情报、最新招标公告、招标内容分析、采购公告、招标文件、标书、投标、项目编号、中标、中标结果、中标公告、中标公司、中标候选人、中标信息查询、业绩案例、类似项目案例、竞对监测、竞争对手、投标日历、截止时间、开标时间、价格统计、中标价格、CSV导出、订阅推送、区域榜单、投标人画像、采购人画像、资质反推、资质匹配、PDF解析、项目对标、周报。
免费公开数据源招标情报:实时查招标与中标公告、分析采购要点与资质门槛、匹配历史业绩案例,零依赖脚本驱动。
阅读全文 (展开查看完整说明)
概述
免费"招标情报站":不依赖任何收费标讯聚合平台,直接对公开数据源做检索 → 公告分析 → 报告。数据源全部为政府/公共资源/军队/企业官网的公开公告,合规使用、低频访问。
能力一览
| 能力 | 入口 |
|---|---|
| 实时查询招标公告 | 对话直接问 |
| 公告内容分析(采购要点 / 技术方向 / 资质门槛 / 可投性建议) | bid_radar.py analyze --fetch |
| 定时采集(到点自动检索+分析+推送) | 对话设定 / WorkBuddy 自动化 |
| 中标查询(中标公司·金额·候选人·全量投标单位) | bid_radar.py award |
| 业绩案例匹配(相似度打分排序) | bid_radar.py case |
| 竞对监测 / 投标日历 / 价格统计 / CSV 导出 | bid_radar.py watch · deadline · price · export |
| 订阅推送(规则化增量去重) | bid_radar.py subscribe |
| 区域中标榜单(按地区聚合金额/数量/采购人 TOP) | bid_radar.py region |
| 投标人画像(资质反推 + 六维聚合) | bid_radar.py bidder |
| 采购人画像(偏好品类 / 预算区间 / 常合作方) | bid_radar.py agency |
| PDF 正文增强(招标文件结构化提取) | bid_radar.py pdf |
| 资质匹配(满足 / 临期 / 缺失 / 待核实 四态) | bid_radar.py qualify |
| 项目对标(两项目 / 两竞对横向对比) | bid_radar.py compare |
| 订阅周报(新公告 / 截止 / 价格 / 竞对合并) | bid_radar.py digest |
数据源清单(公开渠道,全部合规可用)
| 类别 | 数据源 | 默认启用 | 检索方式 |
|---|---|---|---|
| 政企 | 中国政府采购网(ccgp.gov.cn) | ✅ | 站点检索 / 列表页 |
| 政企 | 各省公共资源交易中心(省级站) | ✅ | 站点检索 |
| 政企 | 中国招标投标公共服务平台 | ✅ | 站点检索 |
| 军工 | 军队采购网(plap.mil.cn,公开区) | ✅ | 站点检索(仅公开信息) |
| 军工 | 全军武器装备采购信息网(公开区) | ⬜ | 站点检索(仅公开信息) |
| 金融 | 各大银行/金融机构采购门户 | ⬜ | 站点检索 |
| 企业 | 央企/国企电子招标平台 | ⬜ | 站点检索 |
检索核心:WorkBuddy 联网检索(WebSearch)对各站点域名做
site:定向搜索;bid_radar.py负责清洗、抓取公告正文、内容分析与报告。
使用流程
A. 实时查询 + 公告内容分析(对话即查,主流程)
用户说"帮我查 XX 关键字的最新招标"时:
- 确认检索参数(有缺省则用默认值,不要反复追问):
- 关键字(必填,可多个,逗号分隔 = AND)
- 地区(可选,如"湖南")
- 数据源类别(可选:政企/军工/金融/企业,默认政企+军工公开区)
- 时间范围(可选,默认近 7 天)
- 对启用的数据源域名执行
site:<域名> <关键字> 招标定向检索(WebSearch,每个源 1-2 条查询)。 - 将检索结果整理为结构化 JSON(公告标题/来源站点/URL/发布时间/采购人/地区/摘要),必须带原文 URL。
- (推荐)清洗与筛选:
bid_radar.py clean --input results.json(按 URL 优先键去重)→bid_radar.py filter --keywords ... --region ...(关键字 AND/OR、地区、日期、金额过滤);WebSearch 直出结果且数量少时可跳过(analyze内部会自动标准化字段)。 - 抓公告正文做内容分析(一次完成,含报告生成):调用
bid_radar.py analyze --input results.json --fetch --keywords <关键字> --budget-cap <金额> --out 报告.html
- 自动抓取每条公告的官方正文,提取:技术方向(政务云/信创/云原生/安全/军工/金融等)、采购要点、资质门槛、预算、截止时间
- 输出每条:建议(重点跟进/值得关注/关注/紧急/已过期,5 级徽章) + 理由 + 匹配度
- 抓取失败的条目降级为基于标题/摘要分析(报告中标 ⚠️ 说明)
--out按扩展名自动决定格式:.html→ 分析版 HTML(含方向/门槛/建议徽章),.md→ Markdown;不传--out则仅 stdout 输出 JSON 结果(用于聊天窗口摘要)- 支持
--region 湖南 --days 30 --min-budget 1000000 --sources ...直接过滤(与filter同语义,仅应用非关键字条件)
- 将分析结果整理回复用户:聊天窗口输出每条公告的可点击原文链接(Markdown 链接格式
[标题](URL)) + 重点跟进清单;用 present_files 展示 1 个 HTML 报告(用户已明确:交付物只保留 HTML + 聊天摘要,不再额外交付 MD/JSON)。报告内每条公告的卡片标题即原文链接(点击直接跳转),底部另附「查看官方公告原文 →」按钮;无 URL 的条目标题旁标注"无直达链接,请按标题官网检索"。
B. 定时采集(设定后自动跑)
用户说"每天 8 点帮我查 XX 的招标"等时:
- 先按流程 A 的步骤 1-3 确定检索参数。
- 同时创建两件事:
- WorkBuddy 自动化:创建 recurring 自动化,prompt 写明「使用 bidinfo-radar 技能执行定时招标采集:关键字=…,地区=…,数据源=…,时间范围=近24小时,抓取公告正文分析后生成报告并展示」。调度 rrule 按用户要求配置:每天 8 点 =
FREQ=DAILY;BYHOUR=8;BYMINUTE=0;每周一三五 9 点 =FREQ=WEEKLY;BYDAY=MO,WE,FR;BYHOUR=9;BYMINUTE=0;每月 1/15 日 =FREQ=MONTHLY;BYMONTHDAY=1,15;BYHOUR=9;BYMINUTE=0。 - 记录任务清单:回复用户时列出已建立的定时检索(关键字、频率、下次执行时间)。
- WorkBuddy 自动化:创建 recurring 自动化,prompt 写明「使用 bidinfo-radar 技能执行定时招标采集:关键字=…,地区=…,数据源=…,时间范围=近24小时,抓取公告正文分析后生成报告并展示」。调度 rrule 按用户要求配置:每天 8 点 =
- 告知用户:定时采集已建立,到点会自动检索、分析并推送报告;可在自动化管理面板查看/暂停/删除,修改/取消随时说。
C. 中标信息查询(按关键字/项目名查中标结果)
用户说"帮我查 XX 的中标信息 / 谁中了 XX 项目 / 中标候选人"时:
- 确认检索参数(有缺省则用默认值):
- 关键字或项目名(必填,如"政务云"或项目编号)
- 地区(可选)、时间范围(可选,默认近 30 天)
- 对启用数据源域名执行
site:<域名> <关键字> 中标定向检索(WebSearch,重点找「中标结果公告 / 中标候选人公示」)。 - 将结果整理为结构化 JSON(标题/来源/URL/发布时间/采购人/地区/摘要),必须带原文 URL;数据源抓取接口返回的公告列表也可直接传入。
- 提取中标信息(一次完成,含报告生成):调用
bid_radar.py award --input results.json --keywords <关键字> --out 中标结果.html
- 自动抓取公告正文(未带正文时加
--fetch),提取:中标公司 / 中标金额 / 中标候选人名单(第一/第二/第三)、项目编号、采购人,以及正文投标单位名单中的其他投标单位(全量,含未中标) - 输出每条:中标公司 + 金额(按公告原文单位对齐)+ 候选人排名名单 + 其他投标单位 + 原文链接
--out扩展名决定格式:.html→ HTML 报告,.md→ Markdown;不传--out仅 stdout 输出 JSON(聊天窗口摘要用)
- 将结果整理回复用户:聊天窗口输出每条中标公告的可点击原文链接 + 中标公司 + 金额 + 候选人清单;用 present_files 展示 1 个 HTML 中标结果报告。报告内每条公告卡片标题即原文链接(点击直达原文核验)。
⛔ 数据可信性红线(硬性约束):
- 报告输入 JSON 必须来自 WebSearch 实时检索结果(步骤 2-3 产出),或数据源抓取接口返回的真实公告。
- 严禁使用任何测试样本/模拟数据作为报告输入(如
award-test.json、real-hunan-cloud.json等测试目录文件)——它们仅用于脚本回归测试,绝不进入交付给用户的报告。- 正文抓取失败时按步骤 4 降级标注"⚠️ 正文抓取失败";提取不到中标公司/金额/候选人时如实显示"未识别/未提取到",绝不编造或补全。
- 每条报告条目必须保留原文 URL,供用户点击核验。
D. 业绩案例匹配(按需求找历史同类中标,相似度排序)
用户说"帮我找找 XX 这类项目的过往中标案例 / 谁做过类似项目 / 给我匹配几个业绩案例"时:
- 确认检索参数:
- 目标项目需求描述或项目名(必填,如"政务云 容器化 微服务"或项目全称)
- 目标预算(可选
--budget-cap,用于预算区间匹配加分) - 返回条数(可选
--top,默认 5)
- 对启用数据源域名执行
site:<域名> <关键字> 中标定向检索(WebSearch,重点找「中标结果公告 / 成交公告」),范围默认近 3 年(与投标业绩证明时效一致)。 - 将结果整理为结构化 JSON(标题/来源/URL/发布时间/采购人/地区/摘要),必须带原文 URL。
- 案例匹配与排序(一次完成,含报告):调用
bid_radar.py case --input results.json --query "政务云 容器化 微服务" --budget-cap 6000000 --top 5 --out 业绩案例.html
- 每个案例输出:相似度分(0-100)+ 中标公司 + 中标金额 + 采购人 + 公告日期 + 原文链接
- 相似度打分规则(纯脚本):标题命中 +10~20/词、摘要命中 +5/词、预算区间重合 +10、来源可信 +5、地区同省 +5
--out扩展名决定格式:.html→ 案例卡 HTML(卡片含相似度徽章),.md→ Markdown
- 回复用户:聊天窗口列出 Top 案例(相似度 + 中标公司 + 金额 + 可点击链接),并用 present_files 展示 HTML 案例报告。
- 管道复用:
award的输出 JSON 走 stdout,可直接作为case输入(award --input results.json > 中标结果.json后再case --input 中标结果.json),已提取的中标公司/金额字段自动复用,无需二次正则。注意--out写的是报告(.html出 HTML,其余后缀出 Markdown),不是 JSON,管道请用 stdout 重定向。
E. 竞对监测(按公司聚合中标动态)
用户说"帮我盯一下 XX 公司最近中了哪些标 / 竞争对手动态"时:
- 确认参数:竞对公司列表(必填,逗号分隔,如"华为,腾讯云,浪潮")、时间范围(可选,默认近 90 天)。
- 对每家竞对执行
site:<域名> <公司名> 中标定向检索(WebSearch)。 - 整理为结构化 JSON 传入:
bid_radar.py watch --input results.json --companies "华为,腾讯云,浪潮" --out 竞对监测.html
- 输出:按公司分组,每家公司的中标清单(项目名/金额/日期/链接)+ 中标单数
--out扩展名决定 HTML / Markdown
- 回复用户:聊天窗口输出每家竞对的活跃度小结(X 个月内中标 N 单)+ 重点项目链接;present_files 展示 HTML 报告。
F. 投标日历(截止倒计时 + 紧急提醒)
用户说"把最近的项目截止时间列个日历 / 哪些快截止了"时:
- 检索结果整理为含
deadline字段的 JSON(award/analyze 输出天然带该字段)。 - 调用:
bid_radar.py deadline --input results.json --urgent 3 --out 投标日历.html- 输出:每条截止倒计时天数 + 状态(紧急 ≤3 天标红 / 正常 / 已过期)+ 截止时间
--urgent自定义紧急阈值(默认 3 天)
- 回复用户:聊天窗口列出紧急(即将截止)项目置顶,附原文链接;present_files 展示 HTML 日历。
G. 价格统计(中位/均值/区间,支撑报价)
用户说"这个品类的项目中标价格大概多少 / 报价参考"时:
- 检索近 1-3 年同类中标公告,整理为 JSON。
- 调用:
bid_radar.py price --input results.json --out 价格统计.html- 输出:样本数、中位数 / 均值 / 最小 / 最大 / 区间分布(自动剔除无金额样本并注明)
- 基于
award同款金额提取逻辑,多标包取合计
- 回复用户:聊天窗口给出中位数与区间结论 + 样本明细;present_files 展示 HTML 报告。
H. CSV 导出(Excel 直接打开)
用户说"把结果导成 Excel / CSV"时:
- 整理结果 JSON 后调用:
bid_radar.py export --input results.json --out 结果.csv- 输出列:标题/来源/URL/采购人/项目编号/预算/截止时间/中标公司/中标金额/匹配度
- 自动 UTF-8 BOM(Excel 打开不乱码)
- present_files 展示 CSV 供用户下载。
I. 订阅推送(规则化增量去重)
用户说"帮我订阅 XX 的招标,有新的就提醒我"时:
- 添加订阅规则:
bid_radar.py subscribe --action add --name "湖南政务云" --keywords "政务云,容器化" --regions "湖南" --min-budget 1000000- 规则支持:关键字(AND)、区域、预算下限、时间窗口(
--days)
- 规则支持:关键字(AND)、区域、预算下限、时间窗口(
- 查看规则:
bid_radar.py subscribe --action list - 执行推送(配合定时自动化):
bid_radar.py subscribe --action run --input 最新检索.json --out 推送.html- 增量去重:已推送过的公告(seen.json)不会重复推送,输出标记「新/已见」
- 删除规则:
bid_radar.py subscribe --action remove --name "湖南政务云" - 规则持久化在
~/.bidinfo-radar/subscriptions.json,去重记录在seen.json。
J. 区域中标榜单(v1.0.9)
用户说"哪个省/市中标最多 / 市场格局怎么样"时:
- 检索中标记录整理为 JSON(award/analyze 输出可直接复用)。
- 调用:
bid_radar.py region --input 中标结果.json --top 10 --out 区域榜单.html- 输出:按地区聚合的中标金额合计 / 中标数量 / 活跃采购人 TOP 榜单(地区字段优先,标题/采购人内嵌省市名兜底)
- 回复用户:聊天窗口给出 Top 地区 + 金额小结;present_files 展示 HTML 榜单。
K. 投标人画像(v1.1.0,核心)
用户说"帮我查查 XX 公司什么来头 / 这家公司有什么资质 / 竞对实力怎么样"时:
- 检索该公司近 3 年中标记录(WebSearch
"<公司名>" 中标 公告),整理为 JSON(带正文或摘要)。 - 调用:
bid_radar.py bidder --input 中标记录.json --company "星火云科技有限公司" --out 投标人画像.html- 输出六维画像:
- ① 资质反推(核心):从公告"投标人资格要求"提取资质 → 并集 + 置信度(🟢≥3 项目 / 🟡1-2 项目)+ 每个资质附证据公告链接
- ② 中标实力(记录数 / 合计金额)| ③ 金额画像(中位/均值/区间)| ④ 活跃度(按年)| ⑤ 客户关系(常合作采购人)| ⑥ 领域专攻
- 联合体中标自动标注(资质可能属于他方);报告标注"推断时间点,证书有效期需核实"
- 输出六维画像:
- 回复用户:聊天窗口给出资质清单(含置信度)+ 中标实力小结;present_files 展示 HTML 画像。
L. 采购人画像(v1.1.1)
用户说"这个采购人/客户什么情况 / 想了解 XX 局采购习惯"时:
- 检索该采购人历史招标/中标记录,整理为 JSON。
- 调用:
bid_radar.py agency --input 记录.json --name "湖南省数据局" --out 采购人画像.html- 输出:采购偏好品类 / 预算区间 / 采购周期(近 12 个月)/ 常合作公司 TOP
- 回复用户 + present_files 展示画像。
M. PDF 正文增强(v1.1.2)
用户说"这个招标文件 PDF 帮我解析 / 提取 PDF 里的要求"时:
- 调用:
bid_radar.py pdf --input 招标文件.pdf- 提取:项目名称 / 预算 / 投标截止 / 资质要求 / 正文摘要
- 多栏排版拼接、页眉页脚剔除(重复短行自动过滤)
- 扫描件(无文本层)提示走 OCR(pdfplumber/paddleocr),不内置 OCR 保持零依赖
- 提取结果可 pipelined 给 analyze / qualify 继续分析。
N. 资质匹配(v1.1.3)
用户说"这个标需要哪些资质,我们齐不齐 / 会不会废标"时:
- 准备两份输入:招标资质要求(
--requirements文本/JSON)+ 我方资质库(--certsJSON 文件)。 - 调用:
bid_radar.py qualify --requirements "ISO 27001,CMMI3,保密资质" --certs 我方资质库.json --out 资质匹配报告.html- 输出四态判定:✅ 满足 / ⚠️ 即将到期(3 个月内)/ ❌ 缺失 / 🟡 待核实
🟡 待核实的触发方式:资质库 JSON 中用pending(或待核实)列出"我方声明在办理/续期中、证据尚不充分"的资质项,避免被误判为「缺失」而错杀机会- 无资质库时可不传
--certs,从输入记录的正文/摘要自动提取资质库 - 闭环:先用
bidder反推自己公司生成资质库种子,再跑 qualify
- 回复用户:聊天窗口给出缺失/临期项(废标红线预警);present_files 展示报告。
O. 项目对标分析(v1.1.4)
用户说"这两个项目/这两家公司对比一下"时:
- 准备两份记录 JSON(award/watch 输出可复用)。
- 调用:
bid_radar.py compare --input-a 记录A.json --input-b 记录B.json --out 对标分析.html- 对比维度:记录条数 / 金额合计 / 金额中位数 / 常合作采购人 / 主攻领域 / 时间范围 + 金额差
- 回复用户 + present_files 展示对比表。
P. 订阅周报(v1.1.5)
用户说"出个周报 / 这周标讯汇总"时:
- 检索近 7 天标讯记录,整理为 JSON。
- 调用:
bid_radar.py digest --input 本周记录.json --out 周报.html- 输出:🆕 新增公告 / ⏰ 本周截止(≤3 天标红)/ 📊 价格动态(中位+合计)/ 📡 竞对动态(近 7 天中标 TOP)
- 配合定时自动化每周一生成,或手动调用;present_files 展示周报。
脚本使用
环境要求
- 需要 Python 3(运行环境中可用版本即可)。
- 全部为 Python 标准库实现,无第三方依赖(PDF 文本提取走内置 zlib 流扫描,扫描件提示安装 pdfplumber/OCR)。
- Windows 下所有命令前置
PYTHONIOENCODING=utf-8(避免中文输出 GBK 编码报错)。
bid_radar.py — 检索清洗 / 筛选 / 公告抓取与分析 / 报告
# 清洗并去重检索到的公告(stdin 传入 JSON 数组或对象,或 --input 文件)
PYTHONIOENCODING=utf-8 python bid_radar.py clean --input results.json
# 筛选:关键字(AND/OR)、地区、日期范围、金额下限
PYTHONIOENCODING=utf-8 python bid_radar.py filter --input results.json --keywords "政务云,信创" --region "湖南" --days 7 --min-budget 1000000
# 抓取公告正文(stdin 传 URL 数组,或 --urls 逗号分隔)
echo '["https://www.ccgp.gov.cn/xxx.htm"]' | PYTHONIOENCODING=utf-8 python bid_radar.py fetch
# ★ 公告内容分析(主流程):抓正文 + 提取方向/门槛 + 匹配度 + 可投性建议
PYTHONIOENCODING=utf-8 python bid_radar.py analyze --input results.json --keywords "政务云" --budget-cap 5000000 --fetch --out 分析报告.md
PYTHONIOENCODING=utf-8 python bid_radar.py analyze --input results.json --keywords "政务云" --fetch --out 分析报告.html # HTML 版(或加 --html 强制)
# 生成报告(Markdown / HTML)
PYTHONIOENCODING=utf-8 python bid_radar.py report --input results.json --keywords "政务云" --out report.md
PYTHONIOENCODING=utf-8 python bid_radar.py report --input results.json --html --out report.html
# ★ 中标信息查询:提取中标公司 / 金额 / 候选人名单
PYTHONIOENCODING=utf-8 python bid_radar.py award --input results.json --keywords "政务云" --fetch --out 中标结果.html
PYTHONIOENCODING=utf-8 python bid_radar.py award --input results.json --keywords "政务云" --out 中标结果.md # Markdown 版
# ★ v1.0.3 业绩案例匹配:按需求找历史同类中标,相似度排序 Top N
PYTHONIOENCODING=utf-8 python bid_radar.py case --input results.json --query "政务云 容器化 微服务" --budget-cap 6000000 --top 5 --out 业绩案例.html
# ★ v1.0.4 竞对监测:按公司聚合中标动态
PYTHONIOENCODING=utf-8 python bid_radar.py watch --input results.json --companies "华为,腾讯云,浪潮" --out 竞对监测.html
# ★ v1.0.5 投标日历:截止倒计时 + 紧急提醒(≤3 天标红)
PYTHONIOENCODING=utf-8 python bid_radar.py deadline --input results.json --urgent 3 --out 投标日历.html
# ★ v1.0.6 价格统计:中位数 / 均值 / 区间
PYTHONIOENCODING=utf-8 python bid_radar.py price --input results.json --out 价格统计.html
# ★ v1.0.7 CSV 导出:Excel 直接打开(UTF-8 BOM)
PYTHONIOENCODING=utf-8 python bid_radar.py export --input results.json --out 结果.csv
# ★ v1.0.8 订阅推送:规则化增量去重
PYTHONIOENCODING=utf-8 python bid_radar.py subscribe --action add --name "湖南政务云" --keywords "政务云,容器化" --regions "湖南"
PYTHONIOENCODING=utf-8 python bid_radar.py subscribe --action run --name "湖南政务云" --input 最新检索.json --out 推送.html
PYTHONIOENCODING=utf-8 python bid_radar.py subscribe --action list / remove --name "湖南政务云"
# ★ v1.0.9 区域中标榜单:按地区聚合中标金额/数量/活跃采购人
PYTHONIOENCODING=utf-8 python bid_radar.py region --input 中标结果.json --top 10 --out 区域榜单.html
# ★ v1.1.0 投标人画像(核心):资质反推 + 六维聚合
PYTHONIOENCODING=utf-8 python bid_radar.py bidder --input 中标记录.json --company "星火云科技有限公司" --out 投标人画像.html
# ★ v1.1.1 采购人画像:偏好品类/预算区间/合作周期/常合作方
PYTHONIOENCODING=utf-8 python bid_radar.py agency --input 记录.json --name "湖南省数据局" --out 采购人画像.html
# ★ v1.1.2 PDF 正文增强:招标文件 PDF 结构化提取(扫描件提示 OCR)
PYTHONIOENCODING=utf-8 python bid_radar.py pdf --input 招标文件.pdf
# ★ v1.1.3 资质匹配:招标要求 vs 我方资质库 四态判定(废标红线)
PYTHONIOENCODING=utf-8 python bid_radar.py qualify --requirements "ISO 27001,CMMI3,保密资质" --certs 我方资质库.json --out 资质匹配报告.html
# ★ v1.1.4 项目对标:两项目/两竞对横向对比
PYTHONIOENCODING=utf-8 python bid_radar.py compare --input-a 记录A.json --input-b 记录B.json --out 对标分析.html
# ★ v1.1.5 订阅周报:近 7 天新公告/本周截止/价格/竞对 合并周报
PYTHONIOENCODING=utf-8 python bid_radar.py digest --input 本周记录.json --out 周报.htmlstdin JSON 公告字段约定(clean/filter/analyze 均可接收):
[
{"title": "湖南省政务云平台建设采购项目公开招标公告", "source": "中国政府采购网",
"url": "https://www.ccgp.gov.cn/...", "publishDate": "2026-08-30",
"deadline": "2026-09-20 09:30", "region": "湖南", "budget": 15000000,
"procuringAgency": "湖南省数据局", "summary": "正文摘要", "snippet": "搜索摘要"}
]analyze 输出每条公告:建议(重点跟进/值得关注/关注/紧急/已过期,5 级)、理由(匹配度+预算+截止天数+资质门槛)、技术方向、采购要点摘要、原文链接。
award 输出每条中标公告:中标公司、中标金额(按公告原文单位对齐:元 / 万元 / 亿元随公告)、中标候选人名单(第一/第二/第三 + 各家报价)、项目编号、采购人、原文链接。无正文时用标题/摘要降级提取,标注 ⚠️。
case(v1.0.3)输出案例卡:相似度分 + 中标公司 + 中标金额 + 采购人 + 公告日期 + 原文链接,按相似度降序取 Top N。watch(v1.0.4)按公司聚合。deadline(v1.0.5)输出截止倒计时 + 紧急状态。price(v1.0.6)输出中位数/均值/区间。export(v1.0.7)输出 CSV(UTF-8 BOM)。subscribe(v1.0.8)输出规则化增量去重推送。
region(v1.0.9)输出区域榜单。bidder(v1.1.0)输出六维投标人画像(资质反推为核心)。agency(v1.1.1)输出采购人画像。pdf(v1.1.2)输出 PDF 结构化提取。qualify(v1.1.3)输出资质四态判定。compare(v1.1.4)输出双源对比表。digest(v1.1.5)输出订阅周报。
💡 管道复用:各命令输出均为 JSON(走 stdout,用
>重定向落盘),可互相衔接——先用award提出中标公司/金额,再把结果的 JSON 喂给case/watch/price/deadline/region做二次分析,已提取字段自动复用、不做二次正则。award/analyze输出天然含deadline字段,deadline/export直接消费。注意各命令的--out用于输出报告(.html出 HTML,其余后缀出 Markdown),不产出 JSON。
工作目录与产物
- analyze(主流程):
--out指定报告路径,扩展名决定格式(报告.html/报告.md);不传--out时结果只输出到 stdout(JSON),供聊天窗口摘要使用。 - award(中标查询):
--out指定中标结果报告(中标结果.html/.md);不传--out时 stdout 输出 JSON。加--fetch自动抓取公告正文提取中标细节。 - case / watch / deadline / price / subscribe / region / bidder / agency / qualify / compare / digest:
--out扩展名决定 HTML / Markdown(subscribe 默认 HTML 推送版);不传--out时 stdout 输出 JSON。 - export:
--out指定 CSV 路径(默认bidinfo-radar-export.csv)。 - pdf:
--input或--pdf-path指定 PDF 路径,stdout 输出提取 JSON;扫描件提示 OCR。 - subscribe 持久化:规则在
~/.bidinfo-radar/subscriptions.json,去重记录在~/.bidinfo-radar/seen.json。 - report(纯表格版):默认输出
bidinfo-radar-report.md;加--html且不传--out时输出bidinfo-radar-report.html(扩展名与内容一致)。 - 建议每个项目建独立工作目录,报告按日期命名
标讯报告-2026-08-31.html。
纪律与合规红线
- 只检索公开信息:政采网/公共资源交易中心/军队采购网公开区/企业招标平台的公开公告。不绕过登录、不破解验证码、不爬取需授权的商业数据。
- 低频访问:手动检索时每个站点检索不超过 3 次/轮;正文抓取只针对命中的公告;自动化任务每个源不超过 2 次/天。
- 原文链接必带:所有报告条目必须保留官方 URL,供用户核验,禁止只给二手转载链接。
- 金额/时间字段为估计值时要标注:公告未明示预算时,报告中标"预算未公布",不臆造数字。
- 禁止将脚本用于任何违反目标网站服务条款的批量抓取;单次会话总量控制在百条以内。
- 定时任务创建走 WorkBuddy 自动化能力,不写死 cron;用户可随时暂停/删除。
- 正文抓取失败要降级:公告页抓取失败(需登录/反爬/超时)时,改用标题+摘要分析并在报告中标注 ⚠️,不得编造正文内容。
- 遵守 robots.txt:抓取公告正文前尊重站点 robots 协议与访问频率限制;站点明确禁止抓取的(返回 403/robots 拒绝)立即放弃并走降级路径。
- 结果仅用于自身投标决策:检索与解析结果仅供企业投标/市场分析使用,不做二次商业转售、不批量导出牟利;引用他人平台内容时保留原文出处。
错误处理与兜底
| 场景 | 兜底方案 |
|---|---|
| WebSearch 全部无结果 | 改用通用检索(去 site: 限制)重试一轮;仍无则回复"近期未检索到相关公告",附可用的备选关键字建议 |
| stdin 传入非法 JSON / 空输入 | clean/filter/analyze 输出明确错误提示退出;Agent 侧先自行校验 JSON 结构再调用 |
| 公告页正文抓取失败 | 自动降级为标题+摘要分析,报告该条目标注 ⚠️「正文抓取失败,基于摘要分析」 |
| 编码无法识别(GBK/UTF-8 均失败) | 返回原文片段 + 标记「编码异常」,不阻塞整批分析 |
| 单条记录缺字段(无 url/budget/deadline) | 自动标准化补默认值,报告标注「未公布」;缺 URL 的标「无直达链接,请按标题官网检索」 |
| 定时任务执行失败 | WorkBuddy 自动化自带失败通知;SKILL 侧建议 prompt 里写「若检索失败,输出错误原因并跳过本次推送」 |