具身智能行业招投标数据查询工具。基于浏览器自动化技术, 批量查询企业在天眼查平台的招投标/中标公示信息,导出结构化 CSV 报表。 支持模糊匹配、交互式查询、批量采集等多种模式。
当用户需要以下场景时触发此技能:
典型用户请求:
如未安装,请访问 https://nodejs.org/ 下载 LTS 版本。
验证安装:
node --version # 应显示 v18 或更高版本
npm --version
⚠️ 必须先关闭所有 Chrome 窗口,然后运行以下命令:
macOS:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--remote-debugging-port=9222 \
--user-data-dir=/tmp/chrome_debug_profile
Windows:
"C:\Program Files\Google\Chrome\Application\chrome.exe" \
--remote-debugging-port=9222 \
--user-data-dir=%TEMP%\chrome_debug_profile
Linux:
google-chrome \
--remote-debugging-port=9222 \
--user-data-dir=/tmp/chrome_debug_profile
Chrome 启动后,访问 https://www.tianyancha.com 并完成登录。
# 进入脚本目录
cd scripts
# 安装依赖
npm install
# 检查环境状态
node cli.js status
# 搜索并确认企业信息
node cli.js search
# 下载招投标记录
node cli.js download --start-date 2026-01-01 --end-date 2026-03-31
# 交互式查询单个企业
node cli.js query "宇树科技"
status - 环境状态检查检查 Node.js、Chrome 连接、npm 依赖等环境状态。
node cli.js status
search - 企业搜索确认从企业名单搜索天眼查信息,补全企业全称和链接。
本地优先匹配: 如果企业在 assets/具身智能中游企业数据库.md 中已有「天眼查企业全称」和「天眼查链接」,则直接使用本地数据,不再访问天眼查搜索。仅对缺少天眼查信息的企业才发起在线搜索。
# 使用默认企业名单
node cli.js search
# 使用自定义名单
node cli.js search --company-file /path/to/custom.md
输出: data/company_list.csv
download - 批量下载招投标记录基于已确认的企业列表,批量下载招投标记录。
# 使用默认参数(本季度)
node cli.js download
# 指定时间范围和金额门槛
node cli.js download \
--start-date 2026-01-01 \
--end-date 2026-03-31 \
--min-amount 100
参数:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--start-date | string | 本季度第一天 | 开始日期 (YYYY-MM-DD) |
--end-date | string | 今天 | 结束日期 (YYYY-MM-DD) |
--min-amount | number | 0 | 最低金额门槛(万元) |
输出: data/bidding_records.csv
query - 交互式单企业查询交互式查询单个企业的招投标记录,支持模糊匹配。
# 交互式输入
node cli.js query
# 直接指定企业名称
node cli.js query "宇树科技"
# 指定查询参数
node cli.js query "宇树科技" --start-date 2026-01-01 --min-amount 50
交互流程:
assets/具身智能中游企业数据库.md)中匹配,命中则直接使用已有的天眼查全称和链接,无需在线搜索| 索引 | 企业名称 | 所属领域 | 产品名称 | 城市 | 天眼查企业全称 | 天眼查链接 |
|------|----------|----------|----------|------|----------------|------------|
| 1 | 宇树科技 | 本体 | Unitree H1 | 杭州 | 宇树科技股份有限公司 | https://... |
路径:data/company_list.csv
| 字段 | 说明 |
|---|---|
| 索引 | 企业编号 |
| 企业简称(MD) | 输入的简称 |
| 企业全称(天眼查) | 天眼查完整名称 |
| 公司ID | 天眼查公司ID |
| 天眼查链接 | 企业详情页 URL |
| 所属领域 | 行业领域 |
| 产品名称 | 主要产品 |
| 城市 | 所在城市 |
| 搜索状态 | 已确认/未找到/失败 |
路径:data/bidding_records.csv
| 字段 | 说明 |
|---|---|
| 企业名称 | 天眼查企业全称 |
| 项目名称 | 招投标项目标题 |
| 公告类型 | 中标公告/招标公告等 |
| 采购人 | 招采单位 |
| 中标金额 | 原始金额文本 |
| 发布日期 | YYYY-MM-DD |
| 天眼查详情页链接 | 项目详情 URL |
| 错误场景 | 错误信息 | 解决方案 |
|---|---|---|
| Chrome 未连接 | 未检测到 Chrome 远程调试服务 | 按前置准备步骤启动 Chrome |
| 需要安全验证 | 天眼查平台安全验证已触发 | 在 Chrome 窗口中手动完成验证码/滑块 |
| 企业未找到 | 未找到企业"XXX"的搜索结果 | 检查企业名称准确性,或尝试简称 |
| npm 依赖缺失 | Cannot find package | 运行 npm install |
| 天眼查信息缺失 | 该企业没有天眼查信息 | 先运行 node cli.js search |
企业搜索完成:共 161 家国内企业
已确认: 161 家
未找到: 0 家
海外跳过: 16 家
招投标记录下载完成
时间范围: 2026-01-01 至 2026-03-31
金额门槛: 无门槛
有记录企业: 28 / 161 家
符合条件记录: 156 条
embodied-bidding-tracker/
├── SKILL.md # 本文件
├── AGENTS.md # AI 助手指南
├── assets/
│ └── 具身智能中游企业数据库.md # 默认企业名单
├── scripts/ # 主代码目录
│ ├── cli.js # 统一 CLI 入口 ⭐
│ ├── config.js # 统一配置管理 ⭐
│ ├── browser.js # 浏览器连接管理
│ ├── modules/
│ │ ├── parseCompanyList.js # 企业名单解析
│ │ ├── companySearch.js # 天眼查企业搜索
│ │ └── biddingDownload.js # 招投标记录下载
│ └── utils/
│ ├── excel.js # CSV 读写
│ ├── logger.js # 日志管理
│ └── retry.js # 重试机制
└── data/ # 运行时输出
├── company_list.csv # 企业搜索确认结果
├── bidding_records.csv # 招投标记录明细
└── step2_progress.json # 断点续传进度
cli.js)config.js)query 命令)