高校教学类投标商市场分析
多源搜索 → 智能筛选 → 公司画像 → 竞争格局 → 结构化报告
快速概览
这个技能完成以下事情:
- 接收
省份 + 方向,自动搜索知了标讯/保标招标/互联网 - 仅保留高校客户,排除非教学类项目
- 对中标公司做工商画像(风鸟)和项目追溯
- 输出竞争格局报告,标注蓝海方向和竞对关系
- 可选输出到飞书多维表格
工作流程
Phase 1: 解析输入 → 识别省份/方向/时间范围
Phase 2: 追问确认 → 方向不明确时主动追问
Phase 3: 多源搜索 → 知了标讯(主力) + 保标招标(补充) + 互联网(兜底)
Phase 4: 数据清洗 → 过滤非高校/非教学类/脏数据
Phase 5: 渐进画像 → 按数据量决定分析深度(V1-V4)
Phase 6: 竞争分析 → 蓝海识别 + 方向热度 + 竞对分组
Phase 7: 生成报告 → Markdown报告 + 可选飞书表格
Phase 1: 解析输入
从用户消息提取三个要素:
| 要素 | 识别方式 | 默认值 |
|------|---------|--------|
| 省份 | 全称/简称映射(见下表) | 必须指定 |
| 方向 | 匹配关键词映射表(见 references/keyword-mapping.md) | 必须指定或追问 |
| 时间范围 | 用户指定年份/月数 | 近1.5年 |
省份简称映射
苏→江苏, 粤→广东, 浙→浙江, 鲁→山东, 川/蜀→四川, 鄂→湖北, 湘→湖南, 豫→河南, 冀→河北, 皖→安徽, 闽→福建, 赣→江西, 陕/秦→陕西, 晋→山西, 辽→辽宁, 吉→吉林, 黑→黑龙江, 黔/贵→贵州, 滇/云→云南, 琼→海南, 甘/陇→甘肃, 青→青海, 桂→广西, 蒙→内蒙古, 藏→西藏, 宁→宁夏, 新→新疆, 渝→重庆, 京→北京, 津→天津, 沪→上海
Phase 2: 追问确认
用户只说省份没提方向时,用下面的选项追问:
{省份}做哪个方向?目前支持:
- 🏫 智慧教室
- 💻 教学平台
- 📖 学习平台
- 📦 资源平台
- 🤖 AI督导
- 📊 教学评价
- 📋 专业建设/认证
- 🎓 AI专业/课程
- 🧠 AI学习平台
- 🤖 教学智能体
- 🏛️ 未来学习中心
可以多选,告诉我即可。
Phase 3: 多源搜索
搜索策略优先级
1. 知了标讯 API(主力,功能最全)
├─ 自动注册拿100次免费额度
├─ 按方向组并行搜索 + 翻页(2-3页)
└─ 配额耗尽 → 降级到方案2
2. 保标招标 API(补充,甲乙双方信息完整)
├─ 需要 BID_API_KEY 环境变量
└─ Key未配 → 跳过
3. 互联网搜索(兜底,无配额限制)
├─ ccgp.gov.cn / 采招网 / 学校采购网
├─ 每个方向搜1-2条关键项目
└─ WebFetch提取中标公司+金额
4. 招标情报采集(本地数据)
└─ 有数据就用,没有跳过
知了标讯 API 调用
首次使用检查顺序:
- 环境变量
$ZLBX_API_KEY→ 直接使用 - 文件
~/.zlbx/config.json→ 读取api_key和remaining_calls - 都没有 → 自动注册
自动注册:
payload = {
"device_features": {
"hostname": socket.gethostname(),
"platform": "darwin",
"arch": platform.machine(),
"username": os.environ.get("USER", ""),
"home_path": os.path.expanduser("~"),
"mac_hash": hashlib.sha256(mac.encode()).hexdigest()
},
"agent_kind": "claude-code",
"agent_version": "2.0",
"skill_version": "tender-search-2.1.2",
"ch": "s01"
}
# POST https://ai.zhiliaobiaoxun.com/web-api/internal/auto-register
# 返回 {"is_new": true, "api_key": "zlbx_xxx", "remaining_calls": 100}
标讯搜索 — 使用 search_bids:
POST https://mcp-server.zhiliaobiaoxun.com/api_v2/search_bids
X-API-Key: {key}
{
"keywords": ["智慧教室", "智慧课堂", "多媒体教室", "录播教室"],
"match_modes": ["title"],
"provinces": ["{省份}"],
"bid_process": [4, 7, 8],
"bid_type": "中标",
"begin_date": "2024-01-01",
"page": 1,
"page_size": 50
}
公司画像 — 使用 get_company_profile:
POST /api_v2/get_company_profile
{"company": "西安环太科技发展有限公司"}
关键字段映射:
caller_name: 采购方(甲方)winner_names: 中标方列表(乙方)money_wan: 中标金额(万元)url: 挂网链接bid_no: 项目编号agency_name: 招标代理机构
搜索执行模式
对11组方向关键词分别执行搜索。使用 Python 脚本批量调用以减少往返:
# 每个方向搜索2-3页,page_size=50
# 关键词组见 references/keyword-mapping.md
# 并行发出所有搜索请求,收集结果后统一处理
配额监控:每次搜索消耗1 unit。100次免费额度可搜索约8个方向 × 3页 = 24次,剩余用于公司画像。超额后自动切换互联网搜索。
保标招标搜索(备用)
POST https://gate.gov-bid.com/outer-gateway/bid/SearchProjectForAI?key={BID_API_KEY}
{
"keyword": "智慧教室",
"areaName": "陕西",
"className": "中标信息",
"startDate": "2024-01-01",
"endDate": "2025-12-31",
"pageId": 1,
"pageNumber": 50
}
互联网搜索(兜底策略)
API配额耗尽时使用,搜索策略:
- WebSearch:
{省份} 大学 {方向关键词} 中标 2025 2026 - WebSearch:
site:ccgp.gov.cn {省份} {大学名} {关键词} 中标公告 - WebFetch: 打开具体公告链接提取中标公司、金额、招标部门
- WebSearch:
"{省份}" "大学" OR "学院" {关键词} 中标 供应商
Phase 4: 数据清洗
4.1 非高校客户过滤
提取所有结果的 caller_name(采购方),只保留包含以下关键词的记录:
| 规则 | 模式 |
|------|------|
| ✅ 保留 | 大学、学院、职业技术学院、职业大学、高等专科 |
| ❌ 排除 | 幼儿园、小学、中学、初中、高中、九年一贯制、完全中学 |
| ❌ 排除 | 教育局、教育考试院、招生办 |
| ❌ 排除 | 公安局、医院、政府、税务局、法院、检察院 |
| ❌ 排除 | 机务段、铁路、航空(军校和航空院校除外) |
| ❌ 排除 | 中学、中专、中等专业学校、职业中专、技工学校 |
| ⚠️ 可疑 | 培训中心、教育中心 → 人工判断是否为高校内设机构 |
4.2 非教学类项目过滤
检查 title 字段,如果包含以下词且没有教学关键词 → 排除:
- 安防、监控、门禁、消防、平安校园
- 机房、数据中心、服务器、存储、网络设备、交换机
- 校园网、无线网络、综合布线、弱电
- 实验室设备、实验仪器、实训设备
- 家具、课桌椅、宿舍、食堂、物业
- 医疗、医院、药品
判断规则:如果标题只含排除词而不含教学关键词 → 排除。如果标题同时含排除词和教学关键词(如"智慧教室+网络建设") → 保留。
4.3 公司去重与聚合
- 提取所有
winner_names,标准化公司名(去括号差异、去地区前缀) - 按公司名聚合:中标次数、总金额、最近项目、主要客户
- 按中标次数排序,取 TOP 30
- 展示去重结果,标注可能有歧义的匹配
Phase 5: 渐进画像
根据数据量和API配额,分四个层级递进:
V1 — 快速概览(最小消耗)
- 输出 TOP 30 排名表(名称+次数+金额+主要客户)
- 消耗:0额外API调用
V2 — 基础画像(配额充足时)
- 对 TOP 10 调用
get_company_profile - 获取:注册资本、成立时间、经营范围、招中标概况
- 消耗:~10次API调用
V3 — 深度画像(配额充足时)
- V2 + 对 TOP 5 做竞对/合作伙伴分析
- 使用
find_competitors+get_company_partners - 消耗:~25次API调用
V4 — 全维画像(终极版,建议用量充足时)
- V3 + 风鸟工商查询 + 互联网项目链接补全
- 风鸟工具链:
biz_fuzzy_search→ 获取 entidbiz_basic_info→ 法人(apiData.personName)、注册资本(regConcat)、成立日期(esDate)、电话(tel) 、邮箱(email)、员工人数、公司简介(entIntro)biz_executives→ 高管姓名+职位biz_shareholders→ 股东信息
- 互联网搜索:每个 TOP 5 公司的重点客户 + 项目名称 → 搜中标公告链接
- 消耗:30+次API调用
风鸟字段映射:
data.apiData.personName → 法定代表人
data.apiData.regConcat → 注册资本
data.apiData.esDate → 成立日期
data.apiData.entStatus → 经营状态
data.apiData.tel → 电话列表
data.apiData.email → 邮箱列表
data.apiData.entIntro → 公司简介
data.apiData.webUrl → 官网
默认策略:配额 ≥ 50时走V3,配额 ≥ 30时走V2,否则走V1。
Phase 6: 竞争分析
6.1 方向热度统计
对11个方向分别统计中标次数:
- 🟢 热门(≥50条):市场成熟,竞争激烈
- 🟡 温和(20-49条):有空间切入
- 🔵 蓝海(1-19条):早期市场,先发优势
- 🟣 空白(0条):完全无人占领
6.2 竞对分组
将中标公司按方向分组,标注:
- 🔥 核心竞对:同一方向中标≥3次且金额≥100万
- ⚠️ 潜在竞对:偶尔出现的新公司
- 👀 观察对象:新注册但已有中标记录的公司(成立<2年)
6.3 蓝海识别
重点标注以下方向在当前省份的空白/蓝海状态:
- AI督导(智能督导/课堂分析)
- AI学习平台(自适应学习/个性化学习)
- 教学智能体平台
- 未来学习中心
- 教学评价系统
6.4 竞对关系产出
对每个方向产出一个竞对矩阵:
教学平台方向:
├─ 🥇 西安超星教育科技 (6次/191万) — 头号竞对
├─ 🥈 北京世纪超星 (3次/112万) — 同体系竞对
└─ 🥉 上海卓越睿新 (3次/307万) — 智慧树品牌
Phase 7: 生成报告
报告模板
# {省份}高校教学类投标商市场分析报告
> 📊 搜索范围: 11个教学方向 | 时间: {begin}-{end} | 数据源: {列出}
> ⚠️ 核心竞对: 超星系(世纪超星+当地超星)| 仅关注高校客户
---
## 一、市场总览
| 指标 | 数值 |
|------|------|
| 中标记录总数 | {N}条 |
| 高校中标方总数 | {M}家 |
| 识别核心竞对 | {K}家 |
| 数据质量等级 | V{VERSION} |
---
## 二、方向热度地图
| 方向 | 中标数 | 热度 | 竞争状态 |
|------|--------|------|---------|
| 智慧教室 | 342 | 🟢 热门 | 成熟竞争 |
| AI督导 | 4 | 🔵 蓝海 | 早期市场 |
| ... | ... | ... | ... |
---
## 三、核心竞对 TOP {N}
| # | 公司 | 城市 | 主攻方向 | 中标/金额 | 核心客户 |
|---|------|------|---------|----------|---------|
---
## 四、重点公司画像(V4含工商信息)
### 1. {公司名} {🔥/⚠️/👀}
| 维度 | 详情 |
|------|------|
| 法人 | {personName} |
| 联系方式 | 📞{tel} ✉️{email} |
| 注册资本 | {regConcat} |
| 成立时间 | {esDate} |
| 企业规模 | {员工数}人 |
| 经营范围 | {截取前150字} |
| 高校战绩 | {次数}次中标/{金额}万元 |
| 核心客户 | {TOP 5 高校} |
| 竞争关系 | {主要竞对} |
| 官网 | {webUrl} |
### 重点项目链接
| 日期 | 项目名称 | 采购方 | 中标金额 | 招标部门 | 链接 |
|------|---------|--------|---------|---------|------|
---
## 五、竞争格局总览
### 方向×竞对矩阵
### 蓝海方向(零竞争/低竞争)
| 方向 | 当前中标数 | 机会等级 | 建议 |
|------|----------|---------|------|
---
## 六、销售策略建议
1. **重点盯防**:{列举竞对及盯防理由}
2. **蓝海抢占**:{列举可先发占领的方向}
3. **新公司信号**:{新成立但活跃的公司}
4. **战略客户**:{近期有采购意向的重点高校}
---
## 数据来源说明
- 知了标讯: {数据量} | 保标招标: {数据量} | 互联网: {数据量}
- 风鸟工商查询: {N}家
- 配额剩余: {remaining}次
- ⚠️ 如有数据源未覆盖,标注原因和替代方案
飞书多维表格输出(可选)
询问用户后,使用 lark-base skill 创建表格:
表格名:{省份}高校教学类投标商情报 - {日期}
字段:
| 列名 | 类型 | |------|------| | 公司名称 | 文本 | | 所在城市 | 单选 | | 主营业务方向 | 多选 | | 法人 | 文本 | | 联系电话 | 文本 | | 注册资本 | 文本 | | 成立时间 | 日期 | | 员工规模 | 文本 | | 中标次数 | 数字 | | 中标总金额(万元) | 数字 | | 核心客户(TOP3) | 文本 | | 竞争关系 | 文本 | | 官网 | 链接 | | 跟进建议 | 文本 | | 数据来源 | 文本 | | 更新时间 | 日期 |
实战经验总结
已知坑位
| 问题 | 根因 | 解决方案 |
|------|------|---------|
| 超星误判为合作伙伴 | 教学平台垄断≠可合作 | 超星=核心竞对,永远不输出"合作建议" |
| 幼儿园/中小学混入 | 买家过滤不严 | Phase 4 的过滤规则必须严格执行 |
| search_bids 返回全行业数据 | 标题匹配泛化 | 用 "大学" + "关键词" 交叉搜索 + bid_type:"中标" |
| TOP供应商排名含非高校买家 | get_top_suppliers 不带买家过滤 | 弃用此工具,改用 search_bids + 手动聚合 |
| 知了标讯配额快速耗尽 | 100次免费/设备 | 按方向量控制翻页数:≤3方向翻3页,>3方向翻2页 |
| 风鸟返回字段为空 | 部分企业数据不完整 | 标注「-」而不报错,互联网补充 |
搜索参数黄金组合
{
"keywords": ["方向关键词1", "方向关键词2"],
"match_modes": ["title"],
"provinces": ["目标省份"],
"bid_process": [4, 7, 8],
"bid_type": "中标",
"begin_date": "2024-01-01",
"page": 1,
"page_size": 50
}
使用
match_modes: ["title"]而非["sm", "title"],避免语义匹配扩大范围。
方向关键词映射
完整映射表见 references/keyword-mapping.md。搜索时使用该文件的11组关键词分别搜索。
典型搜索规模参考
| 省份 | 方向数 | 每向页码 | 总API调用 | 中标记录 | 竞对数 | |------|--------|---------|----------|---------|--------| | 陕西 | 11 | 2-3页 | ~24次 | 227条 | 28家 | | 湖南(手工) | 11 | — | 0 | ~15条 | 9家 |
相关技能
搜索时需加载的依赖技能:
zlbx-bidding— 知了标讯API(主力数据源)sbkj-bidsearch— 保标招标API(备用数据源)fengniao-search— 风鸟工商查询(V4画像用)lark-base— 飞书多维表格输出(可选)
微信扫一扫