Install
openclaw skills install bidding-assistant自动采集盐南高新区、经开区招投标信息;当用户需要定时采集招标网站、筛选特定区域项目、生成PDF日报/月报、推送报到飞书时使用
openclaw skills install bidding-assistant自动化采集盐南高新区、经开区相关招投标信息,支持:多网站并行采集、智能区域筛选、数据去重存储、PDF日报/月报生成、飞书推送。
触发场景:用户需要监控招标信息、采集特定区域项目、生成招投标日报/推送飞书
按以下顺序排列,PDF所有页面均遵循此顺序:
cd /Users/ycaz/.openclaw/workspace/skills/bidding-assistant
/usr/bin/python3 scripts/run_daily_collection.py --force
cd /Users/ycaz/.openclaw/workspace/skills/bidding-assistant
/usr/bin/python3 -c "
import sys; sys.path.insert(0, 'scripts')
from pdf_generator import PDFGenerator
gen = PDFGenerator()
gen.generate_monthly_report(2026, 5) # 生成指定月份
"
cd /Users/ycaz/.openclaw/workspace/skills/bidding-assistant
/usr/bin/python3 scripts/generate_and_send_monthly_report.py
每个网站独立一页,表格(4列):网站 | 日期 | 项目名称 | 链接
<link href="..."> XML 标签)ReportLab 表格自动换行关键规则:
Paragraph 对象,普通字符串不会触发换行ParagraphStyle 必须设置 wordWrap='CJK'(中文)或 wordWrap='LTR'TableStyle 设为 VALIGN='TOP'(不能用 MIDDLE)ROWHEIGHT,否则换行失效Paragraph + <link href="url" color="blue" underline="yes">text</link>~/.openclaw/workspace/skills/bidding-assistant/招投标数据/history.dbbidding_projects(source_site, publish_date, project_name, detail_url)oc_7cecd47c4c8e7fdb5233f8343df7d59foc_a06e78cf3e4b06479ec27c54af2a5623POST /im/v1/files → 返回 file_keyPOST /im/v1/messages → content: {"file_key": xxx}详细配置见 references/飞书企业自建应用配置指南.md
Job ID:27f7ac6354da
0 7 * * *oc_7cecd47c4c8e7fdb5233f8343df7d59fbidding-assistant/
├── SKILL.md
├── references/
│ ├── 飞书企业自建应用配置指南.md
│ ├── 飞书推送配置说明.md
│ └── PDF报告排版说明.md # 当前PDF排版规范
└── scripts/
├── crawler.py # 采集器基类和所有网站采集器
├── sufu_crawler_final.py # 苏服采采集器(API直连版)
├── pdf_generator.py # PDF日报/月报生成器(核心)
├── feishu_enterprise_app.py # 飞书开放平台API客户端
├── generate_and_send_monthly_report.py # 生成并发送月报
├── generate_monthly_pdfs.py # 月报PDF生成入口
└── run_daily_collection.py # 每日采集任务入口
requests>=2.28.0
beautifulsoup4>=4.11.0
lxml>=4.9.0
reportlab>=4.0.0
openpyxl>=3.1.0
apscheduler>=3.10.0
必须使用 /usr/bin/python3,系统默认 python3 在 macOS 上指向不同路径,reportlab 等库安装在此路径下。